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 4 - 5 TB | TB | 0.579 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | CLE 4 - 5 TB | 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.7159; empirical=0.5633; weight=0.4500; final=0.6472 |
| P1 | H2H margin as base feature | available | home net=11; abs=11; home delta=0.0635; away delta=-0.0635 |
| 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.5833; recent edge=-0.5400; blended=- |
| P3 | Continuous calibration audit | trace emitted | Checked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports. |
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 6.9000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5788 |
| 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.058 | 5.326 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 4 | 5 | 0.5788 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| 4 | kpi_layer | 4 | 5 | - | Savant KPI blend computed and withheld; baseline kept |
| 5 | embedded_savant_run_environment | 4 | 5 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 6 | fundamental_edge_target_review | 4 | 5 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 7 | capped_target | 4 | 5 | - | Capped at max 12 realistic runs |
| 8 | simulation_result | 4 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5248218700078311,
"base_low_score_probability": 0.4283476898981989,
"low_score_signal_threshold": 0.5083476898981989,
"low_score_signal_strength": 0.09647418010963221,
"confidence": 0.7126120000000002,
"factors": {
"environmental": 1.0710000000000002,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.2252240000000005
},
"prediction": "low_scoring",
"expected_total_runs": 9,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.9,
"low_score_model_expected_total_runs": 6.9,
"final_simulation_total_runs": 9,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 300,
"near_bucket_sample_size": 300,
"medium_bucket_sample_size": 546,
"wide_bucket_sample_size": 996,
"global_sample_size": 1142,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5633,
"bayesian_hit_rate": 0.5597,
"prior_strength": 18.0,
"raw_pick_probability": 0.6312,
"raw_pick_probability_unclamped": 0.6312,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.6003,
"margin_implied_pick_probability": 0.6003,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.6173,
"score_implied_floor_pick_probability": 0.5967,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.631199,
"uncapped_away_win_probability": 0.368801,
"calibrated_pick_probability": 0.613,
"predicted_side": "home",
"reliability": 0.943396,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.963208
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.715921,
"sample_size": 300,
"empirical_hit_rate": 0.5633,
"empirical_weight": 0.45,
"empirical_max_weight": 0.45,
"empirical_sample_scale": 200.0,
"blended_confidence": 0.647242,
"published_confidence": 0.57879,
"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": 11.0,
"absolute_net_margin": 11.0,
"home_average_margin": 2.2,
"home_run_delta": 0.0635,
"away_run_delta": -0.0635,
"evidence": [
{
"game_id": null,
"home_margin": 1.0
},
{
"game_id": null,
"home_margin": 3.0
},
{
"game_id": null,
"home_margin": 8.0
},
{
"game_id": null,
"home_margin": -2.0
},
{
"game_id": null,
"home_margin": 1.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": "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
},
"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.463,
"win_pct_edge": 0.0802,
"quality_edge": 0.1902,
"season_quality_edge": 0.5833,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": 0.5833,
"recent_quality_edge": -0.54,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": 0.1902
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 5,
"away_runs": 4,
"probability": 0.0185870664530251
},
{
"home_runs": 5,
"away_runs": 3,
"probability": 0.0182298762099079
},
{
"home_runs": 6,
"away_runs": 4,
"probability": 0.017870931508517422
},
{
"home_runs": 4,
"away_runs": 4,
"probability": 0.017704249668861024
},
{
"home_runs": 6,
"away_runs": 3,
"probability": 0.017527503330305942
}
],
"home_distribution": {
"0": 0.040584834197347514,
"1": 0.06057383246866405,
"2": 0.08279599709336063,
"3": 0.10364220443541189,
"4": 0.11881381895353375,
"5": 0.12473843228223629,
"6": 0.11993242642293754,
"7": 0.10560293083546025,
"8": 0.08515660431663519,
"9": 0.06288741041034102,
"10": 0.04253163718873067,
"11": 0.02634289506815975,
"12": 0.014942315975579481,
"13": 0.007762030455518269,
"14": 0.00369262989608368
},
"away_distribution": {
"0": 0.06653612741831465,
"1": 0.09765779475098839,
"2": 0.12694498610281188,
"3": 0.14614482382350716,
"4": 0.14900833779095074,
"5": 0.13455410398659676,
"6": 0.10760750784123055,
"7": 0.0762162268017455,
"8": 0.04780920941376759,
"9": 0.02656041925642761,
"10": 0.013068253079430187,
"11": 0.005694549771525655,
"12": 0.0021976599627032225
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 2.25,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "TB",
"opponent_team": "CLE",
"h2h_net_margin": 12,
"recent_h2h": [
{
"date": "2026-07-26",
"predicted_team_runs": 1,
"opponent_runs": 0,
"margin_for_predicted_team": 1,
"winner": "TB"
},
{
"date": "2026-07-25",
"predicted_team_runs": 3,
"opponent_runs": 0,
"margin_for_predicted_team": 3,
"winner": "TB"
},
{
"date": "2026-07-24",
"predicted_team_runs": 11,
"opponent_runs": 3,
"margin_for_predicted_team": 8,
"winner": "TB"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 1,
"consecutive_same_pick_count": 1,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20260725",
"away": "CLE",
"home": "TB",
"game_number": 1,
"predicted_team": "TB",
"actual_winner": "TB",
"actual_margin": 3,
"raw_pick_probability": 0.53,
"artifact": "20260725_CLE@TB.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "TB",
"guardrail_opponent_team": "CLE",
"output_pre_simulation_winner": "TB",
"output_opponent_team": "CLE",
"simulation_score_winner": "TB",
"final_score_winner": "TB",
"pre_simulation_winner": "TB",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"hard_flip_suppressed": false,
"policy": "recency_uncertainty_shrinkage_v2",
"reasons": [],
"signals": {
"home": {
"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
},
"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": 1.3935,
"final_margin": 1.3935,
"margin_cap": 1.5,
"season_quality_edge": 0.1902,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.647242,
"final_confidence": 0.613,
"calibrated_pick_probability": 0.613,
"shrinkage_weight": 0.963208,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 1.3935,
"calibration_sample_size": 300,
"calibration_empirical_hit_rate": 0.5633,
"calibration_bayesian_hit_rate": 0.5597,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.1902,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 4,
"home_runs": 5
},
"margin": 1,
"probability_before": 0.613,
"margin_implied_home_probability": 0.572388,
"shrinkage_weight": 0.963208,
"side_flipped": false,
"applied": true,
"probability_after": 0.592694,
"aligned_pick_probability": 0.592694
},
"starter_experience": {
"applied": false,
"min_starter_games": 31,
"shrink_factor": 1.0
}
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CLE 4 - 5 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CLE 4 - 5 TB",
"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.0635,
"recent_form_edge_home_minus_away": -0.33,
"winner_direction": "home",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 4,
"home_runs": 5,
"winner": "TB",
"model_winner": "TB",
"simulation_winner": "TB",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 5,
"published_winner": "TB",
"published_winner_draw_share": 0.6,
"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": 5
},
"simulation_score": {
"away_runs": 4,
"home_runs": 5
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.1902,
"winner": "TB",
"score_reviewed": {
"away_runs": 4,
"home_runs": 5,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 4,
"home_runs": 5,
"confidence": 0.5787899000000001,
"home_win_probability": 0.5787899000000001,
"away_win_probability": 0.4212100999999999,
"predicted_score_text": "CLE 4 - 5 TB",
"uncapped_home_win_probability": 0.592694,
"uncapped_away_win_probability": 0.407306,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.592694,
"discount_factor": 0.85,
"published_confidence": 0.57879,
"guardrail_confidence_cap": null,
"guardrail_cap_enforced": false,
"guardrail_soft_ceiling_applied": false,
"confidence_before_ceiling": 0.57879,
"applied_discounts": [
{
"reason": "projected_margin_is_one_run",
"factor": 0.85
}
]
},
"score_probability_reconciliation": {
"policy": "published_probability_follows_published_score_v1",
"incoming_home_win_probability": 0.664546,
"incoming_favoured_side": "home",
"score_winner_side": "home",
"published_home_win_probability": 0.57879,
"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.",
"pre_simulation_target": {
"away_runs": 4,
"home_runs": 5,
"predicted_score_text": "CLE 4 - 5 TB",
"confidence": 0.5787899000000001,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_simulation_realized_target",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CLE 4 - 5 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CLE 4 - 5 TB",
"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.0635,
"recent_form_edge_home_minus_away": -0.33,
"winner_direction": "home",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 4,
"home_runs": 5,
"winner": "TB",
"model_winner": "TB",
"simulation_winner": "TB",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 5,
"published_winner": "TB",
"published_winner_draw_share": 0.6,
"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": 5
},
"simulation_score": {
"away_runs": 4,
"home_runs": 5
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.1902,
"winner": "TB",
"score_reviewed": {
"away_runs": 4,
"home_runs": 5,
"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.0220 | 1.0220 | 1 | 9 | 0 |
| Home TB | True | 0.9961 | 0.9961 | 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 | Patrick Bailey | - | 1.0330 | 0.4406 | positive_batter_regression | 0.3070 | 0.2400 | 0.3980 | 7.70 | 42.40 | 90.50 | 13.40 | 26.80 | 26.70 | 8.10 | 1.0286 |
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
| 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 |
| 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 |
| LF | Chandler Simpson | - | 0.9254 | -0.9949 | negative_batter_regression | 0.2630 | 0.2610 | 0.2970 | 0 | 13.60 | 83.70 | 1.20 | 10.80 | 7.80 | 4.20 | -1.2000 |
| C | Nick Fortes | - | 0.9520 | -0.6402 | neutral | 0.2730 | 0.2390 | 0.3260 | 2.40 | 35.40 | 85.40 | 8.30 | 18.30 | 13.90 | 3.70 | -0.8000 |
| 2B | Jorge Mateo | - | 0.9871 | -0.1721 | neutral | 0.2720 | 0.2210 | 0.3580 | 7.90 | 35 | 87.30 | 14.50 | 32 | 31.20 | 5 | 0.6857 |
| 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 |
{
"home": {
"applied": true,
"offense_factor": 0.9961,
"raw_average_factor": 0.9961,
"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": "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": "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": "LF",
"player_id": "802415",
"player_name": "Chandler Simpson",
"offense_factor": 0.9254,
"quality_score": -0.9949,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "802415",
"espn_rank": null
},
"metrics": {
"pa": 564.0,
"k_percent": 7.8,
"bb_percent": 4.2,
"woba": 0.305,
"xwoba": 0.263,
"xba": 0.261,
"xslg": 0.297,
"sweet_spot_percent": 25.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 13.6,
"exit_velocity_avg": 83.7,
"launch_angle_avg": 1.2,
"whiff_percent": 10.8,
"swing_percent": 48.5
},
"components": {
"expected_quality": -0.9615,
"regression_edge": -1.2,
"xwoba_edge": -1.0286,
"xba_edge": 0.7143,
"xslg_edge": -0.9429,
"barrel_edge": -1.4667,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.88,
"sweet_spot_edge": -1.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "663743",
"player_name": "Nick Fortes",
"offense_factor": 0.952,
"quality_score": -0.6402,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "663743",
"espn_rank": null
},
"metrics": {
"pa": 297.0,
"k_percent": 13.9,
"bb_percent": 3.7,
"woba": 0.301,
"xwoba": 0.273,
"xba": 0.239,
"xslg": 0.326,
"sweet_spot_percent": 25.2,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 35.4,
"exit_velocity_avg": 85.4,
"launch_angle_avg": 8.3,
"whiff_percent": 18.3,
"swing_percent": 51.8
},
"components": {
"expected_quality": -0.6142,
"regression_edge": -0.8,
"xwoba_edge": -0.7429,
"xba_edge": 0.0857,
"xslg_edge": -0.5286,
"barrel_edge": -0.9333,
"hard_hit_edge": -0.3143,
"exit_velocity_edge": -1.2,
"sweet_spot_edge": -1.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "622761",
"player_name": "Jorge Mateo",
"offense_factor": 0.9871,
"quality_score": -0.1721,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "622761",
"espn_rank": null
},
"metrics": {
"pa": 199.0,
"k_percent": 31.2,
"bb_percent": 5.0,
"woba": 0.248,
"xwoba": 0.272,
"xba": 0.221,
"xslg": 0.358,
"sweet_spot_percent": 40.7,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 35.0,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 14.5,
"whiff_percent": 32.0,
"swing_percent": 55.3
},
"components": {
"expected_quality": -0.3329,
"regression_edge": 0.6857,
"xwoba_edge": -0.7714,
"xba_edge": -0.4286,
"xslg_edge": -0.0714,
"barrel_edge": 0.2889,
"hard_hit_edge": -0.3714,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 1.2333,
"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"
},
"away": {
"applied": true,
"offense_factor": 1.022,
"raw_average_factor": 1.022,
"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": "672275",
"player_name": "Patrick Bailey",
"offense_factor": 1.033,
"quality_score": 0.4406,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": false,
"player_id": "672275",
"espn_rank": null
},
"metrics": {
"pa": 306.0,
"k_percent": 26.7,
"bb_percent": 8.1,
"woba": 0.271,
"xwoba": 0.307,
"xba": 0.24,
"xslg": 0.398,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 42.4,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 13.4,
"whiff_percent": 26.8,
"swing_percent": 49.6
},
"components": {
"expected_quality": 0.3449,
"regression_edge": 1.0286,
"xwoba_edge": 0.2286,
"xba_edge": 0.1143,
"xslg_edge": 0.5,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.6857,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.2
}
},
{
"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 | Foster Griffin | True | - | -0.0848 | 1 | 1.0072 | 0.9874 | 0.9400 | 1.0213 | neutral | 0.3200 | 0.3110 | 21.90 | 6.20 | 23.20 | 8.30 | 37 |
| Home 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 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CLE | Foster Griffin | True | None | 78 | 86.02 | 2150 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2153 |
| Home TB | Drew Rasmussen | True | None | 90 | 92.38 | 2355 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1407 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9732 |
| home_runs_vs_away_pitcher | 1.0070 |
| home_pitcher_starter_only_factor | 0.9524 |
| away_pitcher_starter_only_factor | 1.0072 |
| home_pitcher_workload_share | 0.7037 |
| away_pitcher_workload_share | 0.5926 |
| home_pitcher_quality_edge | 0.4441 |
{
"applied": true,
"home_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
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "656492",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 669.0,
"k_percent": 21.9,
"bb_percent": 6.2,
"woba": 0.311,
"xwoba": 0.32,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 37.0,
"avg_best_speed": 75.8086,
"avg_hyper_speed": 93.9193,
"whiff_percent": 23.2,
"swing_percent": 48.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": -0.0919,
"command_and_miss": 0.0371,
"regression_edge": -0.2571,
"xwoba_edge": -0.2286,
"barrel_edge": -0.2444,
"hard_hit_edge": 0.1286,
"whiff_edge": -0.2857,
"bb_edge": 0.75,
"pitch_design_score": -0.2153
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656492",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 78,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 78,
"pitch_usage": 0.0,
"release_speed": 86.01981218316948,
"release_spin_rate": 2149.763694103009,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 78,
"pitch_usage": 0.0,
"release_speed": 86.01981218316948,
"release_spin_rate": 2149.763694103009,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0198,
"release_spin_rate": 2149.7637,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2153,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.5377,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0848,
"sample_weight": 1.0,
"run_prevention_factor": 1.0072,
"strikeout_factor": 0.9874,
"walk_factor": 0.94,
"homer_factor": 1.0213,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "656492",
"espn_rank": null
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9732,
"home_runs_vs_away_pitcher": 1.007,
"home_pitcher_starter_only_factor": 0.9524,
"away_pitcher_starter_only_factor": 1.0072,
"home_pitcher_workload_share": 0.7037,
"away_pitcher_workload_share": 0.5926,
"home_pitcher_quality_edge": 0.4441
},
"score_before": {
"away_runs": 4.0,
"home_runs": 5.0
},
"score_after": {
"away_runs": 3.893,
"home_runs": 5.0351,
"home_win_probability": 0.6051
},
"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 TB | 5-5 | 0.500 | 3.80 | 3.20 | 6 | 1L | average | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CLE | 85-77 | 0.525 | 11 | 0.068 | True |
| Home TB | 98-64 | 0.605 | 86 | 0.531 | True |
| Signal | - | - | 0.463 | 0.190 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-07-26 | CLE @ TB | 0 - 1 | TB | 1 | close |
| 2026-07-25 | CLE @ TB | 0 - 3 | TB | 3 | blowout |
| 2026-07-24 | CLE @ TB | 3 - 11 | TB | 8 | blowout |
| 2026-04-29 | TB @ CLE | 1 - 3 | CLE | 2 | close |
| 2026-04-28 | TB @ CLE | 1 - 0 | TB | 1 | close |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CLE | - | - | 4 | - | - | - | - |
| Game target TB | - | - | 5 | - | - | - | - |
| Player finalized CLE | 39 | 6 | 4 | 1 | 4 | 3 | 8 |
| Player finalized TB | 35 | 6 | 5 | 1 | 5 | 2 | 7 |
| Player model fractional CLE | 32.98 | 6.90 | 4.02 | 0.96 | 4.22 | 2.79 | 7.33 |
| Player model fractional TB | 32.35 | 8.02 | 4.16 | 0.97 | 3.65 | 2.15 | 6.70 |
| Simulation box CLE | 39 | 6 | 4 | 1 | 4 | 3 | 8 |
| Simulation box TB | 35 | 6 | 5 | 1 | 5 | 2 | 7 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away CLE | Starter | Foster Griffin | 4.20 | 4 | 5 | 5 | 2 | 5.29 | 1.57 | True |
| Away CLE | Long Reliever | Joey Cantillo | 4.20 | 0 | 2 | 1 | 0 | 3.07 | 1.24 | True |
| Home TB | Starter | Drew Rasmussen | 6 | 0 | 5 | 3 | 1 | 1.96 | 0.86 | True |
| Home TB | Long Reliever | Ian Seymour | 2 | 1 | 1 | 2 | 1 | 3.77 | 1.02 | True |
| Home TB | Middle Reliever (High Leverage) | Cam Booser | 2 | 1 | 2 | 1 | 1 | 1.93 | 0.81 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | CLE | pitcher | Long Reliever | Joey Cantillo | better | 4 | 1 | 3 | 4 | 0 | predicted_ER | -3.0000 | deboost | better |
| home | TB | pitcher | Long Reliever | Ian Seymour | better | 3 | 1 | 2 | 3 | 0 | predicted_ER | -3.0000 | deboost | better |
| away | CLE | pitcher | Starter | Foster Griffin | worse | 4 | 2 | 2 | 1 | 3 | predicted_ER | 2.0000 | boost | worse |
| home | TB | pitcher | Middle Reliever (High Leverage) | Cam Booser | worse | 5 | 5 | 0 | 2 | 3 | predicted_SO | 2.0000 | boost | better |
| away | CLE | batter | 1B | Nathaniel Lowe | worse | 11 | 4 | 7 | 3 | 8 | predicted_AB | 1.8260 | boost | better |
| home | TB | batter | RF | Ryan Vilade | worse | 12 | 6 | 6 | 5 | 7 | predicted_RBI | 1.4900 | boost | better |
| away | CLE | batter | CF | Steven Kwan | worse | 9 | 2 | 7 | 3 | 6 | predicted_AB | 1.3670 | boost | better |
| home | TB | batter | 2B | Jorge Mateo | better | 11 | 9 | 2 | 8 | 3 | predicted_AB | 1.3460 | boost | better |
| away | CLE | batter | 2B | Travis Bazzana | better | 11 | 7 | 4 | 6 | 5 | predicted_H | 1.2800 | boost | better |
| home | TB | batter | 1B | Jonathan Aranda | worse | 11 | 0 | 11 | 0 | 11 | predicted_H | -1.1300 | deboost | worse |
| away | CLE | batter | LF | Angel Martínez | worse | 12 | 5 | 7 | 4 | 8 | predicted_SO | 1.1080 | boost | worse |
| home | TB | batter | SS | Taylor Walls | better | 10 | 8 | 2 | 7 | 3 | predicted_SO | 1.1080 | boost | worse |
| away | CLE | batter | 3B | José Ramírez | worse | 11 | 3 | 8 | 4 | 7 | predicted_RBI | 1.0500 | boost | better |
| home | TB | pitcher | Starter | Drew Rasmussen | worse | 3 | 2 | 1 | 1 | 2 | predicted_BB | 1.0000 | boost | worse |
| away | CLE | batter | DH | Jo Adell | worse | 12 | 4 | 8 | 3 | 9 | predicted_SO | 0.9880 | boost | worse |
| home | TB | batter | CF | Jonny DeLuca | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | -0.8960 | deboost | worse |
| away | CLE | batter | C | Patrick Bailey | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_SO | -0.8830 | deboost | better |
| home | TB | batter | C | Nick Fortes | worse | 10 | 5 | 5 | 4 | 6 | predicted_BB | 0.8800 | boost | better |
| home | TB | batter | DH | Yandy Díaz | worse | 11 | 4 | 7 | 5 | 6 | predicted_2B | 0.8330 | boost | better |
| home | TB | batter | 3B | Junior Caminero | worse | 10 | 3 | 7 | 4 | 6 | predicted_SO | -0.7930 | deboost | better |
| away | CLE | batter | SS | Brayan Rocchio | worse | 10 | 3 | 7 | 2 | 8 | predicted_H | -0.7100 | deboost | worse |
| home | TB | batter | LF | Chandler Simpson | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 0.6710 | boost | worse |
| away | CLE | batter | RF | Chase DeLauter | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | -0.6400 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Foster Griffin |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0848 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2153 |
| Avg Velo | 86.0198 |
| Avg Spin | 2149.7637 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 4 |
| Pre H | 5 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 3.5932 |
| Season WHIP | 1.2034 |
| Role Avg IP | 5.5700 |
| Recent Avg IP | 4.6670 |
| Last Start IP | 6 |
{
"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.933,
"defense_index": 1.0894,
"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": "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.0129,
"defense_index": 1.1179,
"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.02,
"offense_edge": -0.067,
"opponent_offense_edge": 0.0129,
"defense_strength": 0.0894,
"opponent_defense_weakness": -0.1179,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0014,
"run_prevention": 0.9941,
"strikeout": 0.9984
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656492",
"profile": {
"available": true,
"pitcher_id": "656492",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 669.0,
"k_percent": 21.9,
"bb_percent": 6.2,
"woba": 0.311,
"xwoba": 0.32,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 37.0,
"avg_best_speed": 75.8086,
"avg_hyper_speed": 93.9193,
"whiff_percent": 23.2,
"swing_percent": 48.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": -0.0919,
"command_and_miss": 0.0371,
"regression_edge": -0.2571,
"xwoba_edge": -0.2286,
"barrel_edge": -0.2444,
"hard_hit_edge": 0.1286,
"whiff_edge": -0.2857,
"bb_edge": 0.75,
"pitch_design_score": -0.2153
},
"quality_score": -0.0848,
"sample_weight": 1.0,
"run_prevention_factor": 1.0072,
"strikeout_factor": 0.9874,
"walk_factor": 0.94,
"homer_factor": 1.0213,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "656492",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0072,
"adjusted": 3
},
"predicted_H": {
"original": 7.0,
"factor": 1.0072,
"adjusted": 7
},
"predicted_BB": {
"original": 2.0,
"factor": 0.94,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0213,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9874,
"adjusted": 5
}
}
},
"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.0,
"ER": 26,
"H": 57,
"BB": 15,
"SO": 49,
"HR": 4,
"ERA": 5.086956521739131,
"WHIP": 1.565217391304348,
"K9": 9.58695652173913,
"HR9": 0.782608695652174,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-07T00:00:00"
}{
"available": true,
"pitcher_id": "656492",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 78,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 78,
"pitch_usage": 0.0,
"release_speed": 86.01981218316948,
"release_spin_rate": 2149.763694103009,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 78,
"pitch_usage": 0.0,
"release_speed": 86.01981218316948,
"release_spin_rate": 2149.763694103009,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0198,
"release_spin_rate": 2149.7637,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2153,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.5377,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 32.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8649,
"prior_weight": 0.1351
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656492",
"report_date": "20261012",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 21.0,
"ER": 15.0,
"R": 15.0,
"H": 32.0,
"BB": 6.0,
"SO": 26.0,
"HR": 0.0,
"BF": 102.0,
"Pitches": 373.0
},
"per_game": {
"IP": 4.1,
"ER": 3.0,
"R": 3.0,
"H": 6.4,
"BB": 1.2,
"SO": 5.2,
"HR": 0.0,
"BF": 20.4,
"Pitches": 74.6
},
"rates": {
"ERA": 6.4286,
"WHIP": 1.8095,
"ER_per_IP": 0.71429,
"H_per_IP": 1.52381,
"BB_per_IP": 0.28571,
"SO_per_IP": 1.2381,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 46.0,
"ER": 26.0,
"R": 28.0,
"H": 57.0,
"BB": 15.0,
"SO": 49.0,
"HR": 4.0,
"BF": 208.0,
"Pitches": 832.0
},
"per_game": {
"IP": 4.2,
"ER": 2.6,
"R": 2.8,
"H": 5.7,
"BB": 1.5,
"SO": 4.9,
"HR": 0.4,
"BF": 20.8,
"Pitches": 83.2
},
"rates": {
"ERA": 5.087,
"WHIP": 1.5652,
"ER_per_IP": 0.56522,
"H_per_IP": 1.23913,
"BB_per_IP": 0.32609,
"SO_per_IP": 1.06522,
"HR_per_IP": 0.08696
}
},
"season": {
"games": 32,
"totals": {
"IP": 175.1,
"ER": 70.0,
"R": 77.0,
"H": 166.0,
"BB": 45.0,
"SO": 165.0,
"HR": 23.0,
"BF": 732.0,
"Pitches": 2886.0
},
"per_game": {
"IP": 5.1,
"ER": 2.1875,
"R": 2.4062,
"H": 5.1875,
"BB": 1.4062,
"SO": 5.1562,
"HR": 0.7188,
"BF": 22.875,
"Pitches": 90.1875
},
"rates": {
"ERA": 3.5932,
"WHIP": 1.2034,
"ER_per_IP": 0.39924,
"H_per_IP": 0.94677,
"BB_per_IP": 0.25665,
"SO_per_IP": 0.94106,
"HR_per_IP": 0.13118
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.787,
"predicted_H": 5.999,
"predicted_BB": 1.451,
"predicted_SO": 5.185,
"predicted_HR": 0.327,
"predicted_ERA": 5.2884,
"predicted_WHIP": 1.571
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4071,
"form_weight": 0.5929,
"form_reliability": 0.8649,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 32.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8649,
"prior_weight": 0.1351
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 4.2,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.787,
"final": 2.4666,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 5.999,
"final": 4.7782,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.451,
"final": 2.0816,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 5.185,
"final": 5.1097,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.327,
"final": 0.601,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.2884,
"final": 5.2884,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.571,
"final": 1.571,
"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 | Joey Cantillo |
| Role | Long Reliever |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0884 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2756 |
| Avg Velo | 84.9428 |
| Avg Spin | 2037.9691 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.6411 |
| Season WHIP | 1.4253 |
| Role Avg IP | 4.1670 |
| Recent Avg IP | 4.1670 |
| 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.933,
"defense_index": 1.0894,
"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": "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.0129,
"defense_index": 1.1179,
"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.02,
"offense_edge": -0.067,
"opponent_offense_edge": 0.0129,
"defense_strength": 0.0894,
"opponent_defense_weakness": -0.1179,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0014,
"run_prevention": 0.9941,
"strikeout": 0.9984
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676282",
"profile": {
"available": true,
"pitcher_id": "676282",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 645.0,
"k_percent": 24.9,
"bb_percent": 11.8,
"woba": 0.324,
"xwoba": 0.308,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 39.4,
"avg_best_speed": 76.8927,
"avg_hyper_speed": 93.8736,
"whiff_percent": 29.1,
"swing_percent": 44.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": 0.0018,
"command_and_miss": 0.245,
"regression_edge": 0.4571,
"xwoba_edge": 0.1143,
"barrel_edge": -0.0667,
"hard_hit_edge": -0.2143,
"whiff_edge": 0.5571,
"bb_edge": -0.65,
"pitch_design_score": -0.2756
},
"quality_score": 0.0884,
"sample_weight": 1.0,
"run_prevention_factor": 0.9925,
"strikeout_factor": 1.0383,
"walk_factor": 1.052,
"homer_factor": 1.0105,
"woba_minus_xwoba": 0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "676282",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9925,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9925,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.052,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0105,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0383,
"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": 42.0,
"ER": 14,
"H": 28,
"BB": 27,
"SO": 43,
"HR": 2,
"ERA": 3.0,
"WHIP": 1.3095238095238095,
"K9": 9.214285714285714,
"HR9": 0.42857142857142855,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-07T00:00:00"
}{
"available": true,
"pitcher_id": "676282",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 76,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 84.94276180316159,
"release_spin_rate": 2037.9691151728498,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 84.94276180316159,
"release_spin_rate": 2037.9691151728498,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 84.9428,
"release_spin_rate": 2037.9691,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2756,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9686,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 34.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8718,
"prior_weight": 0.1282
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "676282",
"report_date": "20261012",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 2.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 19.0,
"ER": 5.0,
"R": 5.0,
"H": 9.0,
"BB": 11.0,
"SO": 21.0,
"HR": 1.0,
"BF": 77.0,
"Pitches": 314.0
},
"per_game": {
"IP": 3.2,
"ER": 1.0,
"R": 1.0,
"H": 1.8,
"BB": 2.2,
"SO": 4.2,
"HR": 0.2,
"BF": 15.4,
"Pitches": 62.8
},
"rates": {
"ERA": 2.3684,
"WHIP": 1.0526,
"ER_per_IP": 0.26316,
"H_per_IP": 0.47368,
"BB_per_IP": 0.57895,
"SO_per_IP": 1.10526,
"HR_per_IP": 0.05263
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 42.0,
"ER": 14.0,
"R": 20.0,
"H": 28.0,
"BB": 27.0,
"SO": 43.0,
"HR": 2.0,
"BF": 178.0,
"Pitches": 715.0
},
"per_game": {
"IP": 4.1,
"ER": 1.4,
"R": 2.0,
"H": 2.8,
"BB": 2.7,
"SO": 4.3,
"HR": 0.2,
"BF": 17.8,
"Pitches": 71.5
},
"rates": {
"ERA": 3.0,
"WHIP": 1.3095,
"ER_per_IP": 0.33333,
"H_per_IP": 0.66667,
"BB_per_IP": 0.64286,
"SO_per_IP": 1.02381,
"HR_per_IP": 0.04762
}
},
"season": {
"games": 34,
"totals": {
"IP": 160.2,
"ER": 65.0,
"R": 80.0,
"H": 146.0,
"BB": 83.0,
"SO": 172.0,
"HR": 17.0,
"BF": 694.0,
"Pitches": 2773.0
},
"per_game": {
"IP": 4.2,
"ER": 1.9118,
"R": 2.3529,
"H": 4.2941,
"BB": 2.4412,
"SO": 5.0588,
"HR": 0.5,
"BF": 20.4118,
"Pitches": 81.5588
},
"rates": {
"ERA": 3.6411,
"WHIP": 1.4253,
"ER_per_IP": 0.40456,
"H_per_IP": 0.90871,
"BB_per_IP": 0.5166,
"SO_per_IP": 1.07054,
"HR_per_IP": 0.10581
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 1.308,
"predicted_H": 2.582,
"predicted_BB": 2.154,
"predicted_SO": 4.031,
"predicted_HR": 0.278,
"predicted_ERA": 3.0723,
"predicted_WHIP": 1.2363
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4042,
"form_weight": 0.5958,
"form_reliability": 0.8718,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 34.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8718,
"prior_weight": 0.1282
},
"applied_metrics": {
"predicted_IP": {
"model": 2.0,
"form": 3.2,
"final": 3.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.308,
"final": 1.9918,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 2.582,
"final": 2.7509,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 2.154,
"final": 1.2834,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 4.031,
"final": 3.2101,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.278,
"final": 0.5698,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0723,
"final": 3.0723,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2363,
"final": 1.2363,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.140 | 0.000 | 0.000 | Hitting_2B | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.633 | 5.000 | 5.000 | Hitting_AB | 3.723 | 3.000 | 1.277 | 2.000 |
| predicted_AVG | 0.281 | 0.000 | 0.000 | Hitting_AVG | 0.284 | 0.333 | -0.284 | -0.333 |
| predicted_BB | 0.573 | 0.000 | 0.000 | Hitting_BB | 0.592 | 1.000 | -0.592 | -1.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.379 | 0.000 | 0.000 | Hitting_OBP | 0.384 | 0.500 | -0.384 | -0.500 |
| predicted_R | 0.553 | 1.000 | 1.000 | Hitting_R | 0.609 | 1.000 | 0.391 | 0.000 |
| predicted_RBI | 0.220 | 0.000 | 0.000 | Hitting_RBI | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_SLG | 0.347 | 0.000 | 0.000 | Hitting_SLG | 0.351 | 0.333 | -0.351 | -0.333 |
| predicted_SO | 0.393 | 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 | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.6330 -> 5.0000 (boost 1.3670, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3470 -> 0.3349 (deboost -0.0121, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | 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.6108 -> 1.0000 (boost 0.3892, better) | predicted_SO: 0.4043 -> 0.0000 (deboost -0.4043, better) | AB rounded to 4 (raw=3.66), rates preserved: AVG=0.248 HR/AB=0.005 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5937 -> 1.0000 (boost 0.4063, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_SO: 0.0000 -> 0.4315 (boost 0.4315, worse) | predicted_BB: 1.0000 -> 0.4060 (deboost -0.5940, 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_2B: 0.1980 -> 1.0000 (boost 0.8020, better) | predicted_SO: 0.4315 -> 0.0000 (deboost -0.4315, 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 | 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 | 1 | 3 | 1 | 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 |
| 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_AVG: 0.2410 -> 0.2480 (boost 0.0070, 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.14,
"predicted_3B": 0.02,
"predicted_AB": 3.633,
"predicted_AVG": 0.281,
"predicted_BB": 0.573,
"predicted_H": 1.02,
"predicted_HR": 0.02,
"predicted_OBP": 0.379,
"predicted_R": 0.553,
"predicted_RBI": 0.22,
"predicted_SLG": 0.347,
"predicted_SO": 0.393
},
"changed_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.1177,
"predicted_3B": 0.0248,
"predicted_AB": 3.6557,
"predicted_AVG": 0.2735,
"predicted_BB": 0.6128,
"predicted_H": 0.999,
"predicted_HBP": 0.013,
"predicted_HR": 0.0187,
"predicted_OBP": 0.378,
"predicted_R": 0.6006,
"predicted_RBI": 0.2217,
"predicted_SLG": 0.3349,
"predicted_SO": 0.403
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.2735,
"delta": -0.0075,
"percent_delta": -0.0267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3349,
"delta": -0.0121,
"percent_delta": -0.0349,
"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.347,
"after": 0.3349,
"delta": -0.0121,
"percent_delta": -0.0349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1177,
"predicted_3B": 0.0248,
"predicted_AB": 3.6557,
"predicted_AVG": 0.2711,
"predicted_BB": 0.6108,
"predicted_H": 0.9911,
"predicted_HBP": 0.013,
"predicted_HR": 0.0183,
"predicted_OBP": 0.3755,
"predicted_R": 0.5937,
"predicted_RBI": 0.2192,
"predicted_SLG": 0.3319,
"predicted_SO": 0.4043
},
"changed_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.66), rates preserved: AVG=0.248 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.1177,
"after": 0.0,
"delta": -0.1177,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.6557,
"after": 4.0,
"delta": 0.3443,
"percent_delta": 0.0942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6108,
"after": 1.0,
"delta": 0.3892,
"percent_delta": 0.6372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2192,
"after": 0.0,
"delta": -0.2192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4043,
"after": 0.0,
"delta": -0.4043,
"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.6108,
"after": 1.0,
"delta": 0.3892,
"percent_delta": 0.6372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4043,
"after": 0.0,
"delta": -0.4043,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"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": 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.5937,
"after": 1.0,
"delta": 0.4063,
"percent_delta": 0.6844,
"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.5937,
"after": 1.0,
"delta": 0.4063,
"percent_delta": 0.6844,
"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.198,
"predicted_3B": 0.0136,
"predicted_BB": 0.406,
"predicted_H": 0.9289,
"predicted_HR": 0.0516,
"predicted_RBI": 0.2838,
"predicted_SO": 0.4315
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.198,
"delta": 0.198,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.406,
"delta": -0.594,
"percent_delta": -0.594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9289,
"delta": -0.0711,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0516,
"delta": 0.0516,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.2838,
"delta": 0.2838,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.4315,
"delta": 0.4315,
"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.4315,
"delta": 0.4315,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.406,
"delta": -0.594,
"percent_delta": -0.594,
"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.241,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.319,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.339,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 1.0,
"delta": 0.802,
"percent_delta": 4.0505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2711,
"after": 0.241,
"delta": -0.0301,
"percent_delta": -0.111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.406,
"after": 1.0,
"delta": 0.594,
"percent_delta": 1.4631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9289,
"after": 1.0,
"delta": 0.0711,
"percent_delta": 0.0765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0516,
"after": 0.0,
"delta": -0.0516,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3755,
"after": 0.319,
"delta": -0.0565,
"percent_delta": -0.1505,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2838,
"after": 0.0,
"delta": -0.2838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3319,
"after": 0.339,
"delta": 0.0071,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4315,
"after": 0.0,
"delta": -0.4315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.198,
"after": 1.0,
"delta": 0.802,
"percent_delta": 4.0505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4315,
"after": 0.0,
"delta": -0.4315,
"percent_delta": -1.0,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.241,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.319,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.339,
"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": 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": 5.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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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
}
],
"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_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": 5.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": 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": 5.0,
"predicted_AVG": 0.248,
"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.319,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.346,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.248,
"delta": 0.007,
"percent_delta": 0.029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.346,
"delta": 0.007,
"percent_delta": 0.0206,
"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.241,
"after": 0.248,
"delta": 0.007,
"percent_delta": 0.029,
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.633,
"after": 5.0,
"delta": 1.367,
"percent_delta": 0.3763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.248,
"delta": -0.033,
"percent_delta": -0.1174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.573,
"after": 0.0,
"delta": -0.573,
"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.379,
"after": 0.319,
"delta": -0.06,
"percent_delta": -0.1583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.553,
"after": 1.0,
"delta": 0.447,
"percent_delta": 0.8083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.393,
"after": 0.0,
"delta": -0.393,
"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_AB",
"before": 3.633,
"after": 5.0,
"delta": 1.367,
"percent_delta": 0.3763,
"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.140 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 3.633 | - |
| predicted_AVG | 0.281 | - |
| predicted_BB | 0.573 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.379 | - |
| predicted_R | 0.553 | - |
| predicted_RBI | 0.220 | - |
| predicted_SLG | 0.347 | - |
| predicted_SO | 0.393 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | -0.022 |
| predicted_3B | 0.025 | 0.005 |
| predicted_AB | 3.656 | 0.023 |
| predicted_AVG | 0.274 | -0.008 |
| predicted_BB | 0.613 | 0.040 |
| predicted_H | 0.999 | -0.021 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.019 | -0.001 |
| predicted_OBP | 0.378 | -0.001 |
| predicted_R | 0.601 | 0.048 |
| predicted_RBI | 0.222 | 0.002 |
| predicted_SLG | 0.335 | -0.012 |
| predicted_SO | 0.403 | 0.010 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 3.656 | 0.000 |
| predicted_AVG | 0.271 | -0.002 |
| predicted_BB | 0.611 | -0.002 |
| predicted_H | 0.991 | -0.008 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.018 | -0.000 |
| predicted_OBP | 0.376 | -0.003 |
| predicted_R | 0.594 | -0.007 |
| predicted_RBI | 0.219 | -0.003 |
| predicted_SLG | 0.332 | -0.003 |
| predicted_SO | 0.404 | 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.66), rates preserved: AVG=0.248 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 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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.198 | 0.198 |
| 3B | 0.014 | 0.014 |
| BB | 0.406 | -0.594 |
| H | 0.929 | -0.071 |
| HR | 0.052 | 0.052 |
| RBI | 0.284 | 0.284 |
| SO | 0.431 | 0.431 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.802 |
| 3B | 0.000 | -0.014 |
| AB | 4.000 | 0.000 |
| AVG | 0.241 | - |
| BB | 1.000 | 0.594 |
| H | 1.000 | 0.071 |
| HR | 0.000 | -0.052 |
| OBP | 0.319 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.284 |
| SLG | 0.339 | - |
| SO | 0.000 | -0.431 |
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.882 |
| predicted_3B | 0.000 | -0.025 |
| predicted_AB | 4.000 | 0.344 |
| predicted_AVG | 0.241 | -0.030 |
| predicted_BB | 1.000 | 0.389 |
| predicted_H | 1.000 | 0.009 |
| predicted_HR | 0.000 | -0.018 |
| predicted_OBP | 0.319 | -0.056 |
| predicted_R | 1.000 | 0.406 |
| predicted_RBI | 0.000 | -0.219 |
| predicted_SLG | 0.339 | 0.007 |
| predicted_SO | 0.000 | -0.404 |
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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| 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 | 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 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 4.000 | 2.000 | 0.2105 | 0.3478 | 0.2105 | 0.2105 | 0.0000 | 0.0526 | 0.2105 | 0.1053 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 0.000 | 1.000 | 0.000 | 2.000 | 7.000 | 9.000 | 4.000 | 0.2703 | 0.4130 | 0.3243 | 0.2703 | 0.0000 | 0.0541 | 0.2432 | 0.1081 |
| season | 0.60 | 150 | - | 545.000 | 153.000 | 21.000 | 3.000 | 3.000 | 33.000 | 83.000 | 86.000 | 59.000 | 0.2807 | 0.3799 | 0.3468 | 0.2807 | 0.0055 | 0.0605 | 0.1578 | 0.1083 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0890 |
| predicted_3B | 0.0310 |
| predicted_AB | 3.6850 |
| predicted_AVG | 0.2638 |
| predicted_BB | 0.6640 |
| predicted_H | 0.9720 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0170 |
| predicted_OBP | 0.3767 |
| predicted_R | 0.6620 |
| predicted_RBI | 0.2240 |
| predicted_SLG | 0.3192 |
| predicted_SO | 0.4160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1400 | 0.0890 | 0.1177 | model_form_blend |
| predicted_3B | 0.0200 | 0.0310 | 0.0248 | model_form_blend |
| predicted_AB | 3.6330 | 3.6850 | 3.6557 | model_form_blend |
| predicted_AVG | 0.2810 | 0.2638 | 0.2735 | model_form_blend |
| predicted_BB | 0.5730 | 0.6640 | 0.6128 | model_form_blend |
| predicted_H | 1.0200 | 0.9720 | 0.9990 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0200 | 0.0170 | 0.0187 | model_form_blend |
| predicted_OBP | 0.3790 | 0.3767 | 0.3780 | model_form_blend |
| predicted_R | 0.5530 | 0.6620 | 0.6006 | model_form_blend |
| predicted_RBI | 0.2200 | 0.2240 | 0.2217 | model_form_blend |
| predicted_SLG | 0.3470 | 0.3192 | 0.3349 | model_form_blend |
| predicted_SO | 0.3930 | 0.4160 | 0.4030 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 611 |
| Season rows before report date | 611 |
| 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 | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | LF |
| gameID | 20261010_CHW@CLE |
| game_type | full |
| mlbID | 680757 |
| playerID | 680757 |
| playerName | Steven Kwan |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-10 |
| 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.222 | 1.000 | 1.000 | Hitting_2B | 0.239 | 0.000 | 0.761 | 1.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.002 | 0.000 | -0.002 | 0.000 |
| predicted_AB | 4.370 | 5.000 | 5.000 | Hitting_AB | 3.829 | 3.000 | 1.171 | 2.000 |
| predicted_AVG | 0.240 | 0.200 | 0.200 | Hitting_AVG | 0.235 | 0.333 | -0.035 | -0.133 |
| predicted_BB | 0.500 | 0.000 | 0.000 | Hitting_BB | 0.518 | 1.000 | -0.518 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 1.050 | 1.000 | 1.000 | Hitting_H | 0.901 | 1.000 | 0.099 | 0.000 |
| predicted_HR | 0.240 | 0.000 | 0.000 | Hitting_HR | 0.103 | 1.000 | -0.103 | -1.000 |
| predicted_OBP | 0.342 | 0.200 | 0.200 | Hitting_OBP | 0.327 | 0.500 | -0.127 | -0.300 |
| predicted_R | 0.595 | 0.000 | 0.000 | Hitting_R | 0.588 | 1.000 | -0.588 | -1.000 |
| predicted_RBI | 0.950 | 2.000 | 2.000 | Hitting_RBI | 0.477 | 2.000 | 1.523 | 0.000 |
| predicted_SLG | 0.514 | 0.400 | 0.400 | Hitting_SLG | 0.380 | 1.333 | 0.020 | -0.933 |
| predicted_SO | 0.571 | 0.000 | 0.000 | Hitting_SO | 0.570 | 1.000 | -0.570 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_RBI: 0.9500 -> 2.0000 (boost 1.0500, better) |
| Biggest Deboost | predicted_R: 0.5950 -> 0.0000 (deboost -0.5950, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_R: 0.5950 -> 0.6698 (boost 0.0748, better) | predicted_AB: 4.3700 -> 4.1143 (deboost -0.2557, worse) | Final model input calibrated with local 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.4974 -> 0.4609 (deboost -0.0365, 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.6017 -> 1.0000 (boost 0.3983, worse) | predicted_BB: 0.5270 -> 0.0000 (deboost -0.5270, worse) | AB rounded to 4 (raw=4.37), rates preserved: AVG=0.206 HR/AB=0.049 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6621 -> 1.0000 (boost 0.3379, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 0.3601 (boost 0.3601, better) | predicted_RBI: 1.0000 -> 0.4651 (deboost -0.5349, 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 | 2 | 7 | predicted_BB: 0.3601 -> 1.0000 (boost 0.6399, better) | predicted_RBI: 0.4651 -> 0.0000 (deboost -0.4651, 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 | - | - | Market blend not applied: no props for this hitter |
| 13 | play_by_play_realization | 6 | 3 | 3 | 4 | 2 | predicted_RBI: 0.0000 -> 2.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 |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | 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.222,
"predicted_3B": 0.008,
"predicted_AB": 4.37,
"predicted_AVG": 0.24,
"predicted_BB": 0.5,
"predicted_H": 1.05,
"predicted_HR": 0.24,
"predicted_OBP": 0.342,
"predicted_R": 0.595,
"predicted_RBI": 0.95,
"predicted_SLG": 0.514,
"predicted_SO": 0.571
},
"changed_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.2094,
"predicted_3B": 0.0324,
"predicted_AB": 4.1143,
"predicted_AVG": 0.2415,
"predicted_BB": 0.5287,
"predicted_H": 0.9939,
"predicted_HBP": 0.015,
"predicted_HR": 0.2165,
"predicted_OBP": 0.341,
"predicted_R": 0.6698,
"predicted_RBI": 0.8582,
"predicted_SLG": 0.4974,
"predicted_SO": 0.5997
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.37,
"after": 4.1143,
"delta": -0.2557,
"percent_delta": -0.0585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.9939,
"delta": -0.0561,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.6698,
"delta": 0.0748,
"percent_delta": 0.1257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.95,
"after": 0.8582,
"delta": -0.0918,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.514,
"after": 0.4974,
"delta": -0.0166,
"percent_delta": -0.0323,
"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_R",
"before": 0.595,
"after": 0.6698,
"delta": 0.0748,
"percent_delta": 0.1257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.37,
"after": 4.1143,
"delta": -0.2557,
"percent_delta": -0.0585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 126
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2094,
"predicted_3B": 0.0324,
"predicted_AB": 4.1143,
"predicted_AVG": 0.2397,
"predicted_BB": 0.527,
"predicted_H": 0.986,
"predicted_HBP": 0.015,
"predicted_HR": 0.212,
"predicted_OBP": 0.326,
"predicted_R": 0.6621,
"predicted_RBI": 0.8483,
"predicted_SLG": 0.4609,
"predicted_SO": 0.6017
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.326,
"delta": -0.015,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4974,
"after": 0.4609,
"delta": -0.0365,
"percent_delta": -0.0734,
"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.4974,
"after": 0.4609,
"delta": -0.0365,
"percent_delta": -0.0734,
"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.37), rates preserved: AVG=0.206 HR/AB=0.049",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2094,
"after": 0.0,
"delta": -0.2094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.1143,
"after": 4.0,
"delta": -0.1143,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.527,
"after": 0.0,
"delta": -0.527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8483,
"after": 1.0,
"delta": 0.1517,
"percent_delta": 0.1788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6017,
"after": 1.0,
"delta": 0.3983,
"percent_delta": 0.662,
"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.6017,
"after": 1.0,
"delta": 0.3983,
"percent_delta": 0.662,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.527,
"after": 0.0,
"delta": -0.527,
"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.083)",
"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": 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.6621,
"after": 1.0,
"delta": 0.3379,
"percent_delta": 0.5103,
"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.6621,
"after": 1.0,
"delta": 0.3379,
"percent_delta": 0.5103,
"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.1949,
"predicted_3B": 0.0103,
"predicted_BB": 0.3601,
"predicted_H": 0.8301,
"predicted_HR": 0.1193,
"predicted_RBI": 0.4651,
"predicted_SO": 0.6798
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1949,
"delta": 0.1949,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3601,
"delta": 0.3601,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8301,
"delta": -0.1699,
"percent_delta": -0.1699,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1193,
"delta": 0.1193,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4651,
"delta": -0.5349,
"percent_delta": -0.5349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.6798,
"delta": -0.3202,
"percent_delta": -0.3202,
"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.3601,
"delta": 0.3601,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4651,
"delta": -0.5349,
"percent_delta": -0.5349,
"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.208,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.28,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.352,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1949,
"after": 0.0,
"delta": -0.1949,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2397,
"after": 0.208,
"delta": -0.0317,
"percent_delta": -0.1322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3601,
"after": 1.0,
"delta": 0.6399,
"percent_delta": 1.777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8301,
"after": 1.0,
"delta": 0.1699,
"percent_delta": 0.2047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1193,
"after": 0.0,
"delta": -0.1193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.28,
"delta": -0.046,
"percent_delta": -0.1411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4651,
"after": 0.0,
"delta": -0.4651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4609,
"after": 0.352,
"delta": -0.1089,
"percent_delta": -0.2363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6798,
"after": 1.0,
"delta": 0.3202,
"percent_delta": 0.471,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.3601,
"after": 1.0,
"delta": 0.6399,
"percent_delta": 1.777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4651,
"after": 0.0,
"delta": -0.4651,
"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.208,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.28,
"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": 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": "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": 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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 2.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_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_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": 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": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.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": 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.208,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.28,
"predicted_R": 0.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.352,
"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.222,
"after": 1.0,
"delta": 0.778,
"percent_delta": 3.5045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.37,
"after": 5.0,
"delta": 0.63,
"percent_delta": 0.1442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.208,
"delta": -0.032,
"percent_delta": -0.1333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0,
"delta": -0.05,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.28,
"delta": -0.062,
"percent_delta": -0.1813,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.0,
"delta": -0.595,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.95,
"after": 2.0,
"delta": 1.05,
"percent_delta": 1.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.514,
"after": 0.352,
"delta": -0.162,
"percent_delta": -0.3152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.571,
"after": 0.0,
"delta": -0.571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.95,
"after": 2.0,
"delta": 1.05,
"percent_delta": 1.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.595,
"after": 0.0,
"delta": -0.595,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 4.370 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.595 | - |
| predicted_RBI | 0.950 | - |
| predicted_SLG | 0.514 | - |
| predicted_SO | 0.571 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.209 | -0.013 |
| predicted_3B | 0.032 | 0.024 |
| predicted_AB | 4.114 | -0.256 |
| predicted_AVG | 0.241 | 0.002 |
| predicted_BB | 0.529 | 0.029 |
| predicted_H | 0.994 | -0.056 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.216 | -0.023 |
| predicted_OBP | 0.341 | -0.001 |
| predicted_R | 0.670 | 0.075 |
| predicted_RBI | 0.858 | -0.092 |
| predicted_SLG | 0.497 | -0.017 |
| predicted_SO | 0.600 | 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.209 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 4.114 | 0.000 |
| predicted_AVG | 0.240 | -0.002 |
| predicted_BB | 0.527 | -0.002 |
| predicted_H | 0.986 | -0.008 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.212 | -0.005 |
| predicted_OBP | 0.326 | -0.015 |
| predicted_R | 0.662 | -0.008 |
| predicted_RBI | 0.848 | -0.010 |
| predicted_SLG | 0.461 | -0.037 |
| predicted_SO | 0.602 | 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.37), rates preserved: AVG=0.206 HR/AB=0.049
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)
| Metric | Value | 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.195 | 0.195 |
| 3B | 0.010 | 0.010 |
| BB | 0.360 | 0.360 |
| H | 0.830 | -0.170 |
| HR | 0.119 | 0.119 |
| RBI | 0.465 | -0.535 |
| SO | 0.680 | -0.320 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.195 |
| 3B | 0.000 | -0.010 |
| AB | 4.000 | 0.000 |
| AVG | 0.208 | - |
| BB | 1.000 | 0.640 |
| H | 1.000 | 0.170 |
| HR | 0.000 | -0.119 |
| OBP | 0.280 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.465 |
| SLG | 0.352 | - |
| SO | 1.000 | 0.320 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.209 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 4.000 | -0.114 |
| predicted_AVG | 0.208 | -0.032 |
| predicted_BB | 1.000 | 0.473 |
| predicted_H | 1.000 | 0.014 |
| predicted_HR | 0.000 | -0.212 |
| predicted_OBP | 0.280 | -0.046 |
| predicted_R | 1.000 | 0.338 |
| predicted_RBI | 0.000 | -0.848 |
| predicted_SLG | 0.352 | -0.109 |
| predicted_SO | 1.000 | 0.398 |
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 | 1.000 | 1.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 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 2.000 | 2.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 | 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 | 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 | - | 18.000 | 5.000 | 1.000 | 1.000 | 2.000 | 7.000 | 6.000 | 4.000 | 4.000 | 0.2778 | 0.4091 | 0.7778 | 0.2778 | 0.1111 | 0.3889 | 0.2222 | 0.2222 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 1.000 | 1.000 | 2.000 | 9.000 | 9.000 | 6.000 | 6.000 | 0.2308 | 0.3261 | 0.4615 | 0.2308 | 0.0513 | 0.2308 | 0.1538 | 0.1538 |
| season | 0.60 | 126 | - | 479.000 | 113.000 | 28.000 | 1.000 | 14.000 | 60.000 | 75.000 | 63.000 | 72.000 | 0.2359 | 0.3243 | 0.3862 | 0.2359 | 0.0292 | 0.1253 | 0.1315 | 0.1503 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1930 |
| predicted_3B | 0.0640 |
| predicted_AB | 3.7820 |
| predicted_AVG | 0.2435 |
| predicted_BB | 0.5660 |
| predicted_H | 0.9210 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.1860 |
| predicted_OBP | 0.3398 |
| predicted_R | 0.7670 |
| predicted_RBI | 0.7390 |
| predicted_SLG | 0.4758 |
| predicted_SO | 0.6370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.1930 | 0.2094 | model_form_blend |
| predicted_3B | 0.0080 | 0.0640 | 0.0324 | model_form_blend |
| predicted_AB | 4.3700 | 3.7820 | 4.1143 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2435 | 0.2415 | model_form_blend |
| predicted_BB | 0.5000 | 0.5660 | 0.5287 | model_form_blend |
| predicted_H | 1.0500 | 0.9210 | 0.9939 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.2400 | 0.1860 | 0.2165 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3398 | 0.3410 | model_form_blend |
| predicted_R | 0.5950 | 0.7670 | 0.6698 | model_form_blend |
| predicted_RBI | 0.9500 | 0.7390 | 0.8582 | model_form_blend |
| predicted_SLG | 0.5140 | 0.4758 | 0.4974 | model_form_blend |
| predicted_SO | 0.5710 | 0.6370 | 0.5997 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 514 |
| Season rows before report date | 514 |
| Report year | 2026 |
| Profile rows used | 126 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 2 |
| 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.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 1 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20261010_CHW@CLE |
| game_type | full |
| mlbID | 608070 |
| playerID | 608070 |
| playerName | José Ramírez |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-10 |
| 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.211 | 0.000 | 0.000 | Hitting_2B | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 4.640 | 4.000 | 4.000 | Hitting_AB | 3.930 | 4.000 | 0.070 | 0.000 |
| predicted_AVG | 0.244 | 0.250 | 0.250 | Hitting_AVG | 0.281 | 0.250 | -0.031 | 0.000 |
| predicted_BB | 0.444 | 1.000 | 1.000 | Hitting_BB | 0.464 | 0.000 | 0.536 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 1.130 | 1.000 | 1.000 | Hitting_H | 1.105 | 1.000 | -0.105 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.331 | 0.400 | 0.400 | Hitting_OBP | 0.356 | 0.250 | 0.044 | 0.150 |
| predicted_R | 0.459 | 0.000 | 0.000 | Hitting_R | 0.498 | 0.000 | -0.498 | 0.000 |
| predicted_RBI | 0.560 | 0.000 | 0.000 | Hitting_RBI | 0.562 | 0.000 | -0.562 | 0.000 |
| predicted_SLG | 0.374 | 0.250 | 0.250 | Hitting_SLG | 0.448 | 0.250 | -0.198 | 0.000 |
| predicted_SO | 0.609 | 1.000 | 1.000 | Hitting_SO | 0.643 | 0.000 | 0.357 | 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.4440 -> 1.0000 (boost 0.5560, better) |
| Biggest Deboost | predicted_AB: 4.6400 -> 4.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 | 5 | 3 | 2 | 4 | 1 | predicted_AVG: 0.2440 -> 0.2531 (boost 0.0091, better) | predicted_AB: 4.6400 -> 4.3010 (deboost -0.3390, worse) | Final model input calibrated with local 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.3361 -> 0.3195 (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.5590 -> 1.0000 (boost 0.4410, worse) | predicted_RBI: 0.5144 -> 0.0000 (deboost -0.5144, worse) | AB rounded to 4 (raw=4.64), rates preserved: AVG=0.212 HR/AB=0.024 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4533 -> 0.0000 (deboost -0.4533, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4879 (boost 0.4879, better) | predicted_SO: 1.0000 -> 0.6722 (deboost -0.3278, 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 | 6 | 4 | 5 | 5 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 0.3207 -> 0.0000 (deboost -0.3207, 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 | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.0000 -> 1.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 | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4050 -> 0.3950 (deboost -0.0100, worse) | 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.211,
"predicted_3B": 0.023,
"predicted_AB": 4.64,
"predicted_AVG": 0.244,
"predicted_BB": 0.444,
"predicted_H": 1.13,
"predicted_HR": 0.13,
"predicted_OBP": 0.331,
"predicted_R": 0.459,
"predicted_RBI": 0.56,
"predicted_SLG": 0.374,
"predicted_SO": 0.609
},
"changed_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.1923,
"predicted_3B": 0.0191,
"predicted_AB": 4.301,
"predicted_AVG": 0.2531,
"predicted_BB": 0.441,
"predicted_H": 1.0834,
"predicted_HBP": 0.024,
"predicted_HR": 0.1148,
"predicted_OBP": 0.3361,
"predicted_R": 0.4586,
"predicted_RBI": 0.5204,
"predicted_SLG": 0.3809,
"predicted_SO": 0.5572
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.64,
"after": 4.301,
"delta": -0.339,
"percent_delta": -0.0731,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2531,
"delta": 0.0091,
"percent_delta": 0.0373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3361,
"delta": 0.0051,
"percent_delta": 0.0154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3809,
"delta": 0.0069,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.609,
"after": 0.5572,
"delta": -0.0518,
"percent_delta": -0.0851,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2531,
"delta": 0.0091,
"percent_delta": 0.0373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.64,
"after": 4.301,
"delta": -0.339,
"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": 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.1923,
"predicted_3B": 0.0191,
"predicted_AB": 4.301,
"predicted_AVG": 0.2499,
"predicted_BB": 0.4395,
"predicted_H": 1.0748,
"predicted_HBP": 0.024,
"predicted_HR": 0.1124,
"predicted_OBP": 0.3195,
"predicted_R": 0.4533,
"predicted_RBI": 0.5144,
"predicted_SLG": 0.3819,
"predicted_SO": 0.559
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3361,
"after": 0.3195,
"delta": -0.0166,
"percent_delta": -0.0494,
"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.3361,
"after": 0.3195,
"delta": -0.0166,
"percent_delta": -0.0494,
"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.64), rates preserved: AVG=0.212 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1923,
"after": 0.0,
"delta": -0.1923,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.301,
"after": 4.0,
"delta": -0.301,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4395,
"after": 0.0,
"delta": -0.4395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0748,
"after": 1.0,
"delta": -0.0748,
"percent_delta": -0.0696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1124,
"after": 0.0,
"delta": -0.1124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5144,
"after": 0.0,
"delta": -0.5144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.559,
"after": 1.0,
"delta": 0.441,
"percent_delta": 0.7889,
"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.559,
"after": 1.0,
"delta": 0.441,
"percent_delta": 0.7889,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5144,
"after": 0.0,
"delta": -0.5144,
"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.4533,
"after": 0.0,
"delta": -0.4533,
"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.4533,
"after": 0.0,
"delta": -0.4533,
"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.1982,
"predicted_3B": 0.0152,
"predicted_BB": 0.3207,
"predicted_H": 0.9225,
"predicted_HR": 0.1316,
"predicted_RBI": 0.4879,
"predicted_SO": 0.6722
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1982,
"delta": 0.1982,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3207,
"delta": 0.3207,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9225,
"delta": -0.0775,
"percent_delta": -0.0775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1316,
"delta": 0.1316,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4879,
"delta": 0.4879,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.6722,
"delta": -0.3278,
"percent_delta": -0.3278,
"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.4879,
"delta": 0.4879,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.6722,
"delta": -0.3278,
"percent_delta": -0.3278,
"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.242,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.306,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.405,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1982,
"after": 1.0,
"delta": 0.8018,
"percent_delta": 4.0454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2499,
"after": 0.242,
"delta": -0.0079,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3207,
"after": 0.0,
"delta": -0.3207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9225,
"after": 1.0,
"delta": 0.0775,
"percent_delta": 0.084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1316,
"after": 0.0,
"delta": -0.1316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3195,
"after": 0.306,
"delta": -0.0135,
"percent_delta": -0.0423,
"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.4879,
"after": 1.0,
"delta": 0.5121,
"percent_delta": 1.0496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3819,
"after": 0.405,
"delta": 0.0231,
"percent_delta": 0.0605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6722,
"after": 1.0,
"delta": 0.3278,
"percent_delta": 0.4877,
"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_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.3207,
"after": 0.0,
"delta": -0.3207,
"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.242,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.306,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.405,
"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": 1.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
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 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": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 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.238,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.395,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.395,
"delta": -0.01,
"percent_delta": -0.0247,
"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.405,
"after": 0.395,
"delta": -0.01,
"percent_delta": -0.0247,
"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.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.64,
"after": 4.0,
"delta": -0.64,
"percent_delta": -0.1379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.238,
"delta": -0.006,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.444,
"after": 1.0,
"delta": 0.556,
"percent_delta": 1.2523,
"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.331,
"after": 0.31,
"delta": -0.021,
"percent_delta": -0.0634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.459,
"after": 0.0,
"delta": -0.459,
"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.374,
"after": 0.395,
"delta": 0.021,
"percent_delta": 0.0561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.609,
"after": 1.0,
"delta": 0.391,
"percent_delta": 0.642,
"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.444,
"after": 1.0,
"delta": 0.556,
"percent_delta": 1.2523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.64,
"after": 4.0,
"delta": -0.64,
"percent_delta": -0.1379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.211 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 4.640 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.444 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.459 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.374 | - |
| predicted_SO | 0.609 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | -0.019 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 4.301 | -0.339 |
| predicted_AVG | 0.253 | 0.009 |
| predicted_BB | 0.441 | -0.003 |
| predicted_H | 1.083 | -0.047 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.115 | -0.015 |
| predicted_OBP | 0.336 | 0.005 |
| predicted_R | 0.459 | -0.000 |
| predicted_RBI | 0.520 | -0.040 |
| predicted_SLG | 0.381 | 0.007 |
| predicted_SO | 0.557 | -0.052 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 4.301 | 0.000 |
| predicted_AVG | 0.250 | -0.003 |
| predicted_BB | 0.440 | -0.002 |
| predicted_H | 1.075 | -0.009 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.112 | -0.002 |
| predicted_OBP | 0.320 | -0.017 |
| predicted_R | 0.453 | -0.005 |
| predicted_RBI | 0.514 | -0.006 |
| predicted_SLG | 0.382 | 0.001 |
| predicted_SO | 0.559 | 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.64), rates preserved: AVG=0.212 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.198 | 0.198 |
| 3B | 0.015 | 0.015 |
| BB | 0.321 | 0.321 |
| H | 0.922 | -0.078 |
| HR | 0.132 | 0.132 |
| RBI | 0.488 | 0.488 |
| SO | 0.672 | -0.328 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.802 |
| 3B | 0.000 | -0.015 |
| AB | 4.000 | 0.000 |
| AVG | 0.242 | - |
| BB | 0.000 | -0.321 |
| H | 1.000 | 0.078 |
| HR | 0.000 | -0.132 |
| OBP | 0.306 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.512 |
| SLG | 0.405 | - |
| SO | 1.000 | 0.328 |
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.808 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | -0.301 |
| predicted_AVG | 0.242 | -0.008 |
| predicted_BB | 0.000 | -0.440 |
| predicted_H | 1.000 | -0.075 |
| predicted_HR | 0.000 | -0.112 |
| predicted_OBP | 0.306 | -0.014 |
| predicted_R | 1.000 | 0.547 |
| predicted_RBI | 1.000 | 0.486 |
| predicted_SLG | 0.405 | 0.023 |
| predicted_SO | 1.000 | 0.441 |
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 | 1.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| 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 | 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 | - | 20.000 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 0.000 | 0.2500 | 0.3182 | 0.2500 | 0.2500 | 0.0000 | 0.1000 | 0.1000 | 0.0000 |
| last_10 | 0.20 | 10 | - | 40.000 | 9.000 | 2.000 | 0.000 | 1.000 | 4.000 | 5.000 | 5.000 | 5.000 | 0.2250 | 0.3261 | 0.3500 | 0.2250 | 0.0250 | 0.1000 | 0.1250 | 0.1250 |
| season | 0.60 | 133 | - | 502.000 | 143.000 | 28.000 | 3.000 | 16.000 | 68.000 | 61.000 | 59.000 | 81.000 | 0.2849 | 0.3599 | 0.4482 | 0.2849 | 0.0319 | 0.1355 | 0.1175 | 0.1613 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1680 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.8610 |
| predicted_AVG | 0.2650 |
| predicted_BB | 0.4370 |
| predicted_H | 1.0230 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.0950 |
| predicted_OBP | 0.3428 |
| predicted_R | 0.4580 |
| predicted_RBI | 0.4690 |
| predicted_SLG | 0.3898 |
| predicted_SO | 0.4900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2110 | 0.1680 | 0.1923 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0191 | model_form_blend |
| predicted_AB | 4.6400 | 3.8610 | 4.3010 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2650 | 0.2531 | model_form_blend |
| predicted_BB | 0.4440 | 0.4370 | 0.4410 | model_form_blend |
| predicted_H | 1.1300 | 1.0230 | 1.0834 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.1300 | 0.0950 | 0.1148 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3428 | 0.3361 | model_form_blend |
| predicted_R | 0.4590 | 0.4580 | 0.4586 | model_form_blend |
| predicted_RBI | 0.5600 | 0.4690 | 0.5204 | model_form_blend |
| predicted_SLG | 0.3740 | 0.3898 | 0.3809 | model_form_blend |
| predicted_SO | 0.6090 | 0.4900 | 0.5572 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 532 |
| Season rows before report date | 532 |
| Report year | 2026 |
| Profile rows used | 133 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20261010_CHW@CLE |
| game_type | full |
| mlbID | 800050 |
| playerID | 800050 |
| playerName | Chase DeLauter |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-10 |
| 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.160 | 0.000 | 0.000 | Hitting_2B | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 3.798 | 4.000 | 4.000 | Hitting_AB | 3.909 | 4.000 | 0.091 | 0.000 |
| predicted_AVG | 0.241 | 0.000 | 0.000 | Hitting_AVG | 0.238 | 0.250 | -0.238 | -0.250 |
| predicted_BB | 0.227 | 1.000 | 1.000 | Hitting_BB | 0.403 | 0.000 | 0.597 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.914 | 0.000 | 0.000 | Hitting_H | 0.932 | 1.000 | -0.932 | -1.000 |
| predicted_HR | 0.141 | 0.000 | 0.000 | Hitting_HR | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_OBP | 0.284 | 0.200 | 0.200 | Hitting_OBP | 0.324 | 0.250 | -0.124 | -0.050 |
| predicted_R | 0.429 | 1.000 | 1.000 | Hitting_R | 0.511 | 0.000 | 0.489 | 1.000 |
| predicted_RBI | 0.607 | 0.000 | 0.000 | Hitting_RBI | 0.744 | 0.000 | -0.744 | 0.000 |
| predicted_SLG | 0.404 | 0.000 | 0.000 | Hitting_SLG | 0.414 | 0.250 | -0.414 | -0.250 |
| predicted_SO | 1.012 | 2.000 | 2.000 | Hitting_SO | 1.108 | 1.000 | 0.892 | 1.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_SO: 1.0120 -> 2.0000 (boost 0.9880, worse) |
| Biggest Deboost | predicted_H: 0.9140 -> 0.0000 (deboost -0.9140, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 4 | 1 | predicted_BB: 0.2270 -> 0.2992 (boost 0.0722, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3020 -> 0.2964 (deboost -0.0056, 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 | 9 | 3 | 6 | 4 | 5 | predicted_RBI: 0.6545 -> 1.0000 (boost 0.3455, better) | predicted_BB: 0.2982 -> 0.0000 (deboost -0.2982, worse) | AB rounded to 4 (raw=3.80), rates preserved: AVG=0.220 HR/AB=0.032 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3877 -> 0.0000 (deboost -0.3877, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.0000 -> 0.1745 (boost 0.1745, better) | predicted_RBI: 1.0000 -> 0.5799 (deboost -0.4201, 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.5799 -> 1.0000 (boost 0.4201, better) | predicted_BB: 0.1745 -> 0.0000 (deboost -0.1745, 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 | 3 | 2 | 2 | 3 | predicted_BB: 0.0000 -> 1.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 |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2650 -> 0.2710 (boost 0.0060, better) | predicted_SLG: 0.3930 -> 0.3780 (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": "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.16,
"predicted_3B": 0.018,
"predicted_AB": 3.798,
"predicted_AVG": 0.241,
"predicted_BB": 0.227,
"predicted_H": 0.914,
"predicted_HR": 0.141,
"predicted_OBP": 0.284,
"predicted_R": 0.429,
"predicted_RBI": 0.607,
"predicted_SLG": 0.404,
"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.1416,
"predicted_3B": 0.0657,
"predicted_AB": 3.7897,
"predicted_AVG": 0.2431,
"predicted_BB": 0.2992,
"predicted_H": 0.9206,
"predicted_HBP": 0.065,
"predicted_HR": 0.1257,
"predicted_OBP": 0.302,
"predicted_R": 0.3922,
"predicted_RBI": 0.6621,
"predicted_SLG": 0.4145,
"predicted_SO": 1.0825
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.227,
"after": 0.2992,
"delta": 0.0722,
"percent_delta": 0.3181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.302,
"delta": 0.018,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.607,
"after": 0.6621,
"delta": 0.0551,
"percent_delta": 0.0908,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.4145,
"delta": 0.0105,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.012,
"after": 1.0825,
"delta": 0.0705,
"percent_delta": 0.0697,
"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_BB",
"before": 0.227,
"after": 0.2992,
"delta": 0.0722,
"percent_delta": 0.3181,
"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": 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.1416,
"predicted_3B": 0.0657,
"predicted_AB": 3.7897,
"predicted_AVG": 0.241,
"predicted_BB": 0.2982,
"predicted_H": 0.9133,
"predicted_HBP": 0.065,
"predicted_HR": 0.1231,
"predicted_OBP": 0.2964,
"predicted_R": 0.3877,
"predicted_RBI": 0.6545,
"predicted_SLG": 0.4105,
"predicted_SO": 1.0861
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.2964,
"delta": -0.0056,
"percent_delta": -0.0185,
"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.302,
"after": 0.2964,
"delta": -0.0056,
"percent_delta": -0.0185,
"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.80), rates preserved: AVG=0.220 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.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_3B",
"before": 0.0657,
"after": 0.0,
"delta": -0.0657,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7897,
"after": 4.0,
"delta": 0.2103,
"percent_delta": 0.0555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2982,
"after": 0.0,
"delta": -0.2982,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9133,
"after": 1.0,
"delta": 0.0867,
"percent_delta": 0.0949,
"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.1231,
"after": 0.0,
"delta": -0.1231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6545,
"after": 1.0,
"delta": 0.3455,
"percent_delta": 0.5279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0861,
"after": 1.0,
"delta": -0.0861,
"percent_delta": -0.0793,
"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.6545,
"after": 1.0,
"delta": 0.3455,
"percent_delta": 0.5279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2982,
"after": 0.0,
"delta": -0.2982,
"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.3877,
"after": 0.0,
"delta": -0.3877,
"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.3877,
"after": 0.0,
"delta": -0.3877,
"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.1701,
"predicted_3B": 0.0135,
"predicted_BB": 0.1745,
"predicted_H": 0.8587,
"predicted_HR": 0.1478,
"predicted_RBI": 0.5799,
"predicted_SO": 1.1091
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1701,
"delta": 0.1701,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.1745,
"delta": 0.1745,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8587,
"delta": -0.1413,
"percent_delta": -0.1413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1478,
"delta": 0.1478,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5799,
"delta": -0.4201,
"percent_delta": -0.4201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.1091,
"delta": 0.1091,
"percent_delta": 0.1091,
"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.1745,
"delta": 0.1745,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5799,
"delta": -0.4201,
"percent_delta": -0.4201,
"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.225,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.265,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.393,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1701,
"after": 0.0,
"delta": -0.1701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.225,
"delta": -0.016,
"percent_delta": -0.0664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1745,
"after": 0.0,
"delta": -0.1745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8587,
"after": 1.0,
"delta": 0.1413,
"percent_delta": 0.1646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1478,
"after": 0.0,
"delta": -0.1478,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2964,
"after": 0.265,
"delta": -0.0314,
"percent_delta": -0.1059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5799,
"after": 1.0,
"delta": 0.4201,
"percent_delta": 0.7244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4105,
"after": 0.393,
"delta": -0.0175,
"percent_delta": -0.0426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1091,
"after": 1.0,
"delta": -0.1091,
"percent_delta": -0.0984,
"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.5799,
"after": 1.0,
"delta": 0.4201,
"percent_delta": 0.7244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.1745,
"after": 0.0,
"delta": -0.1745,
"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.225,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.265,
"predicted_R": 0.0,
"predicted_RBI": 1.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": 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": 1.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": 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_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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 1.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.214,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.271,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.378,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.214,
"delta": -0.011,
"percent_delta": -0.0489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.265,
"after": 0.271,
"delta": 0.006,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.378,
"delta": -0.015,
"percent_delta": -0.0382,
"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_OBP",
"before": 0.265,
"after": 0.271,
"delta": 0.006,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.378,
"delta": -0.015,
"percent_delta": -0.0382,
"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.798,
"after": 4.0,
"delta": 0.202,
"percent_delta": 0.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.214,
"delta": -0.027,
"percent_delta": -0.112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.227,
"after": 1.0,
"delta": 0.773,
"percent_delta": 3.4053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.914,
"after": 0.0,
"delta": -0.914,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.141,
"after": 0.0,
"delta": -0.141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.271,
"delta": -0.013,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 1.0,
"delta": 0.571,
"percent_delta": 1.331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.607,
"after": 0.0,
"delta": -0.607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.378,
"delta": -0.026,
"percent_delta": -0.0644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.012,
"after": 2.0,
"delta": 0.988,
"percent_delta": 0.9763,
"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_SO",
"before": 1.012,
"after": 2.0,
"delta": 0.988,
"percent_delta": 0.9763,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.914,
"after": 0.0,
"delta": -0.914,
"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.018 | - |
| predicted_AB | 3.798 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.227 | - |
| predicted_H | 0.914 | - |
| predicted_HR | 0.141 | - |
| predicted_OBP | 0.284 | - |
| predicted_R | 0.429 | - |
| predicted_RBI | 0.607 | - |
| predicted_SLG | 0.404 | - |
| 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.142 | -0.018 |
| predicted_3B | 0.066 | 0.048 |
| predicted_AB | 3.790 | -0.008 |
| predicted_AVG | 0.243 | 0.002 |
| predicted_BB | 0.299 | 0.072 |
| predicted_H | 0.921 | 0.007 |
| predicted_HBP | 0.065 | - |
| predicted_HR | 0.126 | -0.015 |
| predicted_OBP | 0.302 | 0.018 |
| predicted_R | 0.392 | -0.037 |
| predicted_RBI | 0.662 | 0.055 |
| predicted_SLG | 0.414 | 0.010 |
| predicted_SO | 1.083 | 0.071 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.142 | 0.000 |
| predicted_3B | 0.066 | 0.000 |
| predicted_AB | 3.790 | 0.000 |
| predicted_AVG | 0.241 | -0.002 |
| predicted_BB | 0.298 | -0.001 |
| predicted_H | 0.913 | -0.007 |
| predicted_HBP | 0.065 | 0.000 |
| predicted_HR | 0.123 | -0.003 |
| predicted_OBP | 0.296 | -0.006 |
| predicted_R | 0.388 | -0.005 |
| predicted_RBI | 0.654 | -0.008 |
| predicted_SLG | 0.410 | -0.004 |
| predicted_SO | 1.086 | 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.80), rates preserved: AVG=0.220 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.170 | 0.170 |
| 3B | 0.013 | 0.013 |
| BB | 0.174 | 0.174 |
| H | 0.859 | -0.141 |
| HR | 0.148 | 0.148 |
| RBI | 0.580 | -0.420 |
| SO | 1.109 | 0.109 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.170 |
| 3B | 0.000 | -0.013 |
| AB | 4.000 | 0.000 |
| AVG | 0.225 | - |
| BB | 0.000 | -0.174 |
| H | 1.000 | 0.141 |
| HR | 0.000 | -0.148 |
| OBP | 0.265 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.420 |
| SLG | 0.393 | - |
| SO | 1.000 | -0.109 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.142 |
| predicted_3B | 0.000 | -0.066 |
| predicted_AB | 4.000 | 0.210 |
| predicted_AVG | 0.225 | -0.016 |
| predicted_BB | 0.000 | -0.298 |
| predicted_H | 1.000 | 0.087 |
| predicted_HR | 0.000 | -0.123 |
| predicted_OBP | 0.265 | -0.031 |
| predicted_R | 0.000 | -0.388 |
| predicted_RBI | 1.000 | 0.346 |
| predicted_SLG | 0.393 | -0.017 |
| predicted_SO | 1.000 | -0.086 |
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 | 1.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| 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 | 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 | 1.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 | 5.000 | 0.000 | 2.000 | 0.000 | 6.000 | 0.000 | 3.000 | 9.000 | 0.2632 | 0.3636 | 0.4737 | 0.2632 | 0.0000 | 0.3158 | 0.1579 | 0.4737 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 1.000 | 2.000 | 1.000 | 7.000 | 4.000 | 7.000 | 11.000 | 0.2432 | 0.3636 | 0.4595 | 0.2432 | 0.0270 | 0.1892 | 0.1892 | 0.2973 |
| season | 0.60 | 163 | - | 619.000 | 149.000 | 26.000 | 3.000 | 23.000 | 99.000 | 70.000 | 37.000 | 165.000 | 0.2407 | 0.3009 | 0.4039 | 0.2407 | 0.0372 | 0.1599 | 0.0598 | 0.2666 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1180 |
| predicted_3B | 0.1270 |
| predicted_AB | 3.7790 |
| predicted_AVG | 0.2458 |
| predicted_BB | 0.3920 |
| predicted_H | 0.9290 |
| predicted_HBP | 0.0650 |
| predicted_HR | 0.1060 |
| predicted_OBP | 0.3251 |
| predicted_R | 0.3450 |
| predicted_RBI | 0.7330 |
| predicted_SLG | 0.4280 |
| predicted_SO | 1.1730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1180 | 0.1416 | model_form_blend |
| predicted_3B | 0.0180 | 0.1270 | 0.0657 | model_form_blend |
| predicted_AB | 3.7980 | 3.7790 | 3.7897 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2458 | 0.2431 | model_form_blend |
| predicted_BB | 0.2270 | 0.3920 | 0.2992 | model_form_blend |
| predicted_H | 0.9140 | 0.9290 | 0.9206 | model_form_blend |
| predicted_HBP | - | 0.0650 | 0.0650 | form_only |
| predicted_HR | 0.1410 | 0.1060 | 0.1257 | model_form_blend |
| predicted_OBP | 0.2840 | 0.3251 | 0.3020 | model_form_blend |
| predicted_R | 0.4290 | 0.3450 | 0.3922 | model_form_blend |
| predicted_RBI | 0.6070 | 0.7330 | 0.6621 | model_form_blend |
| predicted_SLG | 0.4040 | 0.4280 | 0.4145 | model_form_blend |
| predicted_SO | 1.0120 | 1.1730 | 1.0825 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 176 |
| Season rows before report date | 176 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| 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 | 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 | 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 | 20261010_CHW@CLE |
| game_type | full |
| mlbID | 666176 |
| playerID | 666176 |
| playerName | Jo Adell |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-10 |
| 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.182 | 0.000 | 0.000 | Hitting_2B | 0.183 | 0.000 | -0.183 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.174 | 5.000 | 5.000 | Hitting_AB | 3.486 | 3.000 | 1.514 | 2.000 |
| predicted_AVG | 0.246 | 0.200 | 0.200 | Hitting_AVG | 0.236 | 0.000 | -0.036 | 0.200 |
| predicted_BB | 0.331 | 0.000 | 0.000 | Hitting_BB | 0.331 | 0.000 | -0.331 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.730 | 1.000 | 1.000 | Hitting_H | 0.824 | 0.000 | 0.176 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.134 | 0.000 | -0.134 | 0.000 |
| predicted_OBP | 0.317 | 0.200 | 0.200 | Hitting_OBP | 0.296 | 0.000 | -0.096 | 0.200 |
| predicted_R | 0.298 | 0.000 | 0.000 | Hitting_R | 0.345 | 0.000 | -0.345 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.690 | 0.000 | -0.690 | 0.000 |
| predicted_SLG | 0.362 | 0.200 | 0.200 | Hitting_SLG | 0.404 | 0.000 | -0.204 | 0.200 |
| predicted_SO | 0.810 | 1.000 | 1.000 | Hitting_SO | 0.789 | 0.000 | 0.211 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.1740 -> 5.0000 (boost 1.8260, better) |
| Biggest Deboost | predicted_RBI: 0.4200 -> 0.0000 (deboost -0.4200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 3 | 1 | predicted_BB: 0.3310 -> 0.4008 (boost 0.0698, better) | predicted_SO: 0.8100 -> 0.7432 (deboost -0.0668, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2385 -> 0.2276 (deboost -0.0109, 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_H: 0.7217 -> 1.0000 (boost 0.2783, better) | predicted_RBI: 0.4292 -> 0.0000 (deboost -0.4292, worse) | AB rounded to 3 (raw=3.17), rates preserved: AVG=0.208 HR/AB=0.027 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2750 -> 0.0000 (deboost -0.2750, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4994 (boost 0.4994, better) | predicted_H: 1.0000 -> 0.7714 (deboost -0.2286, 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_RBI: 0.4994 -> 1.0000 (boost 0.5006, better) | predicted_BB: 0.2598 -> 0.0000 (deboost -0.2598, 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_AB: 3.0000 -> 5.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 |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4030 -> 0.3960 (deboost -0.0070, worse) | 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.182,
"predicted_3B": 0.0,
"predicted_AB": 3.174,
"predicted_AVG": 0.246,
"predicted_BB": 0.331,
"predicted_H": 0.73,
"predicted_HR": 0.09,
"predicted_OBP": 0.317,
"predicted_R": 0.298,
"predicted_RBI": 0.42,
"predicted_SLG": 0.362,
"predicted_SO": 0.81
},
"changed_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.1768,
"predicted_3B": 0.0004,
"predicted_AB": 3.1714,
"predicted_AVG": 0.2385,
"predicted_BB": 0.4008,
"predicted_H": 0.7274,
"predicted_HBP": 0.03,
"predicted_HR": 0.0861,
"predicted_OBP": 0.3225,
"predicted_R": 0.2782,
"predicted_RBI": 0.4342,
"predicted_SLG": 0.361,
"predicted_SO": 0.7432
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2385,
"delta": -0.0075,
"percent_delta": -0.0305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.331,
"after": 0.4008,
"delta": 0.0698,
"percent_delta": 0.2109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3225,
"delta": 0.0055,
"percent_delta": 0.0174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.81,
"after": 0.7432,
"delta": -0.0668,
"percent_delta": -0.0825,
"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.331,
"after": 0.4008,
"delta": 0.0698,
"percent_delta": 0.2109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.81,
"after": 0.7432,
"delta": -0.0668,
"percent_delta": -0.0825,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 121
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1768,
"predicted_3B": 0.0004,
"predicted_AB": 3.1714,
"predicted_AVG": 0.2276,
"predicted_BB": 0.3995,
"predicted_H": 0.7217,
"predicted_HBP": 0.03,
"predicted_HR": 0.0843,
"predicted_OBP": 0.314,
"predicted_R": 0.275,
"predicted_RBI": 0.4292,
"predicted_SLG": 0.3633,
"predicted_SO": 0.7457
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2385,
"after": 0.2276,
"delta": -0.0109,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3225,
"after": 0.314,
"delta": -0.0085,
"percent_delta": -0.0264,
"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.2385,
"after": 0.2276,
"delta": -0.0109,
"percent_delta": -0.0457,
"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.208 HR/AB=0.027",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1768,
"after": 0.0,
"delta": -0.1768,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.1714,
"after": 3.0,
"delta": -0.1714,
"percent_delta": -0.054,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3995,
"after": 0.0,
"delta": -0.3995,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7217,
"after": 1.0,
"delta": 0.2783,
"percent_delta": 0.3856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0843,
"after": 0.0,
"delta": -0.0843,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4292,
"after": 0.0,
"delta": -0.4292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7457,
"after": 1.0,
"delta": 0.2543,
"percent_delta": 0.341,
"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.7217,
"after": 1.0,
"delta": 0.2783,
"percent_delta": 0.3856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4292,
"after": 0.0,
"delta": -0.4292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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.275,
"after": 0.0,
"delta": -0.275,
"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.275,
"after": 0.0,
"delta": -0.275,
"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.178,
"predicted_3B": 0.008,
"predicted_BB": 0.2598,
"predicted_H": 0.7714,
"predicted_HR": 0.1411,
"predicted_RBI": 0.4994,
"predicted_SO": 0.9097
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.178,
"delta": 0.178,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2598,
"delta": 0.2598,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7714,
"delta": -0.2286,
"percent_delta": -0.2286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1411,
"delta": 0.1411,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4994,
"delta": 0.4994,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9097,
"delta": -0.0903,
"percent_delta": -0.0903,
"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.4994,
"delta": 0.4994,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7714,
"delta": -0.2286,
"percent_delta": -0.2286,
"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.224,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.284,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.403,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.178,
"after": 0.0,
"delta": -0.178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2598,
"after": 0.0,
"delta": -0.2598,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7714,
"after": 1.0,
"delta": 0.2286,
"percent_delta": 0.2963,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1411,
"after": 0.0,
"delta": -0.1411,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.284,
"delta": -0.03,
"percent_delta": -0.0955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4994,
"after": 1.0,
"delta": 0.5006,
"percent_delta": 1.0024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3633,
"after": 0.403,
"delta": 0.0397,
"percent_delta": 0.1093,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9097,
"after": 1.0,
"delta": 0.0903,
"percent_delta": 0.0993,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4994,
"after": 1.0,
"delta": 0.5006,
"percent_delta": 1.0024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2598,
"after": 0.0,
"delta": -0.2598,
"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.224,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.284,
"predicted_R": 0.0,
"predicted_RBI": 1.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": 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": 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": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"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_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 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.221,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.285,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.396,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.396,
"delta": -0.007,
"percent_delta": -0.0174,
"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.403,
"after": 0.396,
"delta": -0.007,
"percent_delta": -0.0174,
"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.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.174,
"after": 5.0,
"delta": 1.826,
"percent_delta": 0.5753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.221,
"delta": -0.025,
"percent_delta": -0.1016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.331,
"after": 0.0,
"delta": -0.331,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.285,
"delta": -0.032,
"percent_delta": -0.1009,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.298,
"after": 0.0,
"delta": -0.298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.396,
"delta": 0.034,
"percent_delta": 0.0939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.174,
"after": 5.0,
"delta": 1.826,
"percent_delta": 0.5753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"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.182 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.174 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.331 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.298 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.362 | - |
| predicted_SO | 0.810 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.177 | -0.005 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.171 | -0.003 |
| predicted_AVG | 0.238 | -0.008 |
| predicted_BB | 0.401 | 0.070 |
| predicted_H | 0.727 | -0.003 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.086 | -0.004 |
| predicted_OBP | 0.323 | 0.006 |
| predicted_R | 0.278 | -0.020 |
| predicted_RBI | 0.434 | 0.014 |
| predicted_SLG | 0.361 | -0.001 |
| predicted_SO | 0.743 | -0.067 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.177 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.171 | 0.000 |
| predicted_AVG | 0.228 | -0.011 |
| predicted_BB | 0.400 | -0.001 |
| predicted_H | 0.722 | -0.006 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.084 | -0.002 |
| predicted_OBP | 0.314 | -0.009 |
| predicted_R | 0.275 | -0.003 |
| predicted_RBI | 0.429 | -0.005 |
| predicted_SLG | 0.363 | 0.002 |
| predicted_SO | 0.746 | 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 3 (raw=3.17), rates preserved: AVG=0.208 HR/AB=0.027
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.008 | 0.008 |
| BB | 0.260 | 0.260 |
| H | 0.771 | -0.229 |
| HR | 0.141 | 0.141 |
| RBI | 0.499 | 0.499 |
| 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.178 |
| 3B | 0.000 | -0.008 |
| AB | 3.000 | 0.000 |
| AVG | 0.224 | - |
| BB | 0.000 | -0.260 |
| H | 1.000 | 0.229 |
| HR | 0.000 | -0.141 |
| OBP | 0.284 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.501 |
| SLG | 0.403 | - |
| 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.177 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.171 |
| predicted_AVG | 0.224 | -0.004 |
| predicted_BB | 0.000 | -0.400 |
| predicted_H | 1.000 | 0.278 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.284 | -0.030 |
| predicted_R | 0.000 | -0.275 |
| predicted_RBI | 1.000 | 0.571 |
| predicted_SLG | 0.403 | 0.040 |
| predicted_SO | 1.000 | 0.254 |
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 | 2.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| 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 | 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 | - | 15.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 5.000 | 2.000 | 0.2000 | 0.4000 | 0.2667 | 0.2000 | 0.0000 | 0.0667 | 0.3333 | 0.1333 |
| last_10 | 0.20 | 10 | - | 31.000 | 6.000 | 1.000 | 0.000 | 0.000 | 5.000 | 1.000 | 5.000 | 4.000 | 0.1935 | 0.3077 | 0.2258 | 0.1935 | 0.0000 | 0.1613 | 0.1613 | 0.1290 |
| season | 0.60 | 121 | - | 384.000 | 95.000 | 22.000 | 0.000 | 16.000 | 63.000 | 36.000 | 40.000 | 98.000 | 0.2474 | 0.3164 | 0.4297 | 0.2474 | 0.0417 | 0.1641 | 0.1042 | 0.2552 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1700 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.1680 |
| predicted_AVG | 0.2285 |
| predicted_BB | 0.4930 |
| predicted_H | 0.7240 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.0810 |
| predicted_OBP | 0.3297 |
| predicted_R | 0.2520 |
| predicted_RBI | 0.4530 |
| predicted_SLG | 0.3596 |
| predicted_SO | 0.6550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.1700 | 0.1768 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.1740 | 3.1680 | 3.1714 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2285 | 0.2385 | model_form_blend |
| predicted_BB | 0.3310 | 0.4930 | 0.4008 | model_form_blend |
| predicted_H | 0.7300 | 0.7240 | 0.7274 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.0900 | 0.0810 | 0.0861 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3297 | 0.3225 | model_form_blend |
| predicted_R | 0.2980 | 0.2520 | 0.2782 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4530 | 0.4342 | model_form_blend |
| predicted_SLG | 0.3620 | 0.3596 | 0.3610 | model_form_blend |
| predicted_SO | 0.8100 | 0.6550 | 0.7432 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 121 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 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.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20261010_CHW@CLE |
| game_type | full |
| mlbID | 663993 |
| playerID | 663993 |
| playerName | Nathaniel Lowe |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-10 |
| 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.216 | 0.000 | 0.000 | Hitting_2B | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 4.070 | 5.000 | 5.000 | Hitting_AB | 3.840 | 3.000 | 1.160 | 2.000 |
| predicted_AVG | 0.187 | 0.000 | 0.000 | Hitting_AVG | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_BB | 0.117 | 0.000 | 0.000 | Hitting_BB | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.760 | 0.000 | 0.000 | Hitting_H | 0.995 | 0.000 | -0.995 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_OBP | 0.234 | 0.000 | 0.000 | Hitting_OBP | 0.297 | 0.250 | -0.297 | -0.250 |
| predicted_R | 0.450 | 0.000 | 0.000 | Hitting_R | 0.497 | 1.000 | -0.497 | -1.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.603 | 0.000 | -0.603 | 0.000 |
| predicted_SLG | 0.342 | 0.000 | 0.000 | Hitting_SLG | 0.462 | 0.000 | -0.462 | 0.000 |
| predicted_SO | 0.892 | 2.000 | 2.000 | Hitting_SO | 0.922 | 1.000 | 1.078 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.8920 -> 2.0000 (boost 1.1080, worse) |
| Biggest Deboost | predicted_H: 0.7600 -> 0.0000 (deboost -0.7600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.8920 -> 0.9786 (boost 0.0866, worse) | predicted_AB: 4.0700 -> 3.9067 (deboost -0.1633, worse) | Final model input calibrated with local 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.2304 -> 0.2065 (deboost -0.0239, 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 | 2 | 5 | predicted_H: 0.7194 -> 1.0000 (boost 0.2806, better) | predicted_RBI: 0.4410 -> 0.0000 (deboost -0.4410, worse) | AB rounded to 4 (raw=4.07), rates preserved: AVG=0.162 HR/AB=0.029 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4150 -> 0.0000 (deboost -0.4150, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 4 | 1 | 4 | 1 | predicted_RBI: 0.0000 -> 0.5101 (boost 0.5101, better) | predicted_H: 1.0000 -> 0.8084 (deboost -0.1916, 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 | 7 | 2 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_2B: 0.1885 -> 0.0000 (deboost -0.1885, 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 | - | - | Market blend not applied: no props for this hitter |
| 13 | play_by_play_realization | 6 | 2 | 4 | 1 | 5 | predicted_AB: 4.0000 -> 5.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 | 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.216,
"predicted_3B": 0.018,
"predicted_AB": 4.07,
"predicted_AVG": 0.187,
"predicted_BB": 0.117,
"predicted_H": 0.76,
"predicted_HR": 0.12,
"predicted_OBP": 0.234,
"predicted_R": 0.45,
"predicted_RBI": 0.45,
"predicted_SLG": 0.342,
"predicted_SO": 0.892
},
"changed_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.197,
"predicted_3B": 0.015,
"predicted_AB": 3.9067,
"predicted_AVG": 0.1857,
"predicted_BB": 0.1105,
"predicted_H": 0.7251,
"predicted_HBP": 0.098,
"predicted_HR": 0.1196,
"predicted_OBP": 0.2304,
"predicted_R": 0.4198,
"predicted_RBI": 0.4461,
"predicted_SLG": 0.3383,
"predicted_SO": 0.9786
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.07,
"after": 3.9067,
"delta": -0.1633,
"percent_delta": -0.0401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.892,
"after": 0.9786,
"delta": 0.0866,
"percent_delta": 0.0971,
"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.892,
"after": 0.9786,
"delta": 0.0866,
"percent_delta": 0.0971,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.07,
"after": 3.9067,
"delta": -0.1633,
"percent_delta": -0.0401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 111
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.197,
"predicted_3B": 0.015,
"predicted_AB": 3.9067,
"predicted_AVG": 0.1841,
"predicted_BB": 0.1101,
"predicted_H": 0.7194,
"predicted_HBP": 0.098,
"predicted_HR": 0.1171,
"predicted_OBP": 0.2065,
"predicted_R": 0.415,
"predicted_RBI": 0.441,
"predicted_SLG": 0.3322,
"predicted_SO": 0.9818
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.2304,
"after": 0.2065,
"delta": -0.0239,
"percent_delta": -0.1037,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3383,
"after": 0.3322,
"delta": -0.0061,
"percent_delta": -0.018,
"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.2304,
"after": 0.2065,
"delta": -0.0239,
"percent_delta": -0.1037,
"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.07), rates preserved: AVG=0.162 HR/AB=0.029",
"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.197,
"after": 0.0,
"delta": -0.197,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.9067,
"after": 4.0,
"delta": 0.0933,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1101,
"after": 0.0,
"delta": -0.1101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7194,
"after": 1.0,
"delta": 0.2806,
"percent_delta": 0.39,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.098,
"after": 0.0,
"delta": -0.098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1171,
"after": 0.0,
"delta": -0.1171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.441,
"after": 0.0,
"delta": -0.441,
"percent_delta": -1.0,
"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_H",
"before": 0.7194,
"after": 1.0,
"delta": 0.2806,
"percent_delta": 0.39,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.441,
"after": 0.0,
"delta": -0.441,
"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.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.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": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"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.415,
"after": 0.0,
"delta": -0.415,
"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.415,
"after": 0.0,
"delta": -0.415,
"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.1885,
"predicted_3B": 0.013,
"predicted_BB": 0.1322,
"predicted_H": 0.8084,
"predicted_HR": 0.1579,
"predicted_RBI": 0.5101,
"predicted_SO": 1.0044
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1885,
"delta": 0.1885,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.1322,
"delta": 0.1322,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8084,
"delta": -0.1916,
"percent_delta": -0.1916,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1579,
"delta": 0.1579,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5101,
"delta": 0.5101,
"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.5101,
"delta": 0.5101,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8084,
"delta": -0.1916,
"percent_delta": -0.1916,
"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.219,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.252,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.405,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1885,
"after": 0.0,
"delta": -0.1885,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.1841,
"after": 0.219,
"delta": 0.0349,
"percent_delta": 0.1896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1322,
"after": 0.0,
"delta": -0.1322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8084,
"after": 1.0,
"delta": 0.1916,
"percent_delta": 0.237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1579,
"after": 1.0,
"delta": 0.8421,
"percent_delta": 5.3331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2065,
"after": 0.252,
"delta": 0.0455,
"percent_delta": 0.2203,
"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.5101,
"after": 1.0,
"delta": 0.4899,
"percent_delta": 0.9604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3322,
"after": 0.405,
"delta": 0.0728,
"percent_delta": 0.2191,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 7,
"deboosted_metrics": 2,
"better_metrics": 7,
"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_2B",
"before": 0.1885,
"after": 0.0,
"delta": -0.1885,
"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.219,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.252,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.405,
"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": "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": 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": 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": 2.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": 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
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 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": 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": 5.0,
"predicted_AVG": 0.219,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.252,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.405,
"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.216,
"after": 0.0,
"delta": -0.216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 5.0,
"delta": 0.93,
"percent_delta": 0.2285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.187,
"after": 0.219,
"delta": 0.032,
"percent_delta": 0.1711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.117,
"after": 0.0,
"delta": -0.117,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.0,
"delta": -0.76,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.098,
"after": 0.0,
"delta": -0.098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.234,
"after": 0.252,
"delta": 0.018,
"percent_delta": 0.0769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.342,
"after": 0.405,
"delta": 0.063,
"percent_delta": 0.1842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.892,
"after": 2.0,
"delta": 1.108,
"percent_delta": 1.2422,
"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.892,
"after": 2.0,
"delta": 1.108,
"percent_delta": 1.2422,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.76,
"after": 0.0,
"delta": -0.76,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.216 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.187 | - |
| predicted_BB | 0.117 | - |
| predicted_H | 0.760 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.234 | - |
| predicted_R | 0.450 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.342 | - |
| predicted_SO | 0.892 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.197 | -0.019 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 3.907 | -0.163 |
| predicted_AVG | 0.186 | -0.001 |
| predicted_BB | 0.111 | -0.007 |
| predicted_H | 0.725 | -0.035 |
| predicted_HBP | 0.098 | - |
| predicted_HR | 0.120 | -0.000 |
| predicted_OBP | 0.230 | -0.004 |
| predicted_R | 0.420 | -0.030 |
| predicted_RBI | 0.446 | -0.004 |
| predicted_SLG | 0.338 | -0.004 |
| predicted_SO | 0.979 | 0.087 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.197 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.907 | 0.000 |
| predicted_AVG | 0.184 | -0.002 |
| predicted_BB | 0.110 | -0.000 |
| predicted_H | 0.719 | -0.006 |
| predicted_HBP | 0.098 | 0.000 |
| predicted_HR | 0.117 | -0.003 |
| predicted_OBP | 0.206 | -0.024 |
| predicted_R | 0.415 | -0.005 |
| predicted_RBI | 0.441 | -0.005 |
| predicted_SLG | 0.332 | -0.006 |
| predicted_SO | 0.982 | 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=4.07), rates preserved: AVG=0.162 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.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.189 | 0.189 |
| 3B | 0.013 | 0.013 |
| BB | 0.132 | 0.132 |
| H | 0.808 | -0.192 |
| HR | 0.158 | 0.158 |
| RBI | 0.510 | 0.510 |
| SO | 1.004 | 0.004 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.189 |
| 3B | 0.000 | -0.013 |
| AB | 4.000 | 0.000 |
| AVG | 0.219 | - |
| BB | 0.000 | -0.132 |
| H | 1.000 | 0.192 |
| HR | 1.000 | 0.842 |
| OBP | 0.252 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.490 |
| SLG | 0.405 | - |
| SO | 1.000 | -0.004 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.197 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 4.000 | 0.093 |
| predicted_AVG | 0.219 | 0.035 |
| predicted_BB | 0.000 | -0.110 |
| predicted_H | 1.000 | 0.281 |
| predicted_HR | 1.000 | 0.883 |
| predicted_OBP | 0.252 | 0.046 |
| predicted_R | 1.000 | 0.585 |
| predicted_RBI | 1.000 | 0.559 |
| predicted_SLG | 0.405 | 0.073 |
| predicted_SO | 1.000 | 0.018 |
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 | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| 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 | 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 | 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 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 9.000 | 0.0000 | 0.0500 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.4737 |
| last_10 | 0.20 | 10 | - | 37.000 | 6.000 | 2.000 | 0.000 | 1.000 | 5.000 | 3.000 | 1.000 | 11.000 | 0.1622 | 0.2051 | 0.2973 | 0.1622 | 0.0270 | 0.1351 | 0.0270 | 0.2973 |
| season | 0.60 | 111 | - | 404.000 | 99.000 | 24.000 | 2.000 | 18.000 | 62.000 | 50.000 | 13.000 | 99.000 | 0.2450 | 0.2817 | 0.4480 | 0.2450 | 0.0445 | 0.1535 | 0.0322 | 0.2450 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1720 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.6910 |
| predicted_AVG | 0.1840 |
| predicted_BB | 0.1020 |
| predicted_H | 0.6790 |
| predicted_HBP | 0.0980 |
| predicted_HR | 0.1190 |
| predicted_OBP | 0.2257 |
| predicted_R | 0.3800 |
| predicted_RBI | 0.4410 |
| predicted_SLG | 0.3334 |
| predicted_SO | 1.0930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2160 | 0.1720 | 0.1970 | model_form_blend |
| predicted_3B | 0.0180 | 0.0110 | 0.0150 | model_form_blend |
| predicted_AB | 4.0700 | 3.6910 | 3.9067 | model_form_blend |
| predicted_AVG | 0.1870 | 0.1840 | 0.1857 | model_form_blend |
| predicted_BB | 0.1170 | 0.1020 | 0.1105 | model_form_blend |
| predicted_H | 0.7600 | 0.6790 | 0.7251 | model_form_blend |
| predicted_HBP | - | 0.0980 | 0.0980 | form_only |
| predicted_HR | 0.1200 | 0.1190 | 0.1196 | model_form_blend |
| predicted_OBP | 0.2340 | 0.2257 | 0.2304 | model_form_blend |
| predicted_R | 0.4500 | 0.3800 | 0.4198 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4410 | 0.4461 | model_form_blend |
| predicted_SLG | 0.3420 | 0.3334 | 0.3383 | model_form_blend |
| predicted_SO | 0.8920 | 1.0930 | 0.9786 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 400 |
| Season rows before report date | 400 |
| Report year | 2026 |
| Profile rows used | 111 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 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 | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20261008_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-08 |
| 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.183 | 0.000 | 0.000 | Hitting_2B | 0.178 | 0.000 | -0.178 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.619 | 4.000 | 4.000 | Hitting_AB | 3.704 | 3.000 | 0.296 | 1.000 |
| predicted_AVG | 0.201 | 0.500 | 0.500 | Hitting_AVG | 0.249 | 0.000 | 0.251 | 0.500 |
| predicted_BB | 0.452 | 0.000 | 0.000 | Hitting_BB | 0.504 | 0.000 | -0.504 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_H | 0.720 | 2.000 | 2.000 | Hitting_H | 0.921 | 0.000 | 1.079 | 2.000 |
| predicted_HR | 0.080 | 1.000 | 1.000 | Hitting_HR | 0.126 | 0.000 | 0.874 | 1.000 |
| predicted_OBP | 0.299 | 0.500 | 0.500 | Hitting_OBP | 0.344 | 0.000 | 0.156 | 0.500 |
| predicted_R | 0.452 | 1.000 | 1.000 | Hitting_R | 0.470 | 0.000 | 0.530 | 1.000 |
| predicted_RBI | 0.330 | 1.000 | 1.000 | Hitting_RBI | 0.520 | 0.000 | 0.480 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_SLG | 0.377 | 1.250 | 1.250 | Hitting_SLG | 0.404 | 0.000 | 0.846 | 1.250 |
| predicted_SO | 0.865 | 1.000 | 1.000 | Hitting_SO | 0.899 | 2.000 | 0.101 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.7200 -> 2.0000 (boost 1.2800, better) |
| Biggest Deboost | predicted_BB: 0.4520 -> 0.0000 (deboost -0.4520, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3770 -> 0.3697 (deboost -0.0073, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3697 -> 0.3368 (deboost -0.0329, 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_H: 0.7139 -> 1.0000 (boost 0.2861, better) | predicted_AB: 3.5708 -> 3.0000 (deboost -0.5708, worse) | AB rounded to 3 (raw=3.62), rates preserved: AVG=0.180 HR/AB=0.021 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4739 -> 0.0000 (deboost -0.4739, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.3882 (boost 0.3882, better) | predicted_H: 1.0000 -> 0.7210 (deboost -0.2790, 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 | 10 | 4 | 6 | 3 | 7 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 0.7210 -> 0.0000 (deboost -0.7210, 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 | 4 | 0 | 4 | 0 | predicted_H: 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 |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | 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": "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.183,
"predicted_3B": 0.016,
"predicted_AB": 3.619,
"predicted_AVG": 0.201,
"predicted_BB": 0.452,
"predicted_H": 0.72,
"predicted_HR": 0.08,
"predicted_OBP": 0.299,
"predicted_R": 0.452,
"predicted_RBI": 0.33,
"predicted_SLG": 0.377,
"predicted_SO": 0.865
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0216,
"predicted_AB": 3.5708,
"predicted_AVG": 0.2026,
"predicted_BB": 0.4576,
"predicted_H": 0.7196,
"predicted_HBP": 0.032,
"predicted_HR": 0.0765,
"predicted_OBP": 0.3003,
"predicted_R": 0.4794,
"predicted_RBI": 0.33,
"predicted_SLG": 0.3697,
"predicted_SO": 0.8628
},
"changed_metrics": [
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3697,
"delta": -0.0073,
"percent_delta": -0.0194,
"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.377,
"after": 0.3697,
"delta": -0.0073,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 126
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2208,
"predicted_3B": 0.0216,
"predicted_AB": 3.5708,
"predicted_AVG": 0.1999,
"predicted_BB": 0.4561,
"predicted_H": 0.7139,
"predicted_HBP": 0.032,
"predicted_HR": 0.0749,
"predicted_OBP": 0.2905,
"predicted_R": 0.4739,
"predicted_RBI": 0.3262,
"predicted_SLG": 0.3368,
"predicted_SO": 0.8656
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3003,
"after": 0.2905,
"delta": -0.0098,
"percent_delta": -0.0326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3697,
"after": 0.3368,
"delta": -0.0329,
"percent_delta": -0.089,
"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.3697,
"after": 0.3368,
"delta": -0.0329,
"percent_delta": -0.089,
"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": 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.2208,
"after": 0.0,
"delta": -0.2208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5708,
"after": 3.0,
"delta": -0.5708,
"percent_delta": -0.1599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4561,
"after": 0.0,
"delta": -0.4561,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7139,
"after": 1.0,
"delta": 0.2861,
"percent_delta": 0.4008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0749,
"after": 0.0,
"delta": -0.0749,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3262,
"after": 0.0,
"delta": -0.3262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8656,
"after": 1.0,
"delta": 0.1344,
"percent_delta": 0.1553,
"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.7139,
"after": 1.0,
"delta": 0.2861,
"percent_delta": 0.4008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.5708,
"after": 3.0,
"delta": -0.5708,
"percent_delta": -0.1599,
"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.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
}
},
{
"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.4739,
"after": 0.0,
"delta": -0.4739,
"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.4739,
"after": 0.0,
"delta": -0.4739,
"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.1638,
"predicted_3B": 0.0114,
"predicted_BB": 0.2965,
"predicted_H": 0.721,
"predicted_HR": 0.1149,
"predicted_RBI": 0.3882,
"predicted_SO": 0.8374
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1638,
"delta": 0.1638,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2965,
"delta": 0.2965,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.721,
"delta": -0.279,
"percent_delta": -0.279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1149,
"delta": 0.1149,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3882,
"delta": 0.3882,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8374,
"delta": -0.1626,
"percent_delta": -0.1626,
"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.3882,
"delta": 0.3882,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.721,
"delta": -0.279,
"percent_delta": -0.279,
"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.279,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.365,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1638,
"after": 0.0,
"delta": -0.1638,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.1999,
"after": 0.21,
"delta": 0.0101,
"percent_delta": 0.0505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2965,
"after": 0.0,
"delta": -0.2965,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.721,
"after": 0.0,
"delta": -0.721,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1149,
"after": 0.0,
"delta": -0.1149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2905,
"after": 0.279,
"delta": -0.0115,
"percent_delta": -0.0396,
"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.3882,
"after": 0.0,
"delta": -0.3882,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3368,
"after": 0.365,
"delta": 0.0282,
"percent_delta": 0.0837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8374,
"after": 1.0,
"delta": 0.1626,
"percent_delta": 0.1942,
"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_H",
"before": 0.721,
"after": 0.0,
"delta": -0.721,
"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.279,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.365,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.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_H",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": 0.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": 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.212,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.278,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.364,
"predicted_SO": 1.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.183,
"after": 0.0,
"delta": -0.183,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.619,
"after": 4.0,
"delta": 0.381,
"percent_delta": 0.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.201,
"after": 0.212,
"delta": 0.011,
"percent_delta": 0.0547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.452,
"after": 0.0,
"delta": -0.452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 2.0,
"delta": 1.28,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 1.0,
"delta": 0.92,
"percent_delta": 11.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.278,
"delta": -0.021,
"percent_delta": -0.0702,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.452,
"after": 1.0,
"delta": 0.548,
"percent_delta": 1.2124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 1.0,
"delta": 0.67,
"percent_delta": 2.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.364,
"delta": -0.013,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.865,
"after": 1.0,
"delta": 0.135,
"percent_delta": 0.1561,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.72,
"after": 2.0,
"delta": 1.28,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.452,
"after": 0.0,
"delta": -0.452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.619 | - |
| predicted_AVG | 0.201 | - |
| predicted_BB | 0.452 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.452 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.377 | - |
| predicted_SO | 0.865 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.221 | 0.038 |
| predicted_3B | 0.022 | 0.006 |
| predicted_AB | 3.571 | -0.048 |
| predicted_AVG | 0.203 | 0.002 |
| predicted_BB | 0.458 | 0.006 |
| predicted_H | 0.720 | -0.000 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.076 | -0.004 |
| predicted_OBP | 0.300 | 0.001 |
| predicted_R | 0.479 | 0.027 |
| predicted_RBI | 0.330 | 0.000 |
| predicted_SLG | 0.370 | -0.007 |
| predicted_SO | 0.863 | -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.221 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.571 | 0.000 |
| predicted_AVG | 0.200 | -0.003 |
| predicted_BB | 0.456 | -0.002 |
| predicted_H | 0.714 | -0.006 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.075 | -0.002 |
| predicted_OBP | 0.290 | -0.010 |
| predicted_R | 0.474 | -0.006 |
| predicted_RBI | 0.326 | -0.004 |
| predicted_SLG | 0.337 | -0.033 |
| predicted_SO | 0.866 | 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 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 | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.164 | 0.164 |
| 3B | 0.011 | 0.011 |
| BB | 0.296 | 0.296 |
| H | 0.721 | -0.279 |
| HR | 0.115 | 0.115 |
| RBI | 0.388 | 0.388 |
| SO | 0.837 | -0.163 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.164 |
| 3B | 0.000 | -0.011 |
| AB | 3.000 | 0.000 |
| AVG | 0.210 | - |
| BB | 0.000 | -0.296 |
| H | 0.000 | -0.721 |
| HR | 0.000 | -0.115 |
| OBP | 0.279 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -0.388 |
| SLG | 0.365 | - |
| SO | 1.000 | 0.163 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.221 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | -0.571 |
| predicted_AVG | 0.210 | 0.010 |
| predicted_BB | 0.000 | -0.456 |
| predicted_H | 0.000 | -0.714 |
| predicted_HR | 0.000 | -0.075 |
| predicted_OBP | 0.279 | -0.011 |
| predicted_R | 1.000 | 0.526 |
| predicted_RBI | 0.000 | -0.326 |
| predicted_SLG | 0.365 | 0.028 |
| predicted_SO | 1.000 | 0.134 |
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 | 2.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.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 | 2.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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 4.000 | 0.1250 | 0.2632 | 0.2500 | 0.1250 | 0.0000 | 0.0625 | 0.1875 | 0.2500 |
| last_10 | 0.20 | 10 | - | 34.000 | 6.000 | 4.000 | 1.000 | 0.000 | 1.000 | 6.000 | 4.000 | 9.000 | 0.1765 | 0.2632 | 0.3529 | 0.1765 | 0.0000 | 0.0294 | 0.1177 | 0.2647 |
| season | 0.60 | 126 | - | 456.000 | 108.000 | 23.000 | 2.000 | 15.000 | 56.000 | 57.000 | 57.000 | 109.000 | 0.2368 | 0.3276 | 0.3947 | 0.2368 | 0.0329 | 0.1228 | 0.1250 | 0.2390 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2700 |
| predicted_3B | 0.0290 |
| predicted_AB | 3.5080 |
| predicted_AVG | 0.2048 |
| predicted_BB | 0.4650 |
| predicted_H | 0.7190 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.0720 |
| predicted_OBP | 0.3020 |
| predicted_R | 0.5150 |
| predicted_RBI | 0.3300 |
| predicted_SLG | 0.3601 |
| predicted_SO | 0.8600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1830 | 0.2700 | 0.2208 | model_form_blend |
| predicted_3B | 0.0160 | 0.0290 | 0.0216 | model_form_blend |
| predicted_AB | 3.6190 | 3.5080 | 3.5708 | model_form_blend |
| predicted_AVG | 0.2010 | 0.2048 | 0.2026 | model_form_blend |
| predicted_BB | 0.4520 | 0.4650 | 0.4576 | model_form_blend |
| predicted_H | 0.7200 | 0.7190 | 0.7196 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.0800 | 0.0720 | 0.0765 | model_form_blend |
| predicted_OBP | 0.2990 | 0.3020 | 0.3003 | model_form_blend |
| predicted_R | 0.4520 | 0.5150 | 0.4794 | model_form_blend |
| predicted_RBI | 0.3300 | 0.3300 | 0.3300 | model_form_blend |
| predicted_SLG | 0.3770 | 0.3601 | 0.3697 | model_form_blend |
| predicted_SO | 0.8650 | 0.8600 | 0.8628 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 494 |
| Season rows before report date | 494 |
| Report year | 2026 |
| Profile rows used | 126 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| 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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20261010_CHW@CLE |
| game_type | full |
| mlbID | 683953 |
| playerID | 683953 |
| playerName | Travis Bazzana |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-10 |
| 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.078 | 0.000 | 0.000 | Hitting_2B | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.019 | 3.000 | 3.000 | Hitting_AB | 3.097 | 3.000 | -0.097 | 0.000 |
| predicted_AVG | 0.238 | 0.333 | 0.333 | Hitting_AVG | 0.263 | 0.000 | 0.070 | 0.333 |
| predicted_BB | 0.252 | 1.000 | 1.000 | Hitting_BB | 0.315 | 0.000 | 0.685 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.660 | 1.000 | 1.000 | Hitting_H | 0.815 | 0.000 | 0.185 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_OBP | 0.294 | 0.500 | 0.500 | Hitting_OBP | 0.330 | 0.000 | 0.170 | 0.500 |
| predicted_R | 0.311 | 1.000 | 1.000 | Hitting_R | 0.367 | 0.000 | 0.633 | 1.000 |
| predicted_RBI | 0.410 | 1.000 | 1.000 | Hitting_RBI | 0.468 | 0.000 | 0.532 | 1.000 |
| predicted_SLG | 0.430 | 0.333 | 0.333 | Hitting_SLG | 0.438 | 0.000 | -0.104 | 0.333 |
| predicted_SO | 0.883 | 0.000 | 0.000 | Hitting_SO | 0.915 | 0.000 | -0.915 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.2520 -> 1.0000 (boost 0.7480, better) |
| Biggest Deboost | predicted_SO: 0.8830 -> 0.0000 (deboost -0.8830, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4294 -> 0.3964 (deboost -0.0330, 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_H: 0.7017 -> 1.0000 (boost 0.2983, better) | predicted_RBI: 0.4066 -> 0.0000 (deboost -0.4066, worse) | AB rounded to 3 (raw=3.05), rates preserved: AVG=0.210 HR/AB=0.046 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3508 -> 0.0000 (deboost -0.3508, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 4 | 1 | 4 | 1 | predicted_RBI: 0.0000 -> 0.4121 (boost 0.4121, better) | predicted_H: 1.0000 -> 0.7260 (deboost -0.2740, 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.7260 -> 1.0000 (boost 0.2740, better) | predicted_RBI: 0.4121 -> 0.0000 (deboost -0.4121, 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 | 4 | 3 | 1 | 4 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | 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.3780 -> 0.3540 (deboost -0.0240, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "672275",
"player_name": "Patrick Bailey",
"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.078,
"predicted_3B": 0.01,
"predicted_AB": 3.019,
"predicted_AVG": 0.238,
"predicted_BB": 0.252,
"predicted_H": 0.66,
"predicted_HR": 0.13,
"predicted_OBP": 0.294,
"predicted_R": 0.311,
"predicted_RBI": 0.41,
"predicted_SLG": 0.43,
"predicted_SO": 0.883
},
"changed_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.0686,
"predicted_3B": 0.0087,
"predicted_AB": 3.051,
"predicted_AVG": 0.2428,
"predicted_BB": 0.2367,
"predicted_H": 0.7073,
"predicted_HBP": 0.008,
"predicted_HR": 0.1436,
"predicted_OBP": 0.2961,
"predicted_R": 0.3549,
"predicted_RBI": 0.4113,
"predicted_SLG": 0.4294,
"predicted_SO": 0.8536
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 103
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0686,
"predicted_3B": 0.0087,
"predicted_AB": 3.051,
"predicted_AVG": 0.23,
"predicted_BB": 0.2359,
"predicted_H": 0.7017,
"predicted_HBP": 0.008,
"predicted_HR": 0.1406,
"predicted_OBP": 0.2853,
"predicted_R": 0.3508,
"predicted_RBI": 0.4066,
"predicted_SLG": 0.3964,
"predicted_SO": 0.8564
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2428,
"after": 0.23,
"delta": -0.0128,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2961,
"after": 0.2853,
"delta": -0.0108,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4294,
"after": 0.3964,
"delta": -0.033,
"percent_delta": -0.0769,
"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.4294,
"after": 0.3964,
"delta": -0.033,
"percent_delta": -0.0769,
"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.05), rates preserved: AVG=0.210 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.0686,
"after": 0.0,
"delta": -0.0686,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.051,
"after": 3.0,
"delta": -0.051,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2359,
"after": 0.0,
"delta": -0.2359,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7017,
"after": 1.0,
"delta": 0.2983,
"percent_delta": 0.4251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1406,
"after": 0.0,
"delta": -0.1406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4066,
"after": 0.0,
"delta": -0.4066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8564,
"after": 1.0,
"delta": 0.1436,
"percent_delta": 0.1677,
"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.7017,
"after": 1.0,
"delta": 0.2983,
"percent_delta": 0.4251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4066,
"after": 0.0,
"delta": -0.4066,
"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_R",
"before": 0.3508,
"after": 0.0,
"delta": -0.3508,
"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.3508,
"after": 0.0,
"delta": -0.3508,
"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.1446,
"predicted_3B": 0.0108,
"predicted_BB": 0.2197,
"predicted_H": 0.726,
"predicted_HR": 0.1254,
"predicted_RBI": 0.4121,
"predicted_SO": 1.0239
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1446,
"delta": 0.1446,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2197,
"delta": 0.2197,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.726,
"delta": -0.274,
"percent_delta": -0.274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1254,
"delta": 0.1254,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4121,
"delta": 0.4121,
"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.4121,
"delta": 0.4121,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.726,
"delta": -0.274,
"percent_delta": -0.274,
"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.216,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.271,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.378,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1446,
"after": 0.0,
"delta": -0.1446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.216,
"delta": -0.014,
"percent_delta": -0.0609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2197,
"after": 0.0,
"delta": -0.2197,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.726,
"after": 1.0,
"delta": 0.274,
"percent_delta": 0.3774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1254,
"after": 0.0,
"delta": -0.1254,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2853,
"after": 0.271,
"delta": -0.0143,
"percent_delta": -0.0501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4121,
"after": 0.0,
"delta": -0.4121,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3964,
"after": 0.378,
"delta": -0.0184,
"percent_delta": -0.0464,
"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.726,
"after": 1.0,
"delta": 0.274,
"percent_delta": 0.3774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4121,
"after": 0.0,
"delta": -0.4121,
"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.216,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.271,
"predicted_R": 0.0,
"predicted_RBI": 0.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": 3.0,
"predicted_BB": 1.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": 0.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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"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": 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": 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.197,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.259,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.354,
"predicted_SO": 0.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.197,
"delta": -0.019,
"percent_delta": -0.088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.271,
"after": 0.259,
"delta": -0.012,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.354,
"delta": -0.024,
"percent_delta": -0.0635,
"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.378,
"after": 0.354,
"delta": -0.024,
"percent_delta": -0.0635,
"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.078,
"after": 0.0,
"delta": -0.078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.197,
"delta": -0.041,
"percent_delta": -0.1723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.252,
"after": 1.0,
"delta": 0.748,
"percent_delta": 2.9683,
"direction": "boost",
"projection_effect": "better",
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.259,
"delta": -0.035,
"percent_delta": -0.119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.311,
"after": 1.0,
"delta": 0.689,
"percent_delta": 2.2154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 1.0,
"delta": 0.59,
"percent_delta": 1.439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.354,
"delta": -0.076,
"percent_delta": -0.1767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.883,
"after": 0.0,
"delta": -0.883,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.252,
"after": 1.0,
"delta": 0.748,
"percent_delta": 2.9683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.883,
"after": 0.0,
"delta": -0.883,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.078 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 3.019 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.252 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.311 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.430 | - |
| predicted_SO | 0.883 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.069 | -0.009 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 3.051 | 0.032 |
| predicted_AVG | 0.243 | 0.005 |
| predicted_BB | 0.237 | -0.015 |
| predicted_H | 0.707 | 0.047 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.144 | 0.014 |
| predicted_OBP | 0.296 | 0.002 |
| predicted_R | 0.355 | 0.044 |
| predicted_RBI | 0.411 | 0.001 |
| predicted_SLG | 0.429 | -0.001 |
| predicted_SO | 0.854 | -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.069 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.051 | 0.000 |
| predicted_AVG | 0.230 | -0.013 |
| predicted_BB | 0.236 | -0.001 |
| predicted_H | 0.702 | -0.006 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.141 | -0.003 |
| predicted_OBP | 0.285 | -0.011 |
| predicted_R | 0.351 | -0.004 |
| predicted_RBI | 0.407 | -0.005 |
| predicted_SLG | 0.396 | -0.033 |
| predicted_SO | 0.856 | 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 3 (raw=3.05), rates preserved: AVG=0.210 HR/AB=0.046
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.011 | 0.011 |
| BB | 0.220 | 0.220 |
| H | 0.726 | -0.274 |
| HR | 0.125 | 0.125 |
| RBI | 0.412 | 0.412 |
| SO | 1.024 | 0.024 |
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.011 |
| AB | 3.000 | 0.000 |
| AVG | 0.216 | - |
| BB | 0.000 | -0.220 |
| H | 1.000 | 0.274 |
| HR | 0.000 | -0.125 |
| OBP | 0.271 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.412 |
| SLG | 0.378 | - |
| SO | 1.000 | -0.024 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.069 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 3.000 | -0.051 |
| predicted_AVG | 0.216 | -0.014 |
| predicted_BB | 0.000 | -0.236 |
| predicted_H | 1.000 | 0.298 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.271 | -0.014 |
| predicted_R | 0.000 | -0.351 |
| predicted_RBI | 0.000 | -0.407 |
| predicted_SLG | 0.378 | -0.018 |
| predicted_SO | 1.000 | 0.144 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| 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 | 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 | 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 | - | 15.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 2.000 | 0.3333 | 0.3750 | 0.5333 | 0.3333 | 0.0667 | 0.1333 | 0.0667 | 0.1333 |
| last_10 | 0.20 | 10 | - | 31.000 | 8.000 | 0.000 | 0.000 | 3.000 | 5.000 | 5.000 | 1.000 | 10.000 | 0.2581 | 0.2812 | 0.5484 | 0.2581 | 0.0968 | 0.1613 | 0.0323 | 0.3226 |
| season | 0.60 | 103 | - | 311.000 | 68.000 | 8.000 | 1.000 | 11.000 | 39.000 | 32.000 | 26.000 | 91.000 | 0.2186 | 0.2786 | 0.3569 | 0.2187 | 0.0354 | 0.1254 | 0.0836 | 0.2926 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0560 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.0940 |
| predicted_AVG | 0.2493 |
| predicted_BB | 0.2160 |
| predicted_H | 0.7710 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.1620 |
| predicted_OBP | 0.2990 |
| predicted_R | 0.4140 |
| predicted_RBI | 0.4130 |
| predicted_SLG | 0.4286 |
| predicted_SO | 0.8140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0780 | 0.0560 | 0.0686 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 3.0190 | 3.0940 | 3.0510 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2493 | 0.2428 | model_form_blend |
| predicted_BB | 0.2520 | 0.2160 | 0.2367 | model_form_blend |
| predicted_H | 0.6600 | 0.7710 | 0.7073 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1300 | 0.1620 | 0.1436 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2990 | 0.2961 | model_form_blend |
| predicted_R | 0.3110 | 0.4140 | 0.3549 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4130 | 0.4113 | model_form_blend |
| predicted_SLG | 0.4300 | 0.4286 | 0.4294 | model_form_blend |
| predicted_SO | 0.8830 | 0.8140 | 0.8536 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 248 |
| Season rows before report date | 248 |
| Report year | 2026 |
| Profile rows used | 103 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| 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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20261010_CHW@CLE |
| game_type | full |
| mlbID | 672275 |
| playerID | 672275 |
| playerName | Patrick Bailey |
| pos | C |
| started | True |
| startingPosition | C |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-10 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.271 |
| sl_xwoba | 0.307 |
| sl_xba | 0.24 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 42.4 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 26.8 |
| sl_swing_percent | 49.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.162 | 0.000 | 0.000 | Hitting_2B | 0.164 | 0.000 | -0.164 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 3.481 | 4.000 | 4.000 | Hitting_AB | 3.599 | 3.000 | 0.401 | 1.000 |
| predicted_AVG | 0.211 | 0.000 | 0.000 | Hitting_AVG | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_BB | 0.253 | 0.000 | 0.000 | Hitting_BB | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.710 | 0.000 | 0.000 | Hitting_H | 0.899 | 0.000 | -0.899 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_OBP | 0.303 | 0.000 | 0.000 | Hitting_OBP | 0.312 | 0.000 | -0.312 | 0.000 |
| predicted_R | 0.422 | 0.000 | 0.000 | Hitting_R | 0.436 | 0.000 | -0.436 | 0.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.442 | 0.000 | -0.442 | 0.000 |
| predicted_SLG | 0.348 | 0.000 | 0.000 | Hitting_SLG | 0.371 | 0.000 | -0.371 | 0.000 |
| predicted_SO | 0.565 | 1.000 | 1.000 | Hitting_SO | 0.581 | 2.000 | 0.419 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.4810 -> 4.0000 (boost 0.5190, better) |
| Biggest Deboost | predicted_H: 0.7100 -> 0.0000 (deboost -0.7100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2110 -> 0.2185 (boost 0.0075, better) | predicted_AB: 3.4810 -> 3.4161 (deboost -0.0649, worse) | Final model input calibrated with local 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.3063 -> 0.2760 (deboost -0.0303, 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_SO: 0.5804 -> 1.0000 (boost 0.4196, worse) | predicted_AB: 3.4161 -> 3.0000 (deboost -0.4161, worse) | AB rounded to 3 (raw=3.48), rates preserved: AVG=0.191 HR/AB=0.022 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4047 -> 0.0000 (deboost -0.4047, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.3720 (boost 0.3720, better) | predicted_SO: 1.0000 -> 0.5623 (deboost -0.4377, 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 | 9 | 2 | 7 | 3 | 6 | predicted_SLG: 0.3279 -> 0.3560 (boost 0.0281, better) | predicted_H: 0.7052 -> 0.0000 (deboost -0.7052, 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 | 2 | 2 | 0 | 1 | 1 | 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 |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2700 -> 0.2750 (boost 0.0050, better) | predicted_SLG: 0.3560 -> 0.3500 (deboost -0.0060, worse) | 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.162,
"predicted_3B": 0.013,
"predicted_AB": 3.481,
"predicted_AVG": 0.211,
"predicted_BB": 0.253,
"predicted_H": 0.71,
"predicted_HR": 0.07,
"predicted_OBP": 0.303,
"predicted_R": 0.422,
"predicted_RBI": 0.38,
"predicted_SLG": 0.348,
"predicted_SO": 0.565
},
"changed_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.1415,
"predicted_3B": 0.0108,
"predicted_AB": 3.4161,
"predicted_AVG": 0.2185,
"predicted_BB": 0.3005,
"predicted_H": 0.7318,
"predicted_HBP": 0.04,
"predicted_HR": 0.0787,
"predicted_OBP": 0.3063,
"predicted_R": 0.4094,
"predicted_RBI": 0.3817,
"predicted_SLG": 0.3483,
"predicted_SO": 0.5785
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.481,
"after": 3.4161,
"delta": -0.0649,
"percent_delta": -0.0186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2185,
"delta": 0.0075,
"percent_delta": 0.0355,
"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_AVG",
"before": 0.211,
"after": 0.2185,
"delta": 0.0075,
"percent_delta": 0.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.481,
"after": 3.4161,
"delta": -0.0649,
"percent_delta": -0.0186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1415,
"predicted_3B": 0.0108,
"predicted_AB": 3.4161,
"predicted_AVG": 0.2125,
"predicted_BB": 0.2995,
"predicted_H": 0.726,
"predicted_HBP": 0.04,
"predicted_HR": 0.0771,
"predicted_OBP": 0.276,
"predicted_R": 0.4047,
"predicted_RBI": 0.3773,
"predicted_SLG": 0.3279,
"predicted_SO": 0.5804
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2185,
"after": 0.2125,
"delta": -0.006,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3063,
"after": 0.276,
"delta": -0.0303,
"percent_delta": -0.0989,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3483,
"after": 0.3279,
"delta": -0.0204,
"percent_delta": -0.0586,
"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.3063,
"after": 0.276,
"delta": -0.0303,
"percent_delta": -0.0989,
"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.48), rates preserved: AVG=0.191 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1415,
"after": 0.0,
"delta": -0.1415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.4161,
"after": 3.0,
"delta": -0.4161,
"percent_delta": -0.1218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2995,
"after": 0.0,
"delta": -0.2995,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.726,
"after": 1.0,
"delta": 0.274,
"percent_delta": 0.3774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0771,
"after": 0.0,
"delta": -0.0771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3773,
"after": 0.0,
"delta": -0.3773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5804,
"after": 1.0,
"delta": 0.4196,
"percent_delta": 0.7229,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5804,
"after": 1.0,
"delta": 0.4196,
"percent_delta": 0.7229,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4161,
"after": 3.0,
"delta": -0.4161,
"percent_delta": -0.1218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.9077,
"bvp": 0.0923
}
},
{
"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.4047,
"after": 0.0,
"delta": -0.4047,
"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.4047,
"after": 0.0,
"delta": -0.4047,
"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.1471,
"predicted_3B": 0.0099,
"predicted_BB": 0.1841,
"predicted_H": 0.7052,
"predicted_HR": 0.0878,
"predicted_RBI": 0.372,
"predicted_SO": 0.5623
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1471,
"delta": 0.1471,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.1841,
"delta": 0.1841,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7052,
"delta": -0.2948,
"percent_delta": -0.2948,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0878,
"delta": 0.0878,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.372,
"delta": 0.372,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.5623,
"delta": -0.4377,
"percent_delta": -0.4377,
"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.372,
"delta": 0.372,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.5623,
"delta": -0.4377,
"percent_delta": -0.4377,
"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": 3.0,
"predicted_AVG": 0.221,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.27,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.356,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1471,
"after": 0.0,
"delta": -0.1471,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2125,
"after": 0.221,
"delta": 0.0085,
"percent_delta": 0.04,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1841,
"after": 0.0,
"delta": -0.1841,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7052,
"after": 0.0,
"delta": -0.7052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0878,
"after": 0.0,
"delta": -0.0878,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.27,
"delta": -0.006,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.372,
"after": 0.0,
"delta": -0.372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3279,
"after": 0.356,
"delta": 0.0281,
"percent_delta": 0.0857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5623,
"after": 0.0,
"delta": -0.5623,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3279,
"after": 0.356,
"delta": 0.0281,
"percent_delta": 0.0857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.7052,
"after": 0.0,
"delta": -0.7052,
"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.221,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.27,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.356,
"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": 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": 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_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"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": 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.217,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.275,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.35,
"predicted_SO": 1.0,
"predicted_SS": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.275,
"delta": 0.005,
"percent_delta": 0.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.35,
"delta": -0.006,
"percent_delta": -0.0169,
"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_OBP",
"before": 0.27,
"after": 0.275,
"delta": 0.005,
"percent_delta": 0.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.35,
"delta": -0.006,
"percent_delta": -0.0169,
"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.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.481,
"after": 4.0,
"delta": 0.519,
"percent_delta": 0.1491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.217,
"delta": 0.006,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.253,
"after": 0.0,
"delta": -0.253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"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.303,
"after": 0.275,
"delta": -0.028,
"percent_delta": -0.0924,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.422,
"after": 0.0,
"delta": -0.422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.565,
"after": 1.0,
"delta": 0.435,
"percent_delta": 0.7699,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.481,
"after": 4.0,
"delta": 0.519,
"percent_delta": 0.1491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.481 | - |
| predicted_AVG | 0.211 | - |
| predicted_BB | 0.253 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.422 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.348 | - |
| predicted_SO | 0.565 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.141 | -0.021 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.416 | -0.065 |
| predicted_AVG | 0.218 | 0.008 |
| predicted_BB | 0.300 | 0.047 |
| predicted_H | 0.732 | 0.022 |
| predicted_HBP | 0.040 | - |
| predicted_HR | 0.079 | 0.009 |
| predicted_OBP | 0.306 | 0.003 |
| predicted_R | 0.409 | -0.013 |
| predicted_RBI | 0.382 | 0.002 |
| predicted_SLG | 0.348 | 0.000 |
| predicted_SO | 0.579 | 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.141 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.416 | 0.000 |
| predicted_AVG | 0.212 | -0.006 |
| predicted_BB | 0.299 | -0.001 |
| predicted_H | 0.726 | -0.006 |
| predicted_HBP | 0.040 | 0.000 |
| predicted_HR | 0.077 | -0.002 |
| predicted_OBP | 0.276 | -0.030 |
| predicted_R | 0.405 | -0.005 |
| predicted_RBI | 0.377 | -0.004 |
| predicted_SLG | 0.328 | -0.020 |
| predicted_SO | 0.580 | 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.48), rates preserved: AVG=0.191 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.147 | 0.147 |
| 3B | 0.010 | 0.010 |
| BB | 0.184 | 0.184 |
| H | 0.705 | -0.295 |
| HR | 0.088 | 0.088 |
| RBI | 0.372 | 0.372 |
| SO | 0.562 | -0.438 |
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.010 |
| AB | 3.000 | 0.000 |
| AVG | 0.221 | - |
| BB | 0.000 | -0.184 |
| H | 0.000 | -0.705 |
| HR | 0.000 | -0.088 |
| OBP | 0.270 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.372 |
| SLG | 0.356 | - |
| SO | 0.000 | -0.562 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.141 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | -0.416 |
| predicted_AVG | 0.221 | 0.009 |
| predicted_BB | 0.000 | -0.299 |
| predicted_H | 0.000 | -0.726 |
| predicted_HR | 0.000 | -0.077 |
| predicted_OBP | 0.270 | -0.006 |
| predicted_R | 0.000 | -0.405 |
| predicted_RBI | 0.000 | -0.377 |
| predicted_SLG | 0.356 | 0.028 |
| predicted_SO | 0.000 | -0.580 |
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 | 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 | 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 | - | 14.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 3.000 | 0.1429 | 0.2941 | 0.1429 | 0.1429 | 0.0000 | 0.0714 | 0.2143 | 0.2143 |
| last_10 | 0.20 | 10 | - | 33.000 | 8.000 | 1.000 | 0.000 | 2.000 | 4.000 | 5.000 | 4.000 | 6.000 | 0.2424 | 0.3243 | 0.4545 | 0.2424 | 0.0606 | 0.1212 | 0.1212 | 0.1818 |
| season | 0.60 | 154 | - | 536.000 | 134.000 | 25.000 | 2.000 | 13.000 | 68.000 | 65.000 | 39.000 | 87.000 | 0.2500 | 0.3119 | 0.3769 | 0.2500 | 0.0243 | 0.1269 | 0.0728 | 0.1623 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.3320 |
| predicted_AVG | 0.2281 |
| predicted_BB | 0.3620 |
| predicted_H | 0.7600 |
| predicted_HBP | 0.0400 |
| predicted_HR | 0.0900 |
| predicted_OBP | 0.3106 |
| predicted_R | 0.3930 |
| predicted_RBI | 0.3840 |
| predicted_SLG | 0.3486 |
| predicted_SO | 0.5960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.1150 | 0.1415 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0108 | model_form_blend |
| predicted_AB | 3.4810 | 3.3320 | 3.4161 | model_form_blend |
| predicted_AVG | 0.2110 | 0.2281 | 0.2185 | model_form_blend |
| predicted_BB | 0.2530 | 0.3620 | 0.3005 | model_form_blend |
| predicted_H | 0.7100 | 0.7600 | 0.7318 | model_form_blend |
| predicted_HBP | - | 0.0400 | 0.0400 | form_only |
| predicted_HR | 0.0700 | 0.0900 | 0.0787 | model_form_blend |
| predicted_OBP | 0.3030 | 0.3106 | 0.3063 | model_form_blend |
| predicted_R | 0.4220 | 0.3930 | 0.4094 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3840 | 0.3817 | model_form_blend |
| predicted_SLG | 0.3480 | 0.3486 | 0.3483 | model_form_blend |
| predicted_SO | 0.5650 | 0.5960 | 0.5785 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 573 |
| Season rows before report date | 573 |
| 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 | 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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20261010_CHW@CLE |
| game_type | full |
| mlbID | 677587 |
| playerID | 677587 |
| playerName | Brayan Rocchio |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-10 |
| 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 | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.500 | 0.000 | 0.500 | 2.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 2.600 | 1.000 | 1.400 | 3.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 5.700 | 2.000 | -0.700 | 3.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.530 | 2.200 | -0.330 | 2.000 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 4.900 | 7.000 | 0.100 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 4 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 2 |
| Better Metrics | 1 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_ER: 2.0000 -> 4.0000 (boost 2.0000, worse) |
| Biggest Deboost | predicted_IP: 5.3333 -> 4.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 | 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 |
| 8 | play_by_play_realization | 4 | 2 | 2 | 1 | 3 | predicted_ER: 2.0000 -> 4.0000 (boost 2.0000, worse) | predicted_IP: 5.3333 -> 4.2000 (deboost -1.1333, 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": "656492",
"player_name": "Foster Griffin",
"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": 3.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.3333,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"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": "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": 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": 2.0,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_R": 4.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.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_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"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_ER",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"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": 2.0,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.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_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"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_ER",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"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 | 3.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.333 | - |
| 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 |
|---|
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 | 2.000 | - |
| BF | 22.000 | - |
| ER | 4.000 | - |
| H | 5.000 | - |
| HR | 1.000 | - |
| IP | 4.200 | - |
| Pitches | 97.000 | - |
| R | 4.000 | - |
| SO | 5.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 21.000 | 15.000 | 32.000 | 6.000 | 26.000 | 0.000 | 6.4286 | 1.8095 | 0.7143 | 1.5238 | 0.2857 | 1.2381 | 0.0000 |
| last_10 | 0.35 | 10 | 46.000 | 26.000 | 57.000 | 15.000 | 49.000 | 4.000 | 5.0870 | 1.5652 | 0.5652 | 1.2391 | 0.3261 | 1.0652 | 0.0870 |
| season | 0.20 | 32 | 175.100 | 70.000 | 166.000 | 45.000 | 165.000 | 23.000 | 3.5932 | 1.2034 | 0.3992 | 0.9468 | 0.2566 | 0.9411 | 0.1312 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4510 |
| predicted_ER | 2.7870 |
| predicted_ERA | 5.2884 |
| predicted_H | 5.9990 |
| predicted_HR | 0.3270 |
| predicted_IP | 4.2000 |
| predicted_SO | 5.1850 |
| predicted_WHIP | 1.5710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.4510 | 2.0816 | model_form_blend |
| predicted_ER | 2.0000 | 2.7870 | 2.4666 | model_form_blend |
| predicted_ERA | - | 5.2884 | 5.2884 | form_only |
| predicted_H | 3.0000 | 5.9990 | 4.7782 | model_form_blend |
| predicted_HR | 1.0000 | 0.3270 | 0.6010 | model_form_blend |
| predicted_IP | 5.1000 | 4.2000 | 5.0000 | model_form_blend |
| predicted_SO | 5.0000 | 5.1850 | 5.1097 | model_form_blend |
| predicted_WHIP | - | 1.5710 | 1.5710 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 10 |
| Season rows before report date | 10 |
| Report year | 2026 |
| Profile rows used | 32 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 5 |
| R | 4 |
| ER | 4 |
| BB | 2 |
| SO | 5 |
| HR | 1 |
| BF | 22 |
| Pitches | 97 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 11 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.38 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.2 |
| Pitching_Pitches | 53 |
| Pitching_R | 1 |
| Pitching_SO | 7 |
| Pitching_Strikes | 39 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 656492 |
| playerID | 656492 |
| playerName | Foster Griffin |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-07 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.311 |
| sl_xwoba | 0.32 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 37.0 |
| sl_whiff_percent | 23.2 |
| sl_swing_percent | 48.4 |
| sl_avg_best_speed | 75.80857136 |
| sl_avg_hyper_speed | 93.91929358 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 2.441 | 2.000 | -2.441 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.912 | 1.000 | -1.912 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 4.294 | 1.000 | -3.294 | 0.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.609 | 1.200 | -0.409 | 3.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 5.059 | 1.000 | -3.059 | 1.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_IP: 2.0000 -> 4.2000 (boost 2.2000, better) |
| 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 | 1 | 3 | 4 | 0 | predicted_IP: 2.0000 -> 4.2000 (boost 2.2000, better) | 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": "676282",
"player_name": "Joey Cantillo",
"position": "Long Reliever",
"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": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 2.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": 4.2,
"predicted_R": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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": 2.0,
"after": 4.2,
"delta": 2.2,
"percent_delta": 1.1,
"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_IP",
"before": 2.0,
"after": 4.2,
"delta": 2.2,
"percent_delta": 1.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": 4.2,
"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": 3.0,
"after": 0.0,
"delta": -3.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_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": 2.0,
"after": 4.2,
"delta": 2.2,
"percent_delta": 1.1,
"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_IP",
"before": 2.0,
"after": 4.2,
"delta": 2.2,
"percent_delta": 1.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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 | 0.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 2.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 | 15.000 | - |
| ER | 0.000 | - |
| H | 1.000 | - |
| HR | 0.000 | - |
| IP | 4.200 | - |
| Pitches | 55.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 | 19.000 | 5.000 | 9.000 | 11.000 | 21.000 | 1.000 | 2.3684 | 1.0526 | 0.2632 | 0.4737 | 0.5789 | 1.1053 | 0.0526 |
| last_10 | 0.35 | 10 | 42.000 | 14.000 | 28.000 | 27.000 | 43.000 | 2.000 | 3.0000 | 1.3095 | 0.3333 | 0.6667 | 0.6429 | 1.0238 | 0.0476 |
| season | 0.20 | 34 | 160.200 | 65.000 | 146.000 | 83.000 | 172.000 | 17.000 | 3.6411 | 1.4253 | 0.4046 | 0.9087 | 0.5166 | 1.0705 | 0.1058 |
| Metric | Value |
|---|---|
| predicted_BB | 2.1540 |
| predicted_ER | 1.3080 |
| predicted_ERA | 3.0723 |
| predicted_H | 2.5820 |
| predicted_HR | 0.2780 |
| predicted_IP | 3.2000 |
| predicted_SO | 4.0310 |
| predicted_WHIP | 1.2363 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 2.1540 | 1.2834 | model_form_blend |
| predicted_ER | 3.0000 | 1.3080 | 1.9918 | model_form_blend |
| predicted_ERA | - | 3.0723 | 3.0723 | form_only |
| predicted_H | 3.0000 | 2.5820 | 2.7509 | model_form_blend |
| predicted_HR | 1.0000 | 0.2780 | 0.5698 | model_form_blend |
| predicted_IP | 2.0000 | 3.2000 | 3.0000 | model_form_blend |
| predicted_SO | 2.0000 | 4.0310 | 3.2101 | model_form_blend |
| predicted_WHIP | - | 1.2363 | 1.2363 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 1 |
| R | 1 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 15 |
| Pitches | 55 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 1 |
| Pitching_ERA | 5.40 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 25 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 676282 |
| playerID | 676282 |
| playerName | Joey Cantillo |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-07 |
| sl_k_percent | 24.9 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.324 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 39.4 |
| sl_whiff_percent | 29.1 |
| sl_swing_percent | 44.4 |
| sl_avg_best_speed | 76.892746095 |
| sl_avg_hyper_speed | 93.87355431 |
| 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 | 6 |
| Pre ER | 0 |
| Pre H | 3 |
| Pre BB | 1 |
| Pre SO | 5 |
| 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.0129,
"defense_index": 1.1179,
"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": "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.933,
"defense_index": 1.0894,
"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.02,
"offense_edge": 0.0129,
"opponent_offense_edge": -0.067,
"defense_strength": 0.1179,
"opponent_defense_weakness": -0.0894,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 1.007,
"run_prevention": 0.9765,
"strikeout": 1.006
},
"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": "20261012",
"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.482,
"predicted_SO": 6.391,
"predicted_HR": 0.349,
"predicted_ERA": 1.9551,
"predicted_WHIP": 0.8645
}
}{
"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": 0.0,
"form": 1.379,
"final": 0.8154,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.006,
"final": 3.5949,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.482,
"final": 0.8763,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 6.391,
"final": 5.4138,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.349,
"final": 0.2064,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.9551,
"final": 1.9551,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8645,
"final": 0.8645,
"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 | 1 |
| Pre SO | 1 |
| Season ERA | 3.8102 |
| Season WHIP | 1.0730 |
| Role Avg IP | 1.8750 |
| Recent Avg IP | 3 |
| 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.0129,
"defense_index": 1.1179,
"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": "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.933,
"defense_index": 1.0894,
"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.02,
"offense_edge": 0.0129,
"opponent_offense_edge": -0.067,
"defense_strength": 0.1179,
"opponent_defense_weakness": -0.0894,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 1.007,
"run_prevention": 0.9765,
"strikeout": 1.006
},
"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": 40.2,
"ER": 19,
"H": 38,
"BB": 5,
"SO": 49,
"HR": 11,
"ERA": 4.204918032786885,
"WHIP": 1.0573770491803278,
"K9": 10.844262295081968,
"HR9": 2.4344262295081966,
"games_pitched": 10,
"quality_starts": 2,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-07T00:00:00"
}{
"available": true,
"pitcher_id": "693855",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 79,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 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": 79,
"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.33,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.85,
"prior_weight": 0.15
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "693855",
"report_date": "20261012",
"season_year": 2026,
"rows_used": 48,
"reference_playing_time": 2.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 14.2,
"ER": 5.0,
"R": 5.0,
"H": 10.0,
"BB": 2.0,
"SO": 14.0,
"HR": 3.0,
"BF": 57.0,
"Pitches": 211.0
},
"per_game": {
"IP": 3.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.4,
"SO": 2.8,
"HR": 0.6,
"BF": 11.4,
"Pitches": 42.2
},
"rates": {
"ERA": 3.0682,
"WHIP": 0.8182,
"ER_per_IP": 0.34091,
"H_per_IP": 0.68182,
"BB_per_IP": 0.13636,
"SO_per_IP": 0.95455,
"HR_per_IP": 0.20455
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 40.2,
"ER": 19.0,
"R": 21.0,
"H": 38.0,
"BB": 5.0,
"SO": 49.0,
"HR": 11.0,
"BF": 167.0,
"Pitches": 631.0
},
"per_game": {
"IP": 4.0,
"ER": 1.9,
"R": 2.1,
"H": 3.8,
"BB": 0.5,
"SO": 4.9,
"HR": 1.1,
"BF": 16.7,
"Pitches": 63.1
},
"rates": {
"ERA": 4.2049,
"WHIP": 1.0574,
"ER_per_IP": 0.46721,
"H_per_IP": 0.93443,
"BB_per_IP": 0.12295,
"SO_per_IP": 1.20492,
"HR_per_IP": 0.27049
}
},
"season": {
"games": 48,
"totals": {
"IP": 137.0,
"ER": 58.0,
"R": 63.0,
"H": 111.0,
"BB": 36.0,
"SO": 164.0,
"HR": 26.0,
"BF": 561.0,
"Pitches": 2166.0
},
"per_game": {
"IP": 3.0,
"ER": 1.2083,
"R": 1.3125,
"H": 2.3125,
"BB": 0.75,
"SO": 3.4167,
"HR": 0.5417,
"BF": 11.6875,
"Pitches": 45.125
},
"rates": {
"ERA": 3.8102,
"WHIP": 1.073,
"ER_per_IP": 0.42336,
"H_per_IP": 0.81022,
"BB_per_IP": 0.26277,
"SO_per_IP": 1.19708,
"HR_per_IP": 0.18978
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.0,
"predicted_ER": 1.317,
"predicted_H": 2.595,
"predicted_BB": 0.6,
"predicted_SO": 3.359,
"predicted_HR": 0.671,
"predicted_ERA": 3.7661,
"predicted_WHIP": 1.0151
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4134,
"form_weight": 0.5866,
"form_reliability": 0.85,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 28.33,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.85,
"prior_weight": 0.15
},
"applied_metrics": {
"predicted_IP": {
"model": 2.0,
"form": 3.0,
"final": 2.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 1.317,
"final": 2.4261,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 2.595,
"final": 2.7624,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.6,
"final": 0.7653,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 3.359,
"final": 1.9705,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.671,
"final": 0.807,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7661,
"final": 3.7661,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0151,
"final": 1.0151,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Cam Booser |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4156 |
| ESPN Rank | - |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 2 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 1.9286 |
| Season WHIP | 0.7619 |
| Role Avg IP | 0.9550 |
| Recent Avg IP | 0.7330 |
| 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.0129,
"defense_index": 1.1179,
"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": "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.933,
"defense_index": 1.0894,
"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.02,
"offense_edge": 0.0129,
"opponent_offense_edge": -0.067,
"defense_strength": 0.1179,
"opponent_defense_weakness": -0.0894,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 1.007,
"run_prevention": 0.9765,
"strikeout": 1.006
},
"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.0
},
"quality_score": 0.4156,
"sample_weight": 0.548,
"run_prevention_factor": 0.9647,
"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.9807,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9807,
"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": 1,
"BB": 1,
"SO": 6,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.27272727272727276,
"K9": 7.363636363636365,
"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": "592155",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.685,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6346,
"prior_weight": 0.3654
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "592155",
"report_date": "20261012",
"season_year": 2026,
"rows_used": 44,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 14.0,
"Pitches": 52.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.8,
"Pitches": 10.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5455,
"ER_per_IP": 0.0,
"H_per_IP": 0.27273,
"BB_per_IP": 0.27273,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 90.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.1,
"BB": 0.1,
"SO": 0.6,
"HR": 0.0,
"BF": 2.5,
"Pitches": 9.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.2727,
"ER_per_IP": 0.0,
"H_per_IP": 0.13636,
"BB_per_IP": 0.13636,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.0
}
},
"season": {
"games": 44,
"totals": {
"IP": 42.0,
"ER": 9.0,
"R": 10.0,
"H": 25.0,
"BB": 7.0,
"SO": 45.0,
"HR": 5.0,
"BF": 157.0,
"Pitches": 589.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2045,
"R": 0.2273,
"H": 0.5682,
"BB": 0.1591,
"SO": 1.0227,
"HR": 0.1136,
"BF": 3.5682,
"Pitches": 13.3864
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.7619,
"ER_per_IP": 0.21429,
"H_per_IP": 0.59524,
"BB_per_IP": 0.16667,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.11905
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.152,
"predicted_H": 0.386,
"predicted_BB": 0.191,
"predicted_SO": 0.633,
"predicted_HR": 0.049,
"predicted_ERA": 1.9348,
"predicted_WHIP": 0.8127
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5044,
"form_weight": 0.4956,
"form_reliability": 0.6346,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.685,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6346,
"prior_weight": 0.3654
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.152,
"final": 0.0753,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.386,
"final": 0.1913,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.191,
"final": 0.0947,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.633,
"final": 0.3137,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.049,
"final": 0.0243,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.9348,
"final": 1.9348,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8127,
"final": 0.8127,
"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.167 | 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.630 | 5.000 | 5.000 | Hitting_AB | 4.075 | 4.000 | 0.925 | 1.000 |
| predicted_AVG | 0.271 | 0.200 | 0.200 | Hitting_AVG | 0.299 | 0.250 | -0.099 | -0.050 |
| predicted_BB | 0.365 | 0.000 | 0.000 | Hitting_BB | 0.363 | 0.000 | -0.363 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 1.530 | 1.000 | 1.000 | Hitting_H | 1.217 | 1.000 | -0.217 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_OBP | 0.344 | 0.200 | 0.200 | Hitting_OBP | 0.362 | 0.250 | -0.162 | -0.050 |
| predicted_R | 0.603 | 0.000 | 0.000 | Hitting_R | 0.613 | 0.000 | -0.613 | 0.000 |
| predicted_RBI | 0.590 | 1.000 | 1.000 | Hitting_RBI | 0.577 | 0.000 | 0.423 | 1.000 |
| predicted_SLG | 0.395 | 0.400 | 0.400 | Hitting_SLG | 0.454 | 0.250 | -0.054 | 0.150 |
| predicted_SO | 0.641 | 0.000 | 0.000 | Hitting_SO | 0.643 | 2.000 | -0.643 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_2B: 0.1670 -> 1.0000 (boost 0.8330, better) |
| Biggest Deboost | predicted_SO: 0.6410 -> 0.0000 (deboost -0.6410, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AVG: 0.2710 -> 0.2777 (boost 0.0067, better) | predicted_AB: 5.6300 -> 4.9009 (deboost -0.7291, worse) | Final model input calibrated with local 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.3461 -> 0.3229 (deboost -0.0232, 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 | 0 | 7 | 1 | 6 | - | predicted_AB: 4.9009 -> 4.0000 (deboost -0.9009, worse) | AB rounded to 4 (raw=5.63), rates preserved: AVG=0.241 HR/AB=0.019 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6201 -> 1.0000 (boost 0.3799, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 6 | 0 | 5 | 1 | predicted_SO: 0.0000 -> 0.6477 (boost 0.6477, 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 | 7 | 2 | 6 | 3 | predicted_2B: 0.1953 -> 1.0000 (boost 0.8047, better) | predicted_HR: 0.1498 -> 0.0000 (deboost -0.1498, 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 | 1 | 3 | 2 | 2 | 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 | 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.167,
"predicted_3B": 0.006,
"predicted_AB": 5.63,
"predicted_AVG": 0.271,
"predicted_BB": 0.365,
"predicted_H": 1.53,
"predicted_HR": 0.12,
"predicted_OBP": 0.344,
"predicted_R": 0.603,
"predicted_RBI": 0.59,
"predicted_SLG": 0.395,
"predicted_SO": 0.641
},
"changed_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.1639,
"predicted_3B": 0.0051,
"predicted_AB": 4.9009,
"predicted_AVG": 0.2777,
"predicted_BB": 0.3611,
"predicted_H": 1.357,
"predicted_HBP": 0.038,
"predicted_HR": 0.1051,
"predicted_OBP": 0.3461,
"predicted_R": 0.6341,
"predicted_RBI": 0.5112,
"predicted_SLG": 0.3946,
"predicted_SO": 0.6379
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 5.63,
"after": 4.9009,
"delta": -0.7291,
"percent_delta": -0.1295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2777,
"delta": 0.0067,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.53,
"after": 1.357,
"delta": -0.173,
"percent_delta": -0.1131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.5112,
"delta": -0.0788,
"percent_delta": -0.1336,
"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_AVG",
"before": 0.271,
"after": 0.2777,
"delta": 0.0067,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.63,
"after": 4.9009,
"delta": -0.7291,
"percent_delta": -0.1295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1639,
"predicted_3B": 0.0051,
"predicted_AB": 4.9009,
"predicted_AVG": 0.273,
"predicted_BB": 0.3615,
"predicted_H": 1.3379,
"predicted_HBP": 0.038,
"predicted_HR": 0.1044,
"predicted_OBP": 0.3229,
"predicted_R": 0.6201,
"predicted_RBI": 0.4999,
"predicted_SLG": 0.3724,
"predicted_SO": 0.6372
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3461,
"after": 0.3229,
"delta": -0.0232,
"percent_delta": -0.067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3946,
"after": 0.3724,
"delta": -0.0222,
"percent_delta": -0.0563,
"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.3461,
"after": 0.3229,
"delta": -0.0232,
"percent_delta": -0.067,
"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.63), rates preserved: AVG=0.241 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1639,
"after": 0.0,
"delta": -0.1639,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.9009,
"after": 4.0,
"delta": -0.9009,
"percent_delta": -0.1838,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3615,
"after": 0.0,
"delta": -0.3615,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3379,
"after": 1.0,
"delta": -0.3379,
"percent_delta": -0.2526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1044,
"after": 0.0,
"delta": -0.1044,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4999,
"after": 0.0,
"delta": -0.4999,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6372,
"after": 0.0,
"delta": -0.6372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.9009,
"after": 4.0,
"delta": -0.9009,
"percent_delta": -0.1838,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.6201,
"after": 1.0,
"delta": 0.3799,
"percent_delta": 0.6126,
"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.6201,
"after": 1.0,
"delta": 0.3799,
"percent_delta": 0.6126,
"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.1953,
"predicted_3B": 0.0126,
"predicted_BB": 0.3055,
"predicted_H": 1.1386,
"predicted_HR": 0.1498,
"predicted_RBI": 0.5293,
"predicted_SO": 0.6477
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1953,
"delta": 0.1953,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3055,
"delta": 0.3055,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.1386,
"delta": 0.1386,
"percent_delta": 0.1386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1498,
"delta": 0.1498,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5293,
"delta": 0.5293,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.6477,
"delta": 0.6477,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 0.6477,
"delta": 0.6477,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.281,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.336,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.446,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1953,
"after": 1.0,
"delta": 0.8047,
"percent_delta": 4.1203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.281,
"delta": 0.008,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3055,
"after": 1.0,
"delta": 0.6945,
"percent_delta": 2.2733,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1386,
"after": 1.0,
"delta": -0.1386,
"percent_delta": -0.1217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1498,
"after": 0.0,
"delta": -0.1498,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3229,
"after": 0.336,
"delta": 0.0131,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5293,
"after": 1.0,
"delta": 0.4707,
"percent_delta": 0.8893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3724,
"after": 0.446,
"delta": 0.0736,
"percent_delta": 0.1976,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6477,
"after": 1.0,
"delta": 0.3523,
"percent_delta": 0.5439,
"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_2B",
"before": 0.1953,
"after": 1.0,
"delta": 0.8047,
"percent_delta": 4.1203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1498,
"after": 0.0,
"delta": -0.1498,
"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.281,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.336,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.446,
"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": 1.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": 1.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_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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_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": 1.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": 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": 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": 5.0,
"predicted_AVG": 0.281,
"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.336,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.446,
"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.167,
"after": 1.0,
"delta": 0.833,
"percent_delta": 4.988,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.63,
"after": 5.0,
"delta": -0.63,
"percent_delta": -0.1119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.281,
"delta": 0.01,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.365,
"after": 0.0,
"delta": -0.365,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.53,
"after": 1.0,
"delta": -0.53,
"percent_delta": -0.3464,
"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.344,
"after": 0.336,
"delta": -0.008,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.603,
"after": 0.0,
"delta": -0.603,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.446,
"delta": 0.051,
"percent_delta": 0.1291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.641,
"after": 0.0,
"delta": -0.641,
"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_2B",
"before": 0.167,
"after": 1.0,
"delta": 0.833,
"percent_delta": 4.988,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.641,
"after": 0.0,
"delta": -0.641,
"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.167 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 5.630 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.365 | - |
| predicted_H | 1.530 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.344 | - |
| predicted_R | 0.603 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.395 | - |
| predicted_SO | 0.641 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | -0.003 |
| predicted_3B | 0.005 | -0.001 |
| predicted_AB | 4.901 | -0.729 |
| predicted_AVG | 0.278 | 0.007 |
| predicted_BB | 0.361 | -0.004 |
| predicted_H | 1.357 | -0.173 |
| predicted_HBP | 0.038 | - |
| predicted_HR | 0.105 | -0.015 |
| predicted_OBP | 0.346 | 0.002 |
| predicted_R | 0.634 | 0.031 |
| predicted_RBI | 0.511 | -0.079 |
| predicted_SLG | 0.395 | -0.000 |
| predicted_SO | 0.638 | -0.003 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | 0.000 |
| predicted_3B | 0.005 | 0.000 |
| predicted_AB | 4.901 | 0.000 |
| predicted_AVG | 0.273 | -0.005 |
| predicted_BB | 0.361 | 0.000 |
| predicted_H | 1.338 | -0.019 |
| predicted_HBP | 0.038 | 0.000 |
| predicted_HR | 0.104 | -0.001 |
| predicted_OBP | 0.323 | -0.023 |
| predicted_R | 0.620 | -0.014 |
| predicted_RBI | 0.500 | -0.011 |
| predicted_SLG | 0.372 | -0.022 |
| predicted_SO | 0.637 | -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=5.63), rates preserved: AVG=0.241 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.195 | 0.195 |
| 3B | 0.013 | 0.013 |
| BB | 0.305 | 0.305 |
| H | 1.139 | 0.139 |
| HR | 0.150 | 0.150 |
| RBI | 0.529 | 0.529 |
| SO | 0.648 | 0.648 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.805 |
| 3B | 0.000 | -0.013 |
| AB | 4.000 | 0.000 |
| AVG | 0.281 | - |
| BB | 1.000 | 0.695 |
| H | 1.000 | -0.139 |
| HR | 0.000 | -0.150 |
| OBP | 0.336 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.471 |
| SLG | 0.446 | - |
| SO | 1.000 | 0.352 |
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.836 |
| predicted_3B | 0.000 | -0.005 |
| predicted_AB | 4.000 | -0.901 |
| predicted_AVG | 0.281 | 0.008 |
| predicted_BB | 1.000 | 0.639 |
| predicted_H | 1.000 | -0.338 |
| predicted_HR | 0.000 | -0.104 |
| predicted_OBP | 0.336 | 0.013 |
| predicted_R | 1.000 | 0.380 |
| predicted_RBI | 1.000 | 0.500 |
| predicted_SLG | 0.446 | 0.074 |
| predicted_SO | 1.000 | 0.363 |
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 | 1.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 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 1.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 | 1.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 | 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 | - | 20.000 | 6.000 | 1.000 | 0.000 | 0.000 | 0.000 | 4.000 | 1.000 | 3.000 | 0.3000 | 0.3333 | 0.3500 | 0.3000 | 0.0000 | 0.0000 | 0.0500 | 0.1500 |
| last_10 | 0.20 | 10 | - | 39.000 | 10.000 | 1.000 | 0.000 | 0.000 | 4.000 | 8.000 | 5.000 | 6.000 | 0.2564 | 0.3409 | 0.2821 | 0.2564 | 0.0000 | 0.1026 | 0.1282 | 0.1538 |
| season | 0.60 | 156 | - | 622.000 | 183.000 | 26.000 | 1.000 | 22.000 | 85.000 | 94.000 | 57.000 | 100.000 | 0.2942 | 0.3597 | 0.4453 | 0.2942 | 0.0354 | 0.1367 | 0.0916 | 0.1608 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1600 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.9650 |
| predicted_AVG | 0.2862 |
| predicted_BB | 0.3560 |
| predicted_H | 1.1350 |
| predicted_HBP | 0.0380 |
| predicted_HR | 0.0860 |
| predicted_OBP | 0.3488 |
| predicted_R | 0.6740 |
| predicted_RBI | 0.4100 |
| predicted_SLG | 0.3942 |
| predicted_SO | 0.6340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1600 | 0.1639 | model_form_blend |
| predicted_3B | 0.0060 | 0.0040 | 0.0051 | model_form_blend |
| predicted_AB | 5.6300 | 3.9650 | 4.9009 | model_form_blend |
| predicted_AVG | 0.2710 | 0.2862 | 0.2777 | model_form_blend |
| predicted_BB | 0.3650 | 0.3560 | 0.3611 | model_form_blend |
| predicted_H | 1.5300 | 1.1350 | 1.3570 | model_form_blend |
| predicted_HBP | - | 0.0380 | 0.0380 | form_only |
| predicted_HR | 0.1200 | 0.0860 | 0.1051 | model_form_blend |
| predicted_OBP | 0.3440 | 0.3488 | 0.3461 | model_form_blend |
| predicted_R | 0.6030 | 0.6740 | 0.6341 | model_form_blend |
| predicted_RBI | 0.5900 | 0.4100 | 0.5112 | model_form_blend |
| predicted_SLG | 0.3950 | 0.3942 | 0.3946 | model_form_blend |
| predicted_SO | 0.6410 | 0.6340 | 0.6379 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 664 |
| Season rows before report date | 664 |
| 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 | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20261007_TB@NYY |
| 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-07 |
| 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.172 | 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.250 | 4.000 | 4.000 | Hitting_AB | 3.905 | 3.000 | 0.095 | 1.000 |
| predicted_AVG | 0.267 | 0.000 | 0.000 | Hitting_AVG | 0.283 | 0.333 | -0.283 | -0.333 |
| predicted_BB | 0.433 | 0.000 | 0.000 | Hitting_BB | 0.459 | 0.000 | -0.459 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 1.130 | 0.000 | 0.000 | Hitting_H | 1.107 | 1.000 | -1.107 | -1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.152 | 0.000 | -0.152 | 0.000 |
| predicted_OBP | 0.349 | 0.000 | 0.000 | Hitting_OBP | 0.365 | 0.500 | -0.365 | -0.500 |
| predicted_R | 0.478 | 0.000 | 0.000 | Hitting_R | 0.516 | 0.000 | -0.516 | 0.000 |
| predicted_RBI | 0.560 | 0.000 | 0.000 | Hitting_RBI | 0.654 | 1.000 | -0.654 | -1.000 |
| predicted_SLG | 0.444 | 0.000 | 0.000 | Hitting_SLG | 0.445 | 0.333 | -0.445 | -0.333 |
| predicted_SO | 1.032 | 1.000 | 1.000 | Hitting_SO | 1.065 | 0.000 | -0.065 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 11 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 1.1300 -> 0.0000 (deboost -1.1300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.2500 -> 3.9822 (deboost -0.2678, worse) | Final model input calibrated with local 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.3513 -> 0.3331 (deboost -0.0182, 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.5194 -> 0.0000 (deboost -0.5194, worse) | AB rounded to 4 (raw=4.25), rates preserved: AVG=0.250 HR/AB=0.043 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4456 -> 0.0000 (deboost -0.4456, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 5 | 0 | 5 | 0 | predicted_RBI: 0.0000 -> 0.5947 (boost 0.5947, 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 | 7 | 2 | 5 | 2 | 5 | predicted_RBI: 0.5947 -> 1.0000 (boost 0.4053, better) | predicted_BB: 0.2940 -> 0.0000 (deboost -0.2940, 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 | 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 |
| 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.4360 -> 0.4040 (deboost -0.0320, worse) | 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.172,
"predicted_3B": 0.0,
"predicted_AB": 4.25,
"predicted_AVG": 0.267,
"predicted_BB": 0.433,
"predicted_H": 1.13,
"predicted_HR": 0.2,
"predicted_OBP": 0.349,
"predicted_R": 0.478,
"predicted_RBI": 0.56,
"predicted_SLG": 0.444,
"predicted_SO": 1.032
},
"changed_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.1681,
"predicted_3B": 0.0004,
"predicted_AB": 3.9822,
"predicted_AVG": 0.2679,
"predicted_BB": 0.4155,
"predicted_H": 1.0639,
"predicted_HBP": 0.104,
"predicted_HR": 0.186,
"predicted_OBP": 0.3513,
"predicted_R": 0.4557,
"predicted_RBI": 0.5311,
"predicted_SLG": 0.4478,
"predicted_SO": 0.9996
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.25,
"after": 3.9822,
"delta": -0.2678,
"percent_delta": -0.063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.0639,
"delta": -0.0661,
"percent_delta": -0.0585,
"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_AB",
"before": 4.25,
"after": 3.9822,
"delta": -0.2678,
"percent_delta": -0.063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 157
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1681,
"predicted_3B": 0.0004,
"predicted_AB": 3.9822,
"predicted_AVG": 0.2634,
"predicted_BB": 0.416,
"predicted_H": 1.0489,
"predicted_HBP": 0.104,
"predicted_HR": 0.1848,
"predicted_OBP": 0.3331,
"predicted_R": 0.4456,
"predicted_RBI": 0.5194,
"predicted_SLG": 0.445,
"predicted_SO": 0.9985
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3513,
"after": 0.3331,
"delta": -0.0182,
"percent_delta": -0.0518,
"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.3513,
"after": 0.3331,
"delta": -0.0182,
"percent_delta": -0.0518,
"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.250 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1681,
"after": 0.0,
"delta": -0.1681,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.0,
"delta": -0.416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.104,
"after": 0.0,
"delta": -0.104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1848,
"after": 0.0,
"delta": -0.1848,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5194,
"after": 0.0,
"delta": -0.5194,
"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.5194,
"after": 0.0,
"delta": -0.5194,
"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.4456,
"after": 0.0,
"delta": -0.4456,
"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.4456,
"after": 0.0,
"delta": -0.4456,
"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.1716,
"predicted_3B": 0.0103,
"predicted_BB": 0.294,
"predicted_H": 1.0564,
"predicted_HR": 0.1455,
"predicted_RBI": 0.5947,
"predicted_SO": 1.0474
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1716,
"delta": 0.1716,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.294,
"delta": 0.294,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0564,
"delta": 0.0564,
"percent_delta": 0.0564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1455,
"delta": 0.1455,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5947,
"delta": 0.5947,
"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_RBI",
"before": 0.0,
"after": 0.5947,
"delta": 0.5947,
"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": 4.0,
"predicted_AVG": 0.274,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.33,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.436,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1716,
"after": 0.0,
"delta": -0.1716,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2634,
"after": 0.274,
"delta": 0.0106,
"percent_delta": 0.0402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 0.0,
"delta": -0.294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0564,
"after": 1.0,
"delta": -0.0564,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1455,
"after": 0.0,
"delta": -0.1455,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5947,
"after": 1.0,
"delta": 0.4053,
"percent_delta": 0.6815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.436,
"delta": -0.009,
"percent_delta": -0.0202,
"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_RBI",
"before": 0.5947,
"after": 1.0,
"delta": 0.4053,
"percent_delta": 0.6815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.294,
"after": 0.0,
"delta": -0.294,
"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.274,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.33,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.436,
"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": 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_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": 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": 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.243,
"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.316,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.404,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.243,
"delta": -0.031,
"percent_delta": -0.1131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.316,
"delta": -0.014,
"percent_delta": -0.0424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.404,
"delta": -0.032,
"percent_delta": -0.0734,
"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.436,
"after": 0.404,
"delta": -0.032,
"percent_delta": -0.0734,
"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.172,
"after": 0.0,
"delta": -0.172,
"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.243,
"delta": -0.024,
"percent_delta": -0.0899,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.433,
"after": 0.0,
"delta": -0.433,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 0.0,
"delta": -1.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.104,
"after": 0.0,
"delta": -0.104,
"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.349,
"after": 0.316,
"delta": -0.033,
"percent_delta": -0.0946,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.478,
"after": 0.0,
"delta": -0.478,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.404,
"delta": -0.04,
"percent_delta": -0.0901,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 0,
"deboosted_metrics": 11,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.13,
"after": 0.0,
"delta": -1.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.250 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.433 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.349 | - |
| predicted_R | 0.478 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.444 | - |
| predicted_SO | 1.032 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.004 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.982 | -0.268 |
| predicted_AVG | 0.268 | 0.001 |
| predicted_BB | 0.415 | -0.018 |
| predicted_H | 1.064 | -0.066 |
| predicted_HBP | 0.104 | - |
| predicted_HR | 0.186 | -0.014 |
| predicted_OBP | 0.351 | 0.002 |
| predicted_R | 0.456 | -0.022 |
| predicted_RBI | 0.531 | -0.029 |
| predicted_SLG | 0.448 | 0.004 |
| predicted_SO | 1.000 | -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.168 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.982 | 0.000 |
| predicted_AVG | 0.263 | -0.005 |
| predicted_BB | 0.416 | 0.001 |
| predicted_H | 1.049 | -0.015 |
| predicted_HBP | 0.104 | 0.000 |
| predicted_HR | 0.185 | -0.001 |
| predicted_OBP | 0.333 | -0.018 |
| predicted_R | 0.446 | -0.010 |
| predicted_RBI | 0.519 | -0.012 |
| predicted_SLG | 0.445 | -0.003 |
| predicted_SO | 0.999 | -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.25), rates preserved: AVG=0.250 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.172 | 0.172 |
| 3B | 0.010 | 0.010 |
| BB | 0.294 | 0.294 |
| H | 1.056 | 0.056 |
| HR | 0.145 | 0.145 |
| RBI | 0.595 | 0.595 |
| SO | 1.047 | 0.047 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.172 |
| 3B | 0.000 | -0.010 |
| AB | 4.000 | 0.000 |
| AVG | 0.274 | - |
| BB | 0.000 | -0.294 |
| H | 1.000 | -0.056 |
| HR | 0.000 | -0.145 |
| OBP | 0.330 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.405 |
| SLG | 0.436 | - |
| SO | 1.000 | -0.047 |
Player 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.000 |
| predicted_AB | 4.000 | 0.018 |
| predicted_AVG | 0.274 | 0.011 |
| predicted_BB | 0.000 | -0.416 |
| predicted_H | 1.000 | -0.049 |
| predicted_HR | 0.000 | -0.185 |
| predicted_OBP | 0.330 | -0.003 |
| predicted_R | 0.000 | -0.446 |
| predicted_RBI | 1.000 | 0.481 |
| predicted_SLG | 0.436 | -0.009 |
| predicted_SO | 1.000 | 0.001 |
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 | 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 | 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 | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 3.000 | 0.2778 | 0.3810 | 0.5000 | 0.2778 | 0.0556 | 0.1111 | 0.1111 | 0.1667 |
| last_10 | 0.20 | 10 | - | 33.000 | 8.000 | 1.000 | 0.000 | 2.000 | 3.000 | 3.000 | 3.000 | 11.000 | 0.2424 | 0.3243 | 0.4545 | 0.2424 | 0.0606 | 0.0909 | 0.0909 | 0.3333 |
| season | 0.60 | 157 | - | 589.000 | 163.000 | 27.000 | 0.000 | 23.000 | 94.000 | 75.000 | 68.000 | 162.000 | 0.2767 | 0.3589 | 0.4397 | 0.2767 | 0.0391 | 0.1596 | 0.1154 | 0.2750 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1630 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6380 |
| predicted_AVG | 0.2691 |
| predicted_BB | 0.3930 |
| predicted_H | 0.9790 |
| predicted_HBP | 0.1040 |
| predicted_HR | 0.1680 |
| predicted_OBP | 0.3542 |
| predicted_R | 0.4270 |
| predicted_RBI | 0.4940 |
| predicted_SLG | 0.4527 |
| predicted_SO | 0.9580 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.1630 | 0.1681 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2500 | 3.6380 | 3.9822 | model_form_blend |
| predicted_AVG | 0.2670 | 0.2691 | 0.2679 | model_form_blend |
| predicted_BB | 0.4330 | 0.3930 | 0.4155 | model_form_blend |
| predicted_H | 1.1300 | 0.9790 | 1.0639 | model_form_blend |
| predicted_HBP | - | 0.1040 | 0.1040 | form_only |
| predicted_HR | 0.2000 | 0.1680 | 0.1860 | model_form_blend |
| predicted_OBP | 0.3490 | 0.3542 | 0.3513 | model_form_blend |
| predicted_R | 0.4780 | 0.4270 | 0.4557 | model_form_blend |
| predicted_RBI | 0.5600 | 0.4940 | 0.5311 | model_form_blend |
| predicted_SLG | 0.4440 | 0.4527 | 0.4478 | model_form_blend |
| predicted_SO | 1.0320 | 0.9580 | 0.9996 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 645 |
| Season rows before report date | 645 |
| Report year | 2026 |
| Profile rows used | 157 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20261007_TB@NYY |
| game_type | full |
| mlbID | 666018 |
| playerID | 666018 |
| playerName | Jonathan Aranda |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-07 |
| 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.159 | 0.000 | 0.000 | Hitting_2B | 0.163 | 0.000 | -0.163 | 0.000 |
| predicted_3B | 0.006 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 4.480 | 4.000 | 4.000 | Hitting_AB | 3.890 | 4.000 | 0.110 | 0.000 |
| predicted_AVG | 0.259 | 0.250 | 0.250 | Hitting_AVG | 0.284 | 0.250 | -0.034 | 0.000 |
| predicted_BB | 0.494 | 0.000 | 0.000 | Hitting_BB | 0.535 | 0.000 | -0.535 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 1.160 | 1.000 | 1.000 | Hitting_H | 1.107 | 1.000 | -0.107 | 0.000 |
| predicted_HR | 0.240 | 0.000 | 0.000 | Hitting_HR | 0.277 | 0.000 | -0.277 | 0.000 |
| predicted_OBP | 0.369 | 0.250 | 0.250 | Hitting_OBP | 0.373 | 0.250 | -0.123 | 0.000 |
| predicted_R | 0.622 | 1.000 | 1.000 | Hitting_R | 0.671 | 1.000 | 0.329 | 0.000 |
| predicted_RBI | 0.660 | 1.000 | 1.000 | Hitting_RBI | 0.671 | 0.000 | 0.329 | 1.000 |
| predicted_SLG | 0.500 | 0.250 | 0.250 | Hitting_SLG | 0.543 | 0.250 | -0.293 | 0.000 |
| predicted_SO | 0.793 | 0.000 | 0.000 | Hitting_SO | 0.788 | 1.000 | -0.788 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_R: 0.6220 -> 1.0000 (boost 0.3780, better) |
| Biggest Deboost | predicted_SO: 0.7930 -> 0.0000 (deboost -0.7930, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 2 | 3 | predicted_AVG: 0.2590 -> 0.2700 (boost 0.0110, better) | predicted_AB: 4.4800 -> 4.0795 (deboost -0.4005, worse) | Final model input calibrated with local 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.5054 -> 0.4737 (deboost -0.0317, 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.7798 -> 1.0000 (boost 0.2202, worse) | predicted_RBI: 0.5867 -> 0.0000 (deboost -0.5867, worse) | AB rounded to 4 (raw=4.48), rates preserved: AVG=0.244 HR/AB=0.050 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6434 -> 1.0000 (boost 0.3566, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 4 | 1 | 5 | 0 | predicted_RBI: 0.0000 -> 0.5396 (boost 0.5396, better) | predicted_SO: 1.0000 -> 0.7284 (deboost -0.2716, 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 | 6 | 5 | 1 | 4 | 2 | predicted_HR: 0.2228 -> 1.0000 (boost 0.7772, better) | predicted_2B: 0.1751 -> 0.0000 (deboost -0.1751, 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 | 0 | 3 | 1 | 2 | - | 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 | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.3390 -> 0.3450 (boost 0.0060, better) | - | 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.159,
"predicted_3B": 0.006,
"predicted_AB": 4.48,
"predicted_AVG": 0.259,
"predicted_BB": 0.494,
"predicted_H": 1.16,
"predicted_HR": 0.24,
"predicted_OBP": 0.369,
"predicted_R": 0.622,
"predicted_RBI": 0.66,
"predicted_SLG": 0.5,
"predicted_SO": 0.793
},
"changed_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.1673,
"predicted_3B": 0.0051,
"predicted_AB": 4.0795,
"predicted_AVG": 0.27,
"predicted_BB": 0.4857,
"predicted_H": 1.0956,
"predicted_HBP": 0.014,
"predicted_HR": 0.2264,
"predicted_OBP": 0.3687,
"predicted_R": 0.6579,
"predicted_RBI": 0.6,
"predicted_SLG": 0.5054,
"predicted_SO": 0.7807
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.48,
"after": 4.0795,
"delta": -0.4005,
"percent_delta": -0.0894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.27,
"delta": 0.011,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.16,
"after": 1.0956,
"delta": -0.0644,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.6,
"delta": -0.06,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.5054,
"delta": 0.0054,
"percent_delta": 0.0108,
"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_AVG",
"before": 0.259,
"after": 0.27,
"delta": 0.011,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.48,
"after": 4.0795,
"delta": -0.4005,
"percent_delta": -0.0894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 164
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1673,
"predicted_3B": 0.0051,
"predicted_AB": 4.0795,
"predicted_AVG": 0.2648,
"predicted_BB": 0.4862,
"predicted_H": 1.0802,
"predicted_HBP": 0.014,
"predicted_HR": 0.225,
"predicted_OBP": 0.3431,
"predicted_R": 0.6434,
"predicted_RBI": 0.5867,
"predicted_SLG": 0.4737,
"predicted_SO": 0.7798
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2648,
"delta": -0.0052,
"percent_delta": -0.0193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3687,
"after": 0.3431,
"delta": -0.0256,
"percent_delta": -0.0694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5054,
"after": 0.4737,
"delta": -0.0317,
"percent_delta": -0.0627,
"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.5054,
"after": 0.4737,
"delta": -0.0317,
"percent_delta": -0.0627,
"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.48), rates preserved: AVG=0.244 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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1673,
"after": 0.0,
"delta": -0.1673,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0795,
"after": 4.0,
"delta": -0.0795,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4862,
"after": 0.0,
"delta": -0.4862,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0802,
"after": 1.0,
"delta": -0.0802,
"percent_delta": -0.0742,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.225,
"after": 0.0,
"delta": -0.225,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5867,
"after": 0.0,
"delta": -0.5867,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7798,
"after": 1.0,
"delta": 0.2202,
"percent_delta": 0.2824,
"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.7798,
"after": 1.0,
"delta": 0.2202,
"percent_delta": 0.2824,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5867,
"after": 0.0,
"delta": -0.5867,
"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.6434,
"after": 1.0,
"delta": 0.3566,
"percent_delta": 0.5542,
"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.6434,
"after": 1.0,
"delta": 0.3566,
"percent_delta": 0.5542,
"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.1751,
"predicted_3B": 0.0113,
"predicted_BB": 0.3675,
"predicted_H": 0.9816,
"predicted_HR": 0.2228,
"predicted_RBI": 0.5396,
"predicted_SO": 0.7284
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1751,
"delta": 0.1751,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3675,
"delta": 0.3675,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.2228,
"delta": 0.2228,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5396,
"delta": 0.5396,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7284,
"delta": -0.2716,
"percent_delta": -0.2716,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5396,
"delta": 0.5396,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7284,
"delta": -0.2716,
"percent_delta": -0.2716,
"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.268,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.339,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.504,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1751,
"after": 0.0,
"delta": -0.1751,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3675,
"after": 1.0,
"delta": 0.6325,
"percent_delta": 1.7211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2228,
"after": 1.0,
"delta": 0.7772,
"percent_delta": 3.4883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5396,
"after": 1.0,
"delta": 0.4604,
"percent_delta": 0.8532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4737,
"after": 0.504,
"delta": 0.0303,
"percent_delta": 0.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7284,
"after": 1.0,
"delta": 0.2716,
"percent_delta": 0.3729,
"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_HR",
"before": 0.2228,
"after": 1.0,
"delta": 0.7772,
"percent_delta": 3.4883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1751,
"after": 0.0,
"delta": -0.1751,
"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.268,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.339,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.504,
"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": 1.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_HR",
"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": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 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": 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.265,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.345,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.503,
"predicted_SO": 0.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.345,
"delta": 0.006,
"percent_delta": 0.0177,
"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.339,
"after": 0.345,
"delta": 0.006,
"percent_delta": 0.0177,
"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.159,
"after": 0.0,
"delta": -0.159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.48,
"after": 4.0,
"delta": -0.48,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.265,
"delta": 0.006,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.494,
"after": 0.0,
"delta": -0.494,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.16,
"after": 1.0,
"delta": -0.16,
"percent_delta": -0.1379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.369,
"after": 0.345,
"delta": -0.024,
"percent_delta": -0.065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.622,
"after": 1.0,
"delta": 0.378,
"percent_delta": 0.6077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.793,
"after": 0.0,
"delta": -0.793,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.622,
"after": 1.0,
"delta": 0.378,
"percent_delta": 0.6077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.793,
"after": 0.0,
"delta": -0.793,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 4.480 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.494 | - |
| predicted_H | 1.160 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.369 | - |
| predicted_R | 0.622 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.500 | - |
| predicted_SO | 0.793 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.008 |
| predicted_3B | 0.005 | -0.001 |
| predicted_AB | 4.080 | -0.401 |
| predicted_AVG | 0.270 | 0.011 |
| predicted_BB | 0.486 | -0.008 |
| predicted_H | 1.096 | -0.064 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.226 | -0.014 |
| predicted_OBP | 0.369 | -0.000 |
| predicted_R | 0.658 | 0.036 |
| predicted_RBI | 0.600 | -0.060 |
| predicted_SLG | 0.505 | 0.005 |
| predicted_SO | 0.781 | -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.167 | 0.000 |
| predicted_3B | 0.005 | 0.000 |
| predicted_AB | 4.080 | 0.000 |
| predicted_AVG | 0.265 | -0.005 |
| predicted_BB | 0.486 | 0.001 |
| predicted_H | 1.080 | -0.015 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.225 | -0.001 |
| predicted_OBP | 0.343 | -0.026 |
| predicted_R | 0.643 | -0.015 |
| predicted_RBI | 0.587 | -0.013 |
| predicted_SLG | 0.474 | -0.032 |
| predicted_SO | 0.780 | -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.48), rates preserved: AVG=0.244 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 | 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.175 | 0.175 |
| 3B | 0.011 | 0.011 |
| BB | 0.367 | 0.367 |
| H | 0.982 | -0.018 |
| HR | 0.223 | 0.223 |
| RBI | 0.540 | 0.540 |
| SO | 0.728 | -0.272 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.175 |
| 3B | 0.000 | -0.011 |
| AB | 4.000 | 0.000 |
| AVG | 0.268 | - |
| BB | 1.000 | 0.633 |
| H | 1.000 | 0.018 |
| HR | 1.000 | 0.777 |
| OBP | 0.339 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.460 |
| SLG | 0.504 | - |
| SO | 1.000 | 0.272 |
Player 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.005 |
| predicted_AB | 4.000 | -0.080 |
| predicted_AVG | 0.268 | 0.003 |
| predicted_BB | 1.000 | 0.514 |
| predicted_H | 1.000 | -0.080 |
| predicted_HR | 1.000 | 0.775 |
| predicted_OBP | 0.339 | -0.004 |
| predicted_R | 1.000 | 0.357 |
| predicted_RBI | 1.000 | 0.413 |
| predicted_SLG | 0.504 | 0.030 |
| predicted_SO | 1.000 | 0.220 |
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 | -1.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 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 | 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 | 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 | - | 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 | 164 | - | 622.000 | 172.000 | 26.000 | 1.000 | 42.000 | 101.000 | 102.000 | 81.000 | 130.000 | 0.2765 | 0.3620 | 0.5241 | 0.2765 | 0.0675 | 0.1624 | 0.1302 | 0.2090 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1780 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.5660 |
| predicted_AVG | 0.2840 |
| predicted_BB | 0.4750 |
| predicted_H | 1.0130 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.2090 |
| predicted_OBP | 0.3683 |
| predicted_R | 0.7040 |
| predicted_RBI | 0.5230 |
| predicted_SLG | 0.5124 |
| predicted_SO | 0.7650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1590 | 0.1780 | 0.1673 | model_form_blend |
| predicted_3B | 0.0060 | 0.0040 | 0.0051 | model_form_blend |
| predicted_AB | 4.4800 | 3.5660 | 4.0795 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2840 | 0.2700 | model_form_blend |
| predicted_BB | 0.4940 | 0.4750 | 0.4857 | model_form_blend |
| predicted_H | 1.1600 | 1.0130 | 1.0956 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.2400 | 0.2090 | 0.2264 | model_form_blend |
| predicted_OBP | 0.3690 | 0.3683 | 0.3687 | model_form_blend |
| predicted_R | 0.6220 | 0.7040 | 0.6579 | model_form_blend |
| predicted_RBI | 0.6600 | 0.5230 | 0.6000 | model_form_blend |
| predicted_SLG | 0.5000 | 0.5124 | 0.5054 | model_form_blend |
| predicted_SO | 0.7930 | 0.7650 | 0.7807 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 675 |
| Season rows before report date | 675 |
| Report year | 2026 |
| Profile rows used | 164 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20261007_TB@NYY |
| game_type | full |
| mlbID | 691406 |
| playerID | 691406 |
| playerName | Junior Caminero |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-07 |
| 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.089 | 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.830 | 4.000 | 4.000 | Hitting_AB | 3.058 | 2.000 | 0.942 | 2.000 |
| predicted_AVG | 0.260 | 0.250 | 0.250 | Hitting_AVG | 0.275 | 0.500 | -0.025 | -0.250 |
| predicted_BB | 0.267 | 0.000 | 0.000 | Hitting_BB | 0.309 | 0.000 | -0.309 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.730 | 1.000 | 1.000 | Hitting_H | 0.842 | 1.000 | 0.158 | 0.000 |
| predicted_HR | 0.150 | 1.000 | 1.000 | Hitting_HR | 0.151 | 1.000 | 0.849 | 0.000 |
| predicted_OBP | 0.314 | 0.250 | 0.250 | Hitting_OBP | 0.345 | 0.500 | -0.095 | -0.250 |
| predicted_R | 0.322 | 1.000 | 1.000 | Hitting_R | 0.394 | 1.000 | 0.606 | 0.000 |
| predicted_RBI | 0.510 | 2.000 | 2.000 | Hitting_RBI | 0.560 | 1.000 | 1.440 | 1.000 |
| predicted_SLG | 0.438 | 1.000 | 1.000 | Hitting_SLG | 0.489 | 2.000 | 0.511 | -1.000 |
| predicted_SO | 0.722 | 1.000 | 1.000 | Hitting_SO | 0.772 | 0.000 | 0.228 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_RBI: 0.5100 -> 2.0000 (boost 1.4900, better) |
| Biggest Deboost | predicted_BB: 0.2670 -> 0.0000 (deboost -0.2670, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2600 -> 0.2454 (deboost -0.0146, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4257 -> 0.4366 (boost 0.0109, 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 | 8 | 4 | 4 | 3 | 5 | predicted_RBI: 0.4917 -> 1.0000 (boost 0.5083, better) | predicted_BB: 0.2732 -> 0.0000 (deboost -0.2732, worse) | AB rounded to 3 (raw=2.83), rates preserved: AVG=0.243 HR/AB=0.051 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3339 -> 0.0000 (deboost -0.3339, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 0.2787 (boost 0.2787, better) | predicted_RBI: 1.0000 -> 0.5228 (deboost -0.4772, 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 | 6 | 3 | 5 | 4 | predicted_RBI: 0.5228 -> 1.0000 (boost 0.4772, better) | predicted_BB: 0.2787 -> 0.0000 (deboost -0.2787, 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 | 4 | 4 | 0 | 4 | 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.4430 -> 0.4080 (deboost -0.0350, worse) | 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.089,
"predicted_3B": 0.022,
"predicted_AB": 2.83,
"predicted_AVG": 0.26,
"predicted_BB": 0.267,
"predicted_H": 0.73,
"predicted_HR": 0.15,
"predicted_OBP": 0.314,
"predicted_R": 0.322,
"predicted_RBI": 0.51,
"predicted_SLG": 0.438,
"predicted_SO": 0.722
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0781,
"predicted_3B": 0.0186,
"predicted_AB": 2.8212,
"predicted_AVG": 0.2454,
"predicted_BB": 0.2729,
"predicted_H": 0.6892,
"predicted_HBP": 0.057,
"predicted_HR": 0.1466,
"predicted_OBP": 0.3113,
"predicted_R": 0.3414,
"predicted_RBI": 0.5028,
"predicted_SLG": 0.4257,
"predicted_SO": 0.7254
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2454,
"delta": -0.0146,
"percent_delta": -0.0562,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4257,
"delta": -0.0123,
"percent_delta": -0.0281,
"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.26,
"after": 0.2454,
"delta": -0.0146,
"percent_delta": -0.0562,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 90
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0781,
"predicted_3B": 0.0186,
"predicted_AB": 2.8212,
"predicted_AVG": 0.2408,
"predicted_BB": 0.2732,
"predicted_H": 0.6795,
"predicted_HBP": 0.057,
"predicted_HR": 0.1457,
"predicted_OBP": 0.3079,
"predicted_R": 0.3339,
"predicted_RBI": 0.4917,
"predicted_SLG": 0.4366,
"predicted_SO": 0.7246
},
"changed_metrics": [
{
"metric": "predicted_SLG",
"before": 0.4257,
"after": 0.4366,
"delta": 0.0109,
"percent_delta": 0.0256,
"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_SLG",
"before": 0.4257,
"after": 0.4366,
"delta": 0.0109,
"percent_delta": 0.0256,
"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 3 (raw=2.83), rates preserved: AVG=0.243 HR/AB=0.051",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0781,
"after": 0.0,
"delta": -0.0781,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.8212,
"after": 3.0,
"delta": 0.1788,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2732,
"after": 0.0,
"delta": -0.2732,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6795,
"after": 1.0,
"delta": 0.3205,
"percent_delta": 0.4717,
"direction": "boost",
"projection_effect": "better",
"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.1457,
"after": 0.0,
"delta": -0.1457,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4917,
"after": 1.0,
"delta": 0.5083,
"percent_delta": 1.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7246,
"after": 1.0,
"delta": 0.2754,
"percent_delta": 0.3801,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4917,
"after": 1.0,
"delta": 0.5083,
"percent_delta": 1.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2732,
"after": 0.0,
"delta": -0.2732,
"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.3339,
"after": 0.0,
"delta": -0.3339,
"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.3339,
"after": 0.0,
"delta": -0.3339,
"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.1636,
"predicted_3B": 0.018,
"predicted_BB": 0.2787,
"predicted_H": 0.8823,
"predicted_HR": 0.154,
"predicted_RBI": 0.5228,
"predicted_SO": 0.8798
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1636,
"delta": 0.1636,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2787,
"delta": 0.2787,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8823,
"delta": -0.1177,
"percent_delta": -0.1177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.154,
"delta": 0.154,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5228,
"delta": -0.4772,
"percent_delta": -0.4772,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8798,
"delta": -0.1202,
"percent_delta": -0.1202,
"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.2787,
"delta": 0.2787,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5228,
"delta": -0.4772,
"percent_delta": -0.4772,
"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.253,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.314,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.443,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1636,
"after": 0.0,
"delta": -0.1636,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2408,
"after": 0.253,
"delta": 0.0122,
"percent_delta": 0.0507,
"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.8823,
"after": 1.0,
"delta": 0.1177,
"percent_delta": 0.1334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3079,
"after": 0.314,
"delta": 0.0061,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5228,
"after": 1.0,
"delta": 0.4772,
"percent_delta": 0.9128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4366,
"after": 0.443,
"delta": 0.0064,
"percent_delta": 0.0147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8798,
"after": 1.0,
"delta": 0.1202,
"percent_delta": 0.1366,
"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_RBI",
"before": 0.5228,
"after": 1.0,
"delta": 0.4772,
"percent_delta": 0.9128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2787,
"after": 0.0,
"delta": -0.2787,
"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.253,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.314,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.443,
"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": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.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_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"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": 1.0,
"predicted_R": 1.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": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.222,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.288,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.408,
"predicted_SO": 1.0,
"predicted_TB": 4.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.222,
"delta": -0.031,
"percent_delta": -0.1225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.288,
"delta": -0.026,
"percent_delta": -0.0828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.408,
"delta": -0.035,
"percent_delta": -0.079,
"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.443,
"after": 0.408,
"delta": -0.035,
"percent_delta": -0.079,
"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.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.83,
"after": 4.0,
"delta": 1.17,
"percent_delta": 0.4134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.222,
"delta": -0.038,
"percent_delta": -0.1462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "better",
"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.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.288,
"delta": -0.026,
"percent_delta": -0.0828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.322,
"after": 1.0,
"delta": 0.678,
"percent_delta": 2.1056,
"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.438,
"after": 0.408,
"delta": -0.03,
"percent_delta": -0.0685,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.722,
"after": 1.0,
"delta": 0.278,
"percent_delta": 0.385,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 6,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.51,
"after": 2.0,
"delta": 1.49,
"percent_delta": 2.9216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.089 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 2.830 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.267 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.322 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.438 | - |
| predicted_SO | 0.722 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.078 | -0.011 |
| predicted_3B | 0.019 | -0.003 |
| predicted_AB | 2.821 | -0.009 |
| predicted_AVG | 0.245 | -0.015 |
| predicted_BB | 0.273 | 0.006 |
| predicted_H | 0.689 | -0.041 |
| predicted_HBP | 0.057 | - |
| predicted_HR | 0.147 | -0.003 |
| predicted_OBP | 0.311 | -0.003 |
| predicted_R | 0.341 | 0.019 |
| predicted_RBI | 0.503 | -0.007 |
| predicted_SLG | 0.426 | -0.012 |
| predicted_SO | 0.725 | 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.078 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 2.821 | 0.000 |
| predicted_AVG | 0.241 | -0.005 |
| predicted_BB | 0.273 | 0.000 |
| predicted_H | 0.679 | -0.010 |
| predicted_HBP | 0.057 | 0.000 |
| predicted_HR | 0.146 | -0.001 |
| predicted_OBP | 0.308 | -0.003 |
| predicted_R | 0.334 | -0.008 |
| predicted_RBI | 0.492 | -0.011 |
| predicted_SLG | 0.437 | 0.011 |
| predicted_SO | 0.725 | -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.243 HR/AB=0.051
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.164 | 0.164 |
| 3B | 0.018 | 0.018 |
| BB | 0.279 | 0.279 |
| H | 0.882 | -0.118 |
| HR | 0.154 | 0.154 |
| RBI | 0.523 | -0.477 |
| SO | 0.880 | -0.120 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.164 |
| 3B | 0.000 | -0.018 |
| AB | 3.000 | 0.000 |
| AVG | 0.253 | - |
| BB | 0.000 | -0.279 |
| H | 1.000 | 0.118 |
| HR | 0.000 | -0.154 |
| OBP | 0.314 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.477 |
| SLG | 0.443 | - |
| SO | 1.000 | 0.120 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.078 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 3.000 | 0.179 |
| predicted_AVG | 0.253 | 0.012 |
| predicted_BB | 0.000 | -0.273 |
| predicted_H | 1.000 | 0.321 |
| predicted_HR | 0.000 | -0.146 |
| predicted_OBP | 0.314 | 0.006 |
| predicted_R | 0.000 | -0.334 |
| predicted_RBI | 1.000 | 0.508 |
| predicted_SLG | 0.443 | 0.006 |
| predicted_SO | 1.000 | 0.275 |
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 | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.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 | 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 | 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 | - | 13.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 1.000 | 3.000 | 0.2308 | 0.2857 | 0.4615 | 0.2308 | 0.0769 | 0.2308 | 0.0769 | 0.2308 |
| last_10 | 0.20 | 10 | - | 28.000 | 4.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 4.000 | 8.000 | 0.1429 | 0.2941 | 0.2500 | 0.1429 | 0.0357 | 0.1429 | 0.1429 | 0.2857 |
| season | 0.60 | 90 | - | 243.000 | 60.000 | 8.000 | 2.000 | 12.000 | 43.000 | 29.000 | 24.000 | 65.000 | 0.2469 | 0.3199 | 0.4444 | 0.2469 | 0.0494 | 0.1769 | 0.0988 | 0.2675 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0630 |
| predicted_3B | 0.0140 |
| predicted_AB | 2.8090 |
| predicted_AVG | 0.2254 |
| predicted_BB | 0.2810 |
| predicted_H | 0.6330 |
| predicted_HBP | 0.0570 |
| predicted_HR | 0.1420 |
| predicted_OBP | 0.3076 |
| predicted_R | 0.3680 |
| predicted_RBI | 0.4930 |
| predicted_SLG | 0.4088 |
| predicted_SO | 0.7300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0890 | 0.0630 | 0.0781 | model_form_blend |
| predicted_3B | 0.0220 | 0.0140 | 0.0186 | model_form_blend |
| predicted_AB | 2.8300 | 2.8090 | 2.8212 | model_form_blend |
| predicted_AVG | 0.2600 | 0.2254 | 0.2454 | model_form_blend |
| predicted_BB | 0.2670 | 0.2810 | 0.2729 | model_form_blend |
| predicted_H | 0.7300 | 0.6330 | 0.6892 | model_form_blend |
| predicted_HBP | - | 0.0570 | 0.0570 | form_only |
| predicted_HR | 0.1500 | 0.1420 | 0.1466 | model_form_blend |
| predicted_OBP | 0.3140 | 0.3076 | 0.3113 | model_form_blend |
| predicted_R | 0.3220 | 0.3680 | 0.3414 | model_form_blend |
| predicted_RBI | 0.5100 | 0.4930 | 0.5028 | model_form_blend |
| predicted_SLG | 0.4380 | 0.4088 | 0.4257 | model_form_blend |
| predicted_SO | 0.7220 | 0.7300 | 0.7254 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 259 |
| Season rows before report date | 259 |
| Report year | 2026 |
| Profile rows used | 90 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| 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.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20261007_TB@NYY |
| game_type | full |
| mlbID | 668723 |
| playerID | 668723 |
| playerName | Ryan Vilade |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-07 |
| 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.236 | 0.000 | 0.000 | Hitting_2B | 0.268 | 0.000 | -0.268 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.358 | 3.000 | 3.000 | Hitting_AB | 3.672 | 3.000 | -0.672 | 0.000 |
| predicted_AVG | 0.267 | 0.000 | 0.000 | Hitting_AVG | 0.279 | 0.333 | -0.279 | -0.333 |
| predicted_BB | 0.160 | 1.000 | 1.000 | Hitting_BB | 0.177 | 0.000 | 0.823 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_H | 0.896 | 0.000 | 0.000 | Hitting_H | 1.023 | 1.000 | -1.023 | -1.000 |
| predicted_HR | 0.104 | 0.000 | 0.000 | Hitting_HR | 0.108 | 0.000 | -0.108 | 0.000 |
| predicted_OBP | 0.300 | 0.250 | 0.250 | Hitting_OBP | 0.312 | 0.333 | -0.062 | -0.083 |
| predicted_R | 0.425 | 0.000 | 0.000 | Hitting_R | 0.484 | 1.000 | -0.484 | -1.000 |
| predicted_RBI | 0.472 | 0.000 | 0.000 | Hitting_RBI | 0.558 | 0.000 | -0.558 | 0.000 |
| predicted_SLG | 0.430 | 0.000 | 0.000 | Hitting_SLG | 0.440 | 0.333 | -0.440 | -0.333 |
| predicted_SO | 0.745 | 0.000 | 0.000 | Hitting_SO | 0.758 | 0.000 | -0.758 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.1600 -> 1.0000 (boost 0.8400, better) |
| Biggest Deboost | predicted_H: 0.8960 -> 0.0000 (deboost -0.8960, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_AB: 3.3580 -> 3.4107 (boost 0.0527, 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 | 3 | 4 | 2 | 5 | predicted_AB: 3.4107 -> 4.0000 (boost 0.5893, better) | predicted_RBI: 0.4511 -> 0.0000 (deboost -0.4511, worse) | AB rounded to 4 (raw=3.41), rates preserved: AVG=0.270 HR/AB=0.039 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4667 -> 0.0000 (deboost -0.4667, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 4 | 1 | 5 | 0 | predicted_RBI: 0.0000 -> 0.5067 (boost 0.5067, better) | predicted_SO: 1.0000 -> 0.8405 (deboost -0.1595, 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 | 4 | 4 | 3 | 5 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 0.5067 -> 0.0000 (deboost -0.5067, 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 | 6 | 1 | 5 | 2 | 4 | predicted_BB: 0.0000 -> 1.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 | 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.236,
"predicted_3B": 0.0,
"predicted_AB": 3.358,
"predicted_AVG": 0.267,
"predicted_BB": 0.16,
"predicted_H": 0.896,
"predicted_HR": 0.104,
"predicted_OBP": 0.3,
"predicted_R": 0.425,
"predicted_RBI": 0.472,
"predicted_SLG": 0.43,
"predicted_SO": 0.745
},
"changed_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.2364,
"predicted_3B": 0.0004,
"predicted_AB": 3.4107,
"predicted_AVG": 0.2703,
"predicted_BB": 0.1771,
"predicted_H": 0.9217,
"predicted_HBP": 0.002,
"predicted_HR": 0.1348,
"predicted_OBP": 0.3062,
"predicted_R": 0.4772,
"predicted_RBI": 0.4613,
"predicted_SLG": 0.4579,
"predicted_SO": 0.7343
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.358,
"after": 3.4107,
"delta": 0.0527,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.3062,
"delta": 0.0062,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.425,
"after": 0.4772,
"delta": 0.0522,
"percent_delta": 0.1228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4579,
"delta": 0.0279,
"percent_delta": 0.0649,
"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_AB",
"before": 3.358,
"after": 3.4107,
"delta": 0.0527,
"percent_delta": 0.0157,
"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": 106
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2364,
"predicted_3B": 0.0004,
"predicted_AB": 3.4107,
"predicted_AVG": 0.2664,
"predicted_BB": 0.1773,
"predicted_H": 0.9087,
"predicted_HBP": 0.002,
"predicted_HR": 0.1339,
"predicted_OBP": 0.3027,
"predicted_R": 0.4667,
"predicted_RBI": 0.4511,
"predicted_SLG": 0.4538,
"predicted_SO": 0.7335
},
"changed_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.41), rates preserved: AVG=0.270 HR/AB=0.039",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2364,
"after": 0.0,
"delta": -0.2364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.4107,
"after": 4.0,
"delta": 0.5893,
"percent_delta": 0.1728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1773,
"after": 0.0,
"delta": -0.1773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9087,
"after": 1.0,
"delta": 0.0913,
"percent_delta": 0.1005,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1339,
"after": 0.0,
"delta": -0.1339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4511,
"after": 0.0,
"delta": -0.4511,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7335,
"after": 1.0,
"delta": 0.2665,
"percent_delta": 0.3633,
"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.4107,
"after": 4.0,
"delta": 0.5893,
"percent_delta": 0.1728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4511,
"after": 0.0,
"delta": -0.4511,
"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.4667,
"after": 0.0,
"delta": -0.4667,
"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.4667,
"after": 0.0,
"delta": -0.4667,
"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.2155,
"predicted_3B": 0.0111,
"predicted_BB": 0.1878,
"predicted_H": 0.9924,
"predicted_HR": 0.1301,
"predicted_RBI": 0.5067,
"predicted_SO": 0.8405
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.2155,
"delta": 0.2155,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.1878,
"delta": 0.1878,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1301,
"delta": 0.1301,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5067,
"delta": 0.5067,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8405,
"delta": -0.1595,
"percent_delta": -0.1595,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5067,
"delta": 0.5067,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8405,
"delta": -0.1595,
"percent_delta": -0.1595,
"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.269,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.439,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2155,
"after": 1.0,
"delta": 0.7845,
"percent_delta": 3.6404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1878,
"after": 0.0,
"delta": -0.1878,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1301,
"after": 0.0,
"delta": -0.1301,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3027,
"after": 0.31,
"delta": 0.0073,
"percent_delta": 0.0241,
"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.5067,
"after": 0.0,
"delta": -0.5067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4538,
"after": 0.439,
"delta": -0.0148,
"percent_delta": -0.0326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8405,
"after": 1.0,
"delta": 0.1595,
"percent_delta": 0.1898,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"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.5067,
"after": 0.0,
"delta": -0.5067,
"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.269,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.439,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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_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_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 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": 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.269,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.439,
"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.236,
"after": 0.0,
"delta": -0.236,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.358,
"after": 3.0,
"delta": -0.358,
"percent_delta": -0.1066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.896,
"after": 0.0,
"delta": -0.896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.104,
"after": 0.0,
"delta": -0.104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.31,
"delta": 0.01,
"percent_delta": 0.0333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.425,
"after": 0.0,
"delta": -0.425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.472,
"after": 0.0,
"delta": -0.472,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.439,
"delta": 0.009,
"percent_delta": 0.0209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.745,
"after": 0.0,
"delta": -0.745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.896,
"after": 0.0,
"delta": -0.896,
"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.236 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.358 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.160 | - |
| predicted_H | 0.896 | - |
| predicted_HR | 0.104 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.425 | - |
| predicted_RBI | 0.472 | - |
| predicted_SLG | 0.430 | - |
| predicted_SO | 0.745 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.236 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.411 | 0.053 |
| predicted_AVG | 0.270 | 0.003 |
| predicted_BB | 0.177 | 0.017 |
| predicted_H | 0.922 | 0.026 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.135 | 0.031 |
| predicted_OBP | 0.306 | 0.006 |
| predicted_R | 0.477 | 0.052 |
| predicted_RBI | 0.461 | -0.011 |
| predicted_SLG | 0.458 | 0.028 |
| predicted_SO | 0.734 | -0.011 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.236 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.411 | 0.000 |
| predicted_AVG | 0.266 | -0.004 |
| predicted_BB | 0.177 | 0.000 |
| predicted_H | 0.909 | -0.013 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.134 | -0.001 |
| predicted_OBP | 0.303 | -0.004 |
| predicted_R | 0.467 | -0.011 |
| predicted_RBI | 0.451 | -0.010 |
| predicted_SLG | 0.454 | -0.004 |
| predicted_SO | 0.734 | -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.41), rates preserved: AVG=0.270 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.215 | 0.215 |
| 3B | 0.011 | 0.011 |
| BB | 0.188 | 0.188 |
| H | 0.992 | -0.008 |
| HR | 0.130 | 0.130 |
| RBI | 0.507 | 0.507 |
| SO | 0.841 | -0.159 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.784 |
| 3B | 0.000 | -0.011 |
| AB | 4.000 | 0.000 |
| AVG | 0.269 | - |
| BB | 0.000 | -0.188 |
| H | 1.000 | 0.008 |
| HR | 0.000 | -0.130 |
| OBP | 0.310 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -0.507 |
| SLG | 0.439 | - |
| SO | 1.000 | 0.159 |
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.764 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.589 |
| predicted_AVG | 0.269 | 0.003 |
| predicted_BB | 0.000 | -0.177 |
| predicted_H | 1.000 | 0.091 |
| predicted_HR | 0.000 | -0.134 |
| predicted_OBP | 0.310 | 0.007 |
| predicted_R | 1.000 | 0.533 |
| predicted_RBI | 0.000 | -0.451 |
| predicted_SLG | 0.439 | -0.015 |
| predicted_SO | 1.000 | 0.266 |
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 | 3.000 | -1.000 |
| BB | 1.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 | 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 | 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 | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 1.000 | 0.000 | 2.000 | 2.000 | 5.000 | 1.000 | 2.000 | 0.2778 | 0.3158 | 0.6667 | 0.2778 | 0.1111 | 0.1111 | 0.0556 | 0.1111 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 3.000 | 0.000 | 2.000 | 4.000 | 5.000 | 3.000 | 9.000 | 0.3056 | 0.3590 | 0.5556 | 0.3056 | 0.0556 | 0.1111 | 0.0833 | 0.2500 |
| season | 0.60 | 106 | - | 356.000 | 95.000 | 25.000 | 0.000 | 11.000 | 50.000 | 45.000 | 17.000 | 79.000 | 0.2669 | 0.3003 | 0.4298 | 0.2668 | 0.0309 | 0.1404 | 0.0478 | 0.2219 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2370 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4810 |
| predicted_AVG | 0.2747 |
| predicted_BB | 0.2000 |
| predicted_H | 0.9560 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1760 |
| predicted_OBP | 0.3144 |
| predicted_R | 0.5470 |
| predicted_RBI | 0.4470 |
| predicted_SLG | 0.4952 |
| predicted_SO | 0.7200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2360 | 0.2370 | 0.2364 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3580 | 3.4810 | 3.4107 | model_form_blend |
| predicted_AVG | 0.2670 | 0.2747 | 0.2703 | model_form_blend |
| predicted_BB | 0.1600 | 0.2000 | 0.1771 | model_form_blend |
| predicted_H | 0.8960 | 0.9560 | 0.9217 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1040 | 0.1760 | 0.1348 | model_form_blend |
| predicted_OBP | 0.3000 | 0.3144 | 0.3062 | model_form_blend |
| predicted_R | 0.4250 | 0.5470 | 0.4772 | model_form_blend |
| predicted_RBI | 0.4720 | 0.4470 | 0.4613 | model_form_blend |
| predicted_SLG | 0.4300 | 0.4952 | 0.4579 | model_form_blend |
| predicted_SO | 0.7450 | 0.7200 | 0.7343 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 351 |
| Season rows before report date | 351 |
| Report year | 2026 |
| Profile rows used | 106 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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-RF |
| gameID | 20261007_TB@NYY |
| game_type | full |
| mlbID | 676356 |
| playerID | 676356 |
| playerName | Jonny DeLuca |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-07 |
| 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.107 | 0.000 | 0.000 | Hitting_2B | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_3B | 0.040 | 0.000 | 0.000 | Hitting_3B | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_AB | 4.490 | 4.000 | 4.000 | Hitting_AB | 3.978 | 4.000 | 0.022 | 0.000 |
| predicted_AVG | 0.251 | 0.250 | 0.250 | Hitting_AVG | 0.306 | 0.250 | -0.056 | 0.000 |
| predicted_BB | 0.168 | 0.000 | 0.000 | Hitting_BB | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_H | 1.130 | 1.000 | 1.000 | Hitting_H | 1.218 | 1.000 | -0.218 | 0.000 |
| predicted_HR | 0.000 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.290 | 0.250 | 0.250 | Hitting_OBP | 0.335 | 0.250 | -0.085 | 0.000 |
| predicted_R | 0.443 | 1.000 | 1.000 | Hitting_R | 0.454 | 1.000 | 0.546 | 0.000 |
| predicted_RBI | 0.340 | 0.000 | 0.000 | Hitting_RBI | 0.264 | 1.000 | -0.264 | -1.000 |
| predicted_SLG | 0.307 | 0.250 | 0.250 | Hitting_SLG | 0.353 | 0.250 | -0.103 | 0.000 |
| predicted_SO | 0.329 | 1.000 | 1.000 | Hitting_SO | 0.343 | 0.000 | 0.657 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.3290 -> 1.0000 (boost 0.6710, worse) |
| Biggest Deboost | predicted_AB: 4.4900 -> 4.0000 (deboost -0.4900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 4.4900 -> 4.2435 (deboost -0.2465, worse) | Final model input calibrated with local 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.3005 -> 0.2892 (deboost -0.0113, 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 | 0 | 6 | 1 | 5 | - | predicted_SO: 0.3596 -> 0.0000 (deboost -0.3596, better) | AB rounded to 4 (raw=4.49), rates preserved: AVG=0.240 HR/AB=0.001 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4276 -> 0.0000 (deboost -0.4276, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 5 | 0 | 4 | 1 | predicted_SO: 0.0000 -> 0.3919 (boost 0.3919, 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_SLG: 0.2892 -> 0.3870 (boost 0.0978, better) | predicted_SO: 0.3919 -> 0.0000 (deboost -0.3919, 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 | 2 | 2 | 0 | 1 | 1 | predicted_R: 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 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3020 -> 0.2430 (deboost -0.0590, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "802415",
"player_name": "Chandler Simpson",
"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.107,
"predicted_3B": 0.04,
"predicted_AB": 4.49,
"predicted_AVG": 0.251,
"predicted_BB": 0.168,
"predicted_H": 1.13,
"predicted_HR": 0.0,
"predicted_OBP": 0.29,
"predicted_R": 0.443,
"predicted_RBI": 0.34,
"predicted_SLG": 0.307,
"predicted_SO": 0.329
},
"changed_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.0913,
"predicted_3B": 0.033,
"predicted_AB": 4.2435,
"predicted_AVG": 0.2536,
"predicted_BB": 0.1427,
"predicted_H": 1.0772,
"predicted_HBP": 0.002,
"predicted_HR": 0.0026,
"predicted_OBP": 0.2831,
"predicted_R": 0.4373,
"predicted_RBI": 0.3247,
"predicted_SLG": 0.3005,
"predicted_SO": 0.36
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.49,
"after": 4.2435,
"delta": -0.2465,
"percent_delta": -0.0549,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.0772,
"delta": -0.0528,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2831,
"delta": -0.0069,
"percent_delta": -0.0238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.307,
"after": 0.3005,
"delta": -0.0065,
"percent_delta": -0.0212,
"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_AB",
"before": 4.49,
"after": 4.2435,
"delta": -0.2465,
"percent_delta": -0.0549,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 149
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0913,
"predicted_3B": 0.033,
"predicted_AB": 4.2435,
"predicted_AVG": 0.2503,
"predicted_BB": 0.1429,
"predicted_H": 1.062,
"predicted_HBP": 0.002,
"predicted_HR": 0.0026,
"predicted_OBP": 0.2747,
"predicted_R": 0.4276,
"predicted_RBI": 0.3175,
"predicted_SLG": 0.2892,
"predicted_SO": 0.3596
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.2831,
"after": 0.2747,
"delta": -0.0084,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3005,
"after": 0.2892,
"delta": -0.0113,
"percent_delta": -0.0376,
"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.3005,
"after": 0.2892,
"delta": -0.0113,
"percent_delta": -0.0376,
"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.49), rates preserved: AVG=0.240 HR/AB=0.001",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0913,
"after": 0.0,
"delta": -0.0913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.2435,
"after": 4.0,
"delta": -0.2435,
"percent_delta": -0.0574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1429,
"after": 0.0,
"delta": -0.1429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.062,
"after": 1.0,
"delta": -0.062,
"percent_delta": -0.0584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3175,
"after": 0.0,
"delta": -0.3175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3596,
"after": 0.0,
"delta": -0.3596,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3596,
"after": 0.0,
"delta": -0.3596,
"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": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 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.4276,
"after": 0.0,
"delta": -0.4276,
"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.4276,
"after": 0.0,
"delta": -0.4276,
"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.1457,
"predicted_3B": 0.0287,
"predicted_BB": 0.1414,
"predicted_H": 1.1323,
"predicted_HR": 0.0386,
"predicted_RBI": 0.3356,
"predicted_SO": 0.3919
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1457,
"delta": 0.1457,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.1414,
"delta": 0.1414,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.1323,
"delta": 0.1323,
"percent_delta": 0.1323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3356,
"delta": 0.3356,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.3919,
"delta": 0.3919,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 0.3919,
"delta": 0.3919,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"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": 4.0,
"predicted_AVG": 0.302,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.387,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1457,
"after": 0.0,
"delta": -0.1457,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2503,
"after": 0.302,
"delta": 0.0517,
"percent_delta": 0.2066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1414,
"after": 0.0,
"delta": -0.1414,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1323,
"after": 1.0,
"delta": -0.1323,
"percent_delta": -0.1168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2747,
"after": 0.333,
"delta": 0.0583,
"percent_delta": 0.2122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3356,
"after": 0.0,
"delta": -0.3356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2892,
"after": 0.387,
"delta": 0.0978,
"percent_delta": 0.3382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3919,
"after": 0.0,
"delta": -0.3919,
"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_SLG",
"before": 0.2892,
"after": 0.387,
"delta": 0.0978,
"percent_delta": 0.3382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3919,
"after": 0.0,
"delta": -0.3919,
"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.302,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.387,
"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": 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_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"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.243,
"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.276,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.328,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.302,
"after": 0.243,
"delta": -0.059,
"percent_delta": -0.1954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.276,
"delta": -0.057,
"percent_delta": -0.1712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.328,
"delta": -0.059,
"percent_delta": -0.1525,
"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.302,
"after": 0.243,
"delta": -0.059,
"percent_delta": -0.1954,
"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.107,
"after": 0.0,
"delta": -0.107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.49,
"after": 4.0,
"delta": -0.49,
"percent_delta": -0.1091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.243,
"delta": -0.008,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.168,
"after": 0.0,
"delta": -0.168,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.0,
"delta": -0.13,
"percent_delta": -0.115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.276,
"delta": -0.014,
"percent_delta": -0.0483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.443,
"after": 1.0,
"delta": 0.557,
"percent_delta": 1.2573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.307,
"after": 0.328,
"delta": 0.021,
"percent_delta": 0.0684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.329,
"after": 1.0,
"delta": 0.671,
"percent_delta": 2.0395,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.329,
"after": 1.0,
"delta": 0.671,
"percent_delta": 2.0395,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.49,
"after": 4.0,
"delta": -0.49,
"percent_delta": -0.1091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.107 | - |
| predicted_3B | 0.040 | - |
| predicted_AB | 4.490 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.168 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.000 | - |
| predicted_OBP | 0.290 | - |
| predicted_R | 0.443 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.307 | - |
| predicted_SO | 0.329 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.091 | -0.016 |
| predicted_3B | 0.033 | -0.007 |
| predicted_AB | 4.244 | -0.247 |
| predicted_AVG | 0.254 | 0.003 |
| predicted_BB | 0.143 | -0.025 |
| predicted_H | 1.077 | -0.053 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.003 | 0.003 |
| predicted_OBP | 0.283 | -0.007 |
| predicted_R | 0.437 | -0.006 |
| predicted_RBI | 0.325 | -0.015 |
| predicted_SLG | 0.300 | -0.007 |
| predicted_SO | 0.360 | 0.031 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.091 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 4.244 | 0.000 |
| predicted_AVG | 0.250 | -0.003 |
| predicted_BB | 0.143 | 0.000 |
| predicted_H | 1.062 | -0.015 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.003 | 0.000 |
| predicted_OBP | 0.275 | -0.008 |
| predicted_R | 0.428 | -0.010 |
| predicted_RBI | 0.318 | -0.007 |
| predicted_SLG | 0.289 | -0.011 |
| predicted_SO | 0.360 | -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.49), rates preserved: AVG=0.240 HR/AB=0.001
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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.146 | 0.146 |
| 3B | 0.029 | 0.029 |
| BB | 0.141 | 0.141 |
| H | 1.132 | 0.132 |
| HR | 0.039 | 0.039 |
| RBI | 0.336 | 0.336 |
| SO | 0.392 | 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.146 |
| 3B | 0.000 | -0.029 |
| AB | 4.000 | 0.000 |
| AVG | 0.302 | - |
| BB | 0.000 | -0.141 |
| H | 1.000 | -0.132 |
| HR | 0.000 | -0.039 |
| OBP | 0.333 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.336 |
| SLG | 0.387 | - |
| SO | 0.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.091 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 4.000 | -0.244 |
| predicted_AVG | 0.302 | 0.052 |
| predicted_BB | 0.000 | -0.143 |
| predicted_H | 1.000 | -0.062 |
| predicted_HR | 0.000 | -0.003 |
| predicted_OBP | 0.333 | 0.058 |
| predicted_R | 0.000 | -0.428 |
| predicted_RBI | 0.000 | -0.318 |
| predicted_SLG | 0.387 | 0.098 |
| predicted_SO | 0.000 | -0.360 |
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 | 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 | 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 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 3.000 | 0.1500 | 0.1500 | 0.1500 | 0.1500 | 0.0000 | 0.0500 | 0.0000 | 0.1500 |
| last_10 | 0.20 | 10 | - | 40.000 | 9.000 | 0.000 | 0.000 | 0.000 | 5.000 | 4.000 | 0.000 | 3.000 | 0.2250 | 0.2250 | 0.2250 | 0.2250 | 0.0000 | 0.1250 | 0.0000 | 0.0750 |
| season | 0.60 | 149 | - | 579.000 | 176.000 | 16.000 | 6.000 | 0.000 | 39.000 | 66.000 | 25.000 | 49.000 | 0.3040 | 0.3295 | 0.3523 | 0.3040 | 0.0000 | 0.0674 | 0.0432 | 0.0846 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0710 |
| predicted_3B | 0.0240 |
| predicted_AB | 3.9250 |
| predicted_AVG | 0.2570 |
| predicted_BB | 0.1100 |
| predicted_H | 1.0090 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.0060 |
| predicted_OBP | 0.2742 |
| predicted_R | 0.4300 |
| predicted_RBI | 0.3050 |
| predicted_SLG | 0.2920 |
| predicted_SO | 0.4000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1070 | 0.0710 | 0.0913 | model_form_blend |
| predicted_3B | 0.0400 | 0.0240 | 0.0330 | model_form_blend |
| predicted_AB | 4.4900 | 3.9250 | 4.2435 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2570 | 0.2536 | model_form_blend |
| predicted_BB | 0.1680 | 0.1100 | 0.1427 | model_form_blend |
| predicted_H | 1.1300 | 1.0090 | 1.0772 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.0000 | 0.0060 | 0.0026 | model_form_blend |
| predicted_OBP | 0.2900 | 0.2742 | 0.2831 | model_form_blend |
| predicted_R | 0.4430 | 0.4300 | 0.4373 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3050 | 0.3247 | model_form_blend |
| predicted_SLG | 0.3070 | 0.2920 | 0.3005 | model_form_blend |
| predicted_SO | 0.3290 | 0.4000 | 0.3600 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 595 |
| Season rows before report date | 595 |
| Report year | 2026 |
| Profile rows used | 149 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 802415 |
| playerID | 802415 |
| playerName | Chandler Simpson |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-05 |
| sl_k_percent | 7.8 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.305 |
| sl_xwoba | 0.263 |
| sl_xba | 0.261 |
| sl_xslg | 0.297 |
| sl_sweet_spot_percent | 25.7 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 13.6 |
| sl_exit_velocity_avg | 83.7 |
| sl_launch_angle_avg | 1.2 |
| sl_whiff_percent | 10.8 |
| sl_swing_percent | 48.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.170 | 0.000 | 0.000 | Hitting_2B | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.990 | 3.000 | 3.000 | Hitting_AB | 3.112 | 4.000 | -0.112 | -1.000 |
| predicted_AVG | 0.224 | 0.000 | 0.000 | Hitting_AVG | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_BB | 0.120 | 1.000 | 1.000 | Hitting_BB | 0.137 | 0.000 | 0.863 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.670 | 0.000 | 0.000 | Hitting_H | 0.826 | 0.000 | -0.826 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_OBP | 0.266 | 0.250 | 0.250 | Hitting_OBP | 0.313 | 0.000 | -0.063 | 0.250 |
| predicted_R | 0.330 | 0.000 | 0.000 | Hitting_R | 0.382 | 0.000 | -0.382 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.398 | 0.000 | -0.398 | 0.000 |
| predicted_SLG | 0.366 | 0.000 | 0.000 | Hitting_SLG | 0.386 | 0.000 | -0.386 | 0.000 |
| predicted_SO | 0.450 | 1.000 | 1.000 | Hitting_SO | 0.441 | 2.000 | 0.559 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.1200 -> 1.0000 (boost 0.8800, better) |
| Biggest Deboost | predicted_H: 0.6700 -> 0.0000 (deboost -0.6700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 1 | 1 | predicted_SO: 0.4500 -> 0.5528 (boost 0.1028, worse) | - | Final model input calibrated with local 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.2655 -> 0.2525 (deboost -0.0130, 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.5522 -> 1.0000 (boost 0.4478, worse) | predicted_RBI: 0.3419 -> 0.0000 (deboost -0.3419, worse) | AB rounded to 3 (raw=3.01), rates preserved: AVG=0.222 HR/AB=0.034 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3177 -> 0.0000 (deboost -0.3177, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.3803 (boost 0.3803, better) | predicted_SO: 1.0000 -> 0.5148 (deboost -0.4852, 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 | 4 | 5 | 5 | 4 | predicted_H: 0.8220 -> 1.0000 (boost 0.1780, better) | predicted_SO: 0.5148 -> 0.0000 (deboost -0.5148, 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 | - | - | Market blend not applied: no props for this hitter |
| 12 | play_by_play_realization | 3 | 2 | 1 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | 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": "663743",
"player_name": "Nick Fortes",
"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.17,
"predicted_3B": 0.0,
"predicted_AB": 2.99,
"predicted_AVG": 0.224,
"predicted_BB": 0.12,
"predicted_H": 0.67,
"predicted_HR": 0.09,
"predicted_OBP": 0.266,
"predicted_R": 0.33,
"predicted_RBI": 0.35,
"predicted_SLG": 0.366,
"predicted_SO": 0.45
},
"changed_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.1619,
"predicted_3B": 0.0004,
"predicted_AB": 3.0146,
"predicted_AVG": 0.2226,
"predicted_BB": 0.1327,
"predicted_H": 0.6713,
"predicted_HBP": 0.042,
"predicted_HR": 0.1023,
"predicted_OBP": 0.2655,
"predicted_R": 0.3249,
"predicted_RBI": 0.3496,
"predicted_SLG": 0.3752,
"predicted_SO": 0.5528
},
"changed_metrics": [
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3752,
"delta": 0.0092,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.45,
"after": 0.5528,
"delta": 0.1028,
"percent_delta": 0.2284,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.45,
"after": 0.5528,
"delta": 0.1028,
"percent_delta": 0.2284,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 100
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1619,
"predicted_3B": 0.0004,
"predicted_AB": 3.0146,
"predicted_AVG": 0.2195,
"predicted_BB": 0.1328,
"predicted_H": 0.6618,
"predicted_HBP": 0.042,
"predicted_HR": 0.1016,
"predicted_OBP": 0.2525,
"predicted_R": 0.3177,
"predicted_RBI": 0.3419,
"predicted_SLG": 0.3747,
"predicted_SO": 0.5522
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.2655,
"after": 0.2525,
"delta": -0.013,
"percent_delta": -0.049,
"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.2655,
"after": 0.2525,
"delta": -0.013,
"percent_delta": -0.049,
"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.01), rates preserved: AVG=0.222 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1619,
"after": 0.0,
"delta": -0.1619,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1328,
"after": 0.0,
"delta": -0.1328,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6618,
"after": 1.0,
"delta": 0.3382,
"percent_delta": 0.511,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1016,
"after": 0.0,
"delta": -0.1016,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3419,
"after": 0.0,
"delta": -0.3419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5522,
"after": 1.0,
"delta": 0.4478,
"percent_delta": 0.8109,
"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.5522,
"after": 1.0,
"delta": 0.4478,
"percent_delta": 0.8109,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3419,
"after": 0.0,
"delta": -0.3419,
"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_R",
"before": 0.3177,
"after": 0.0,
"delta": -0.3177,
"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.3177,
"after": 0.0,
"delta": -0.3177,
"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.1677,
"predicted_3B": 0.0098,
"predicted_BB": 0.1474,
"predicted_H": 0.822,
"predicted_HR": 0.089,
"predicted_RBI": 0.3803,
"predicted_SO": 0.5148
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1677,
"delta": 0.1677,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.1474,
"delta": 0.1474,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.822,
"delta": -0.178,
"percent_delta": -0.178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.089,
"delta": 0.089,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3803,
"delta": 0.3803,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.5148,
"delta": -0.4852,
"percent_delta": -0.4852,
"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.3803,
"delta": 0.3803,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.5148,
"delta": -0.4852,
"percent_delta": -0.4852,
"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.263,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.302,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.408,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1677,
"after": 0.0,
"delta": -0.1677,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2195,
"after": 0.263,
"delta": 0.0435,
"percent_delta": 0.1982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1474,
"after": 0.0,
"delta": -0.1474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.822,
"after": 1.0,
"delta": 0.178,
"percent_delta": 0.2165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2525,
"after": 0.302,
"delta": 0.0495,
"percent_delta": 0.196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3803,
"after": 0.0,
"delta": -0.3803,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3747,
"after": 0.408,
"delta": 0.0333,
"percent_delta": 0.0889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5148,
"after": 0.0,
"delta": -0.5148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.822,
"after": 1.0,
"delta": 0.178,
"percent_delta": 0.2165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5148,
"after": 0.0,
"delta": -0.5148,
"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.263,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.302,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.408,
"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": "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
},
{
"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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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.263,
"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.302,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.408,
"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.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.263,
"delta": 0.039,
"percent_delta": 0.1741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.12,
"after": 1.0,
"delta": 0.88,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.266,
"after": 0.302,
"delta": 0.036,
"percent_delta": 0.1353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.408,
"delta": 0.042,
"percent_delta": 0.1148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.45,
"after": 1.0,
"delta": 0.55,
"percent_delta": 1.2222,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.12,
"after": 1.0,
"delta": 0.88,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.170 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.990 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.120 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.266 | - |
| predicted_R | 0.330 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.366 | - |
| predicted_SO | 0.450 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.008 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.015 | 0.025 |
| predicted_AVG | 0.223 | -0.001 |
| predicted_BB | 0.133 | 0.013 |
| predicted_H | 0.671 | 0.001 |
| predicted_HBP | 0.042 | - |
| predicted_HR | 0.102 | 0.012 |
| predicted_OBP | 0.266 | -0.001 |
| predicted_R | 0.325 | -0.005 |
| predicted_RBI | 0.350 | -0.000 |
| predicted_SLG | 0.375 | 0.009 |
| predicted_SO | 0.553 | 0.103 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.015 | 0.000 |
| predicted_AVG | 0.220 | -0.003 |
| predicted_BB | 0.133 | 0.000 |
| predicted_H | 0.662 | -0.009 |
| predicted_HBP | 0.042 | 0.000 |
| predicted_HR | 0.102 | -0.001 |
| predicted_OBP | 0.253 | -0.013 |
| predicted_R | 0.318 | -0.007 |
| predicted_RBI | 0.342 | -0.008 |
| predicted_SLG | 0.375 | -0.001 |
| predicted_SO | 0.552 | -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.01), rates preserved: AVG=0.222 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.010 | 0.010 |
| BB | 0.147 | 0.147 |
| H | 0.822 | -0.178 |
| HR | 0.089 | 0.089 |
| RBI | 0.380 | 0.380 |
| SO | 0.515 | -0.485 |
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.010 |
| AB | 3.000 | 0.000 |
| AVG | 0.263 | - |
| BB | 0.000 | -0.147 |
| H | 1.000 | 0.178 |
| HR | 0.000 | -0.089 |
| OBP | 0.302 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.380 |
| SLG | 0.408 | - |
| SO | 0.000 | -0.515 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.162 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.015 |
| predicted_AVG | 0.263 | 0.044 |
| predicted_BB | 0.000 | -0.133 |
| predicted_H | 1.000 | 0.338 |
| predicted_HR | 0.000 | -0.102 |
| predicted_OBP | 0.302 | 0.049 |
| predicted_R | 0.000 | -0.318 |
| predicted_RBI | 0.000 | -0.342 |
| predicted_SLG | 0.408 | 0.033 |
| predicted_SO | 0.000 | -0.552 |
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 | -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 | 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 | 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 | - | 17.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 | 7.000 | 0.1176 | 0.1176 | 0.2941 | 0.1177 | 0.0588 | 0.0588 | 0.0000 | 0.4118 |
| last_10 | 0.20 | 10 | - | 26.000 | 5.000 | 2.000 | 0.000 | 2.000 | 4.000 | 3.000 | 3.000 | 7.000 | 0.1923 | 0.2759 | 0.5000 | 0.1923 | 0.0769 | 0.1538 | 0.1154 | 0.2692 |
| season | 0.60 | 100 | - | 296.000 | 77.000 | 17.000 | 0.000 | 6.000 | 35.000 | 33.000 | 12.000 | 45.000 | 0.2601 | 0.3038 | 0.3784 | 0.2601 | 0.0203 | 0.1182 | 0.0405 | 0.1520 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1510 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.0480 |
| predicted_AVG | 0.2206 |
| predicted_BB | 0.1500 |
| predicted_H | 0.6730 |
| predicted_HBP | 0.0420 |
| predicted_HR | 0.1190 |
| predicted_OBP | 0.2648 |
| predicted_R | 0.3180 |
| predicted_RBI | 0.3490 |
| predicted_SLG | 0.3877 |
| predicted_SO | 0.6920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1700 | 0.1510 | 0.1619 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.9900 | 3.0480 | 3.0146 | model_form_blend |
| predicted_AVG | 0.2240 | 0.2206 | 0.2226 | model_form_blend |
| predicted_BB | 0.1200 | 0.1500 | 0.1327 | model_form_blend |
| predicted_H | 0.6700 | 0.6730 | 0.6713 | model_form_blend |
| predicted_HBP | - | 0.0420 | 0.0420 | form_only |
| predicted_HR | 0.0900 | 0.1190 | 0.1023 | model_form_blend |
| predicted_OBP | 0.2660 | 0.2648 | 0.2655 | model_form_blend |
| predicted_R | 0.3300 | 0.3180 | 0.3249 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3490 | 0.3496 | model_form_blend |
| predicted_SLG | 0.3660 | 0.3877 | 0.3752 | model_form_blend |
| predicted_SO | 0.4500 | 0.6920 | 0.5528 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 322 |
| Season rows before report date | 322 |
| Report year | 2026 |
| Profile rows used | 100 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 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 | 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 | 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 | 20260927_TB@PHI |
| game_type | full |
| mlbID | 663743 |
| playerID | 663743 |
| playerName | Nick Fortes |
| pos | C |
| started | True |
| startingPosition | C |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-27 |
| sl_k_percent | 13.9 |
| sl_bb_percent | 3.7 |
| sl_woba | 0.301 |
| sl_xwoba | 0.273 |
| sl_xba | 0.239 |
| sl_xslg | 0.326 |
| sl_sweet_spot_percent | 25.2 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 35.4 |
| sl_exit_velocity_avg | 85.4 |
| sl_launch_angle_avg | 8.3 |
| sl_whiff_percent | 18.3 |
| sl_swing_percent | 51.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.103 | 1.000 | 1.000 | Hitting_2B | 0.063 | 0.000 | 0.937 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.654 | 4.000 | 4.000 | Hitting_AB | 2.962 | 0.000 | 1.038 | 4.000 |
| predicted_AVG | 0.203 | 0.250 | 0.250 | Hitting_AVG | 0.145 | - | 0.105 | - |
| predicted_BB | 0.128 | 0.000 | 0.000 | Hitting_BB | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.152 | 0.000 | -0.152 | 0.000 |
| predicted_H | 0.538 | 1.000 | 1.000 | Hitting_H | 0.430 | 0.000 | 0.570 | 1.000 |
| predicted_HR | 0.064 | 0.000 | 0.000 | Hitting_HR | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_OBP | 0.240 | 0.250 | 0.250 | Hitting_OBP | 0.197 | - | 0.053 | - |
| predicted_R | 0.462 | 1.000 | 1.000 | Hitting_R | 0.354 | 0.000 | 0.646 | 1.000 |
| predicted_RBI | 0.231 | 1.000 | 1.000 | Hitting_RBI | 0.316 | 0.000 | 0.684 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.367 | 0.000 | -0.367 | 0.000 |
| predicted_SLG | 0.314 | 0.500 | 0.500 | Hitting_SLG | 0.192 | - | 0.308 | - |
| predicted_SO | 0.885 | 1.000 | 1.000 | Hitting_SO | 0.937 | 0.000 | 0.063 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 9 |
| Deboosted Metrics | 2 |
| Better Metrics | 8 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_AB: 2.6540 -> 4.0000 (boost 1.3460, better) |
| Biggest Deboost | predicted_BB: 0.1280 -> 0.0000 (deboost -0.1280, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AB: 2.6540 -> 2.7179 (boost 0.0639, better) | predicted_SLG: 0.3140 -> 0.3025 (deboost -0.0115, worse) | Final model input calibrated with local 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_H: 0.5276 -> 1.0000 (boost 0.4724, better) | predicted_RBI: 0.2019 -> 0.0000 (deboost -0.2019, worse) | AB rounded to 3 (raw=2.72), rates preserved: AVG=0.197 HR/AB=0.021 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4165 -> 0.0000 (deboost -0.4165, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 4 | 1 | 4 | 1 | predicted_RBI: 0.0000 -> 0.3407 (boost 0.3407, better) | predicted_H: 1.0000 -> 0.7811 (deboost -0.2189, 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 | 4 | 4 | predicted_H: 0.7811 -> 1.0000 (boost 0.2189, better) | predicted_RBI: 0.3407 -> 0.0000 (deboost -0.3407, 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 | 4 | 0 | 4 | 0 | 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 |
| 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": "622761",
"player_name": "Jorge Mateo",
"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.103,
"predicted_3B": 0.0,
"predicted_AB": 2.654,
"predicted_AVG": 0.203,
"predicted_BB": 0.128,
"predicted_H": 0.538,
"predicted_HR": 0.064,
"predicted_OBP": 0.24,
"predicted_R": 0.462,
"predicted_RBI": 0.231,
"predicted_SLG": 0.314,
"predicted_SO": 0.885
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.113,
"predicted_3B": 0.0004,
"predicted_AB": 2.7179,
"predicted_AVG": 0.1972,
"predicted_BB": 0.1143,
"predicted_H": 0.5351,
"predicted_HBP": 0.01,
"predicted_HR": 0.0574,
"predicted_OBP": 0.2303,
"predicted_R": 0.4259,
"predicted_RBI": 0.2065,
"predicted_SLG": 0.3025,
"predicted_SO": 0.9298
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 2.654,
"after": 2.7179,
"delta": 0.0639,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.1972,
"delta": -0.0058,
"percent_delta": -0.0286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.24,
"after": 0.2303,
"delta": -0.0097,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.314,
"after": 0.3025,
"delta": -0.0115,
"percent_delta": -0.0366,
"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": 2.654,
"after": 2.7179,
"delta": 0.0639,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.314,
"after": 0.3025,
"delta": -0.0115,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 78
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.113,
"predicted_3B": 0.0004,
"predicted_AB": 2.7179,
"predicted_AVG": 0.1941,
"predicted_BB": 0.1144,
"predicted_H": 0.5276,
"predicted_HBP": 0.01,
"predicted_HR": 0.057,
"predicted_OBP": 0.2267,
"predicted_R": 0.4165,
"predicted_RBI": 0.2019,
"predicted_SLG": 0.2989,
"predicted_SO": 0.9288
},
"changed_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=2.72), rates preserved: AVG=0.197 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.113,
"after": 0.0,
"delta": -0.113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.7179,
"after": 3.0,
"delta": 0.2821,
"percent_delta": 0.1038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1144,
"after": 0.0,
"delta": -0.1144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5276,
"after": 1.0,
"delta": 0.4724,
"percent_delta": 0.8954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.057,
"after": 0.0,
"delta": -0.057,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2019,
"after": 0.0,
"delta": -0.2019,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9288,
"after": 1.0,
"delta": 0.0712,
"percent_delta": 0.0767,
"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.5276,
"after": 1.0,
"delta": 0.4724,
"percent_delta": 0.8954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2019,
"after": 0.0,
"delta": -0.2019,
"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_R",
"before": 0.4165,
"after": 0.0,
"delta": -0.4165,
"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.4165,
"after": 0.0,
"delta": -0.4165,
"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.1568,
"predicted_3B": 0.0109,
"predicted_BB": 0.1767,
"predicted_H": 0.7811,
"predicted_HR": 0.1018,
"predicted_RBI": 0.3407,
"predicted_SO": 1.0165
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1568,
"delta": 0.1568,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.1767,
"delta": 0.1767,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7811,
"delta": -0.2189,
"percent_delta": -0.2189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1018,
"delta": 0.1018,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3407,
"delta": 0.3407,
"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.3407,
"delta": 0.3407,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7811,
"delta": -0.2189,
"percent_delta": -0.2189,
"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.244,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.289,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.395,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1568,
"after": 0.0,
"delta": -0.1568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.1941,
"after": 0.244,
"delta": 0.0499,
"percent_delta": 0.2571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1767,
"after": 0.0,
"delta": -0.1767,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7811,
"after": 1.0,
"delta": 0.2189,
"percent_delta": 0.2802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1018,
"after": 0.0,
"delta": -0.1018,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2267,
"after": 0.289,
"delta": 0.0623,
"percent_delta": 0.2748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3407,
"after": 0.0,
"delta": -0.3407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2989,
"after": 0.395,
"delta": 0.0961,
"percent_delta": 0.3215,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7811,
"after": 1.0,
"delta": 0.2189,
"percent_delta": 0.2802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3407,
"after": 0.0,
"delta": -0.3407,
"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.244,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.289,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.395,
"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": 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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": 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": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"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": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.244,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.289,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.395,
"predicted_SO": 1.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.103,
"after": 1.0,
"delta": 0.897,
"percent_delta": 8.7087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.654,
"after": 4.0,
"delta": 1.346,
"percent_delta": 0.5072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.244,
"delta": 0.041,
"percent_delta": 0.202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.538,
"after": 1.0,
"delta": 0.462,
"percent_delta": 0.8587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.064,
"after": 0.0,
"delta": -0.064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.24,
"after": 0.289,
"delta": 0.049,
"percent_delta": 0.2042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.462,
"after": 1.0,
"delta": 0.538,
"percent_delta": 1.1645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.231,
"after": 1.0,
"delta": 0.769,
"percent_delta": 3.329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.314,
"after": 0.395,
"delta": 0.081,
"percent_delta": 0.258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.885,
"after": 1.0,
"delta": 0.115,
"percent_delta": 0.1299,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 9,
"deboosted_metrics": 2,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.654,
"after": 4.0,
"delta": 1.346,
"percent_delta": 0.5072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"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.103 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.654 | - |
| predicted_AVG | 0.203 | - |
| predicted_BB | 0.128 | - |
| predicted_H | 0.538 | - |
| predicted_HR | 0.064 | - |
| predicted_OBP | 0.240 | - |
| predicted_R | 0.462 | - |
| predicted_RBI | 0.231 | - |
| predicted_SLG | 0.314 | - |
| predicted_SO | 0.885 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.113 | 0.010 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.718 | 0.064 |
| predicted_AVG | 0.197 | -0.006 |
| predicted_BB | 0.114 | -0.014 |
| predicted_H | 0.535 | -0.003 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.057 | -0.007 |
| predicted_OBP | 0.230 | -0.010 |
| predicted_R | 0.426 | -0.036 |
| predicted_RBI | 0.206 | -0.025 |
| predicted_SLG | 0.302 | -0.012 |
| predicted_SO | 0.930 | 0.045 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.113 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.718 | 0.000 |
| predicted_AVG | 0.194 | -0.003 |
| predicted_BB | 0.114 | 0.000 |
| predicted_H | 0.528 | -0.008 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.057 | -0.000 |
| predicted_OBP | 0.227 | -0.004 |
| predicted_R | 0.416 | -0.009 |
| predicted_RBI | 0.202 | -0.005 |
| predicted_SLG | 0.299 | -0.004 |
| predicted_SO | 0.929 | -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.72), rates preserved: AVG=0.197 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.157 | 0.157 |
| 3B | 0.011 | 0.011 |
| BB | 0.177 | 0.177 |
| H | 0.781 | -0.219 |
| HR | 0.102 | 0.102 |
| RBI | 0.341 | 0.341 |
| SO | 1.016 | 0.016 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.157 |
| 3B | 0.000 | -0.011 |
| AB | 3.000 | 0.000 |
| AVG | 0.244 | - |
| BB | 0.000 | -0.177 |
| H | 1.000 | 0.219 |
| HR | 0.000 | -0.102 |
| OBP | 0.289 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.341 |
| SLG | 0.395 | - |
| SO | 1.000 | -0.016 |
Player 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.282 |
| predicted_AVG | 0.244 | 0.050 |
| predicted_BB | 0.000 | -0.114 |
| predicted_H | 1.000 | 0.472 |
| predicted_HR | 0.000 | -0.057 |
| predicted_OBP | 0.289 | 0.062 |
| predicted_R | 0.000 | -0.416 |
| predicted_RBI | 0.000 | -0.202 |
| predicted_SLG | 0.395 | 0.096 |
| predicted_SO | 1.000 | 0.071 |
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 | 1.000 | 1.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 | 1.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 | 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 5.000 | 0.1429 | 0.1429 | 0.2143 | 0.1429 | 0.0000 | 0.0000 | 0.0000 | 0.3571 |
| last_10 | 0.20 | 10 | - | 26.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 13.000 | 0.1538 | 0.1538 | 0.1923 | 0.1538 | 0.0000 | 0.0000 | 0.0000 | 0.5000 |
| season | 0.60 | 78 | - | 207.000 | 42.000 | 8.000 | 0.000 | 5.000 | 18.000 | 36.000 | 10.000 | 69.000 | 0.2029 | 0.2420 | 0.3140 | 0.2029 | 0.0242 | 0.0870 | 0.0483 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1270 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.8080 |
| predicted_AVG | 0.1891 |
| predicted_BB | 0.0950 |
| predicted_H | 0.5310 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0480 |
| predicted_OBP | 0.2167 |
| predicted_R | 0.3750 |
| predicted_RBI | 0.1720 |
| predicted_SLG | 0.2863 |
| predicted_SO | 0.9930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1030 | 0.1270 | 0.1130 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.6540 | 2.8080 | 2.7179 | model_form_blend |
| predicted_AVG | 0.2030 | 0.1891 | 0.1972 | model_form_blend |
| predicted_BB | 0.1280 | 0.0950 | 0.1143 | model_form_blend |
| predicted_H | 0.5380 | 0.5310 | 0.5351 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0640 | 0.0480 | 0.0574 | model_form_blend |
| predicted_OBP | 0.2400 | 0.2167 | 0.2303 | model_form_blend |
| predicted_R | 0.4620 | 0.3750 | 0.4259 | model_form_blend |
| predicted_RBI | 0.2310 | 0.1720 | 0.2065 | model_form_blend |
| predicted_SLG | 0.3140 | 0.2863 | 0.3025 | model_form_blend |
| predicted_SO | 0.8850 | 0.9930 | 0.9298 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 79 |
| Season rows before report date | 79 |
| Report year | 2026 |
| Profile rows used | 78 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 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 | 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 | 1 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PR-DH |
| gameID | 20261005_NYY@TB |
| game_type | ph |
| mlbID | 622761 |
| note | Ran for Díaz, Y in the 8th. |
| playerID | 622761 |
| playerName | Jorge Mateo |
| pos | SS |
| started | False |
| startingPosition | PR |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-05 |
| sl_k_percent | 31.2 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.248 |
| sl_xwoba | 0.272 |
| sl_xba | 0.221 |
| sl_xslg | 0.358 |
| sl_sweet_spot_percent | 40.7 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 35.0 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 32.0 |
| sl_swing_percent | 55.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.142 | 1.000 | 1.000 | Hitting_2B | 0.140 | 0.000 | 0.860 | 1.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.133 | 4.000 | 4.000 | Hitting_AB | 3.222 | 3.000 | 0.778 | 1.000 |
| predicted_AVG | 0.192 | 0.250 | 0.250 | Hitting_AVG | 0.220 | 0.333 | 0.030 | -0.083 |
| predicted_BB | 0.375 | 0.000 | 0.000 | Hitting_BB | 0.404 | 0.000 | -0.404 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_H | 0.560 | 1.000 | 1.000 | Hitting_H | 0.710 | 1.000 | 0.290 | 0.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_OBP | 0.287 | 0.250 | 0.250 | Hitting_OBP | 0.309 | 0.333 | -0.059 | -0.083 |
| predicted_R | 0.492 | 1.000 | 1.000 | Hitting_R | 0.526 | 0.000 | 0.474 | 1.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.327 | 0.000 | -0.327 | 0.000 |
| predicted_SLG | 0.285 | 0.500 | 0.500 | Hitting_SLG | 0.293 | 0.333 | 0.207 | 0.167 |
| predicted_SO | 0.892 | 2.000 | 2.000 | Hitting_SO | 0.930 | 0.000 | 1.070 | 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.8920 -> 2.0000 (boost 1.1080, worse) |
| Biggest Deboost | predicted_BB: 0.3750 -> 0.0000 (deboost -0.3750, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_H: 0.5600 -> 0.6164 (boost 0.0564, 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.2903 -> 0.2703 (deboost -0.0200, 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.6077 -> 1.0000 (boost 0.3923, better) | predicted_BB: 0.3543 -> 0.0000 (deboost -0.3543, worse) | AB rounded to 3 (raw=3.18), rates preserved: AVG=0.194 HR/AB=0.006 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4849 -> 0.0000 (deboost -0.4849, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.3210 (boost 0.3210, better) | predicted_H: 1.0000 -> 0.7508 (deboost -0.2492, 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 | 6 | 4 | 5 | 5 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 0.3210 -> 0.0000 (deboost -0.3210, 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 | 3 | 0 | 2 | 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 |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2390 -> 0.2320 (deboost -0.0070, worse) | 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.142,
"predicted_3B": 0.017,
"predicted_AB": 3.133,
"predicted_AVG": 0.192,
"predicted_BB": 0.375,
"predicted_H": 0.56,
"predicted_HR": 0.02,
"predicted_OBP": 0.287,
"predicted_R": 0.492,
"predicted_RBI": 0.24,
"predicted_SLG": 0.285,
"predicted_SO": 0.892
},
"changed_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.167,
"predicted_3B": 0.0144,
"predicted_AB": 3.1787,
"predicted_AVG": 0.2012,
"predicted_BB": 0.3539,
"predicted_H": 0.6164,
"predicted_HBP": 0.016,
"predicted_HR": 0.0187,
"predicted_OBP": 0.2867,
"predicted_R": 0.4959,
"predicted_RBI": 0.249,
"predicted_SLG": 0.2903,
"predicted_SO": 0.9075
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.192,
"after": 0.2012,
"delta": 0.0092,
"percent_delta": 0.0479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 0.6164,
"delta": 0.0564,
"percent_delta": 0.1007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.285,
"after": 0.2903,
"delta": 0.0053,
"percent_delta": 0.0186,
"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_H",
"before": 0.56,
"after": 0.6164,
"delta": 0.0564,
"percent_delta": 0.1007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 120
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.0144,
"predicted_AB": 3.1787,
"predicted_AVG": 0.1912,
"predicted_BB": 0.3543,
"predicted_H": 0.6077,
"predicted_HBP": 0.016,
"predicted_HR": 0.0186,
"predicted_OBP": 0.2723,
"predicted_R": 0.4849,
"predicted_RBI": 0.2435,
"predicted_SLG": 0.2703,
"predicted_SO": 0.9065
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2012,
"after": 0.1912,
"delta": -0.01,
"percent_delta": -0.0497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2867,
"after": 0.2723,
"delta": -0.0144,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2903,
"after": 0.2703,
"delta": -0.02,
"percent_delta": -0.0689,
"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.2903,
"after": 0.2703,
"delta": -0.02,
"percent_delta": -0.0689,
"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.18), rates preserved: AVG=0.194 HR/AB=0.006",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.1787,
"after": 3.0,
"delta": -0.1787,
"percent_delta": -0.0562,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3543,
"after": 0.0,
"delta": -0.3543,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6077,
"after": 1.0,
"delta": 0.3923,
"percent_delta": 0.6455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2435,
"after": 0.0,
"delta": -0.2435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9065,
"after": 1.0,
"delta": 0.0935,
"percent_delta": 0.1031,
"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.6077,
"after": 1.0,
"delta": 0.3923,
"percent_delta": 0.6455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3543,
"after": 0.0,
"delta": -0.3543,
"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_R",
"before": 0.4849,
"after": 0.0,
"delta": -0.4849,
"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.4849,
"after": 0.0,
"delta": -0.4849,
"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.1553,
"predicted_3B": 0.0144,
"predicted_BB": 0.2889,
"predicted_H": 0.7508,
"predicted_HR": 0.0531,
"predicted_RBI": 0.321,
"predicted_SO": 0.8284
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1553,
"delta": 0.1553,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2889,
"delta": 0.2889,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7508,
"delta": -0.2492,
"percent_delta": -0.2492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0531,
"delta": 0.0531,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.321,
"delta": 0.321,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8284,
"delta": -0.1716,
"percent_delta": -0.1716,
"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.321,
"delta": 0.321,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7508,
"delta": -0.2492,
"percent_delta": -0.2492,
"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.239,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.309,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.348,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1553,
"after": 0.0,
"delta": -0.1553,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.1912,
"after": 0.239,
"delta": 0.0478,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2889,
"after": 0.0,
"delta": -0.2889,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7508,
"after": 1.0,
"delta": 0.2492,
"percent_delta": 0.3319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0531,
"after": 0.0,
"delta": -0.0531,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2723,
"after": 0.309,
"delta": 0.0367,
"percent_delta": 0.1348,
"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.321,
"after": 0.0,
"delta": -0.321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2703,
"after": 0.348,
"delta": 0.0777,
"percent_delta": 0.2875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8284,
"after": 1.0,
"delta": 0.1716,
"percent_delta": 0.2071,
"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_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.321,
"after": 0.0,
"delta": -0.321,
"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.239,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.309,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.348,
"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": 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": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"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": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.232,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.307,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.345,
"predicted_SO": 2.0,
"predicted_SS": 0.0,
"predicted_TB": 2.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.232,
"delta": -0.007,
"percent_delta": -0.0293,
"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_AVG",
"before": 0.239,
"after": 0.232,
"delta": -0.007,
"percent_delta": -0.0293,
"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.142,
"after": 1.0,
"delta": 0.858,
"percent_delta": 6.0423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.133,
"after": 4.0,
"delta": 0.867,
"percent_delta": 0.2767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.192,
"after": 0.232,
"delta": 0.04,
"percent_delta": 0.2083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.375,
"after": 0.0,
"delta": -0.375,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 1.0,
"delta": 0.44,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.307,
"delta": 0.02,
"percent_delta": 0.0697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 1.0,
"delta": 0.508,
"percent_delta": 1.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.285,
"after": 0.345,
"delta": 0.06,
"percent_delta": 0.2105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.892,
"after": 2.0,
"delta": 1.108,
"percent_delta": 1.2422,
"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.892,
"after": 2.0,
"delta": 1.108,
"percent_delta": 1.2422,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.375,
"after": 0.0,
"delta": -0.375,
"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.142 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.133 | - |
| predicted_AVG | 0.192 | - |
| predicted_BB | 0.375 | - |
| predicted_H | 0.560 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.492 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.285 | - |
| predicted_SO | 0.892 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.025 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.179 | 0.046 |
| predicted_AVG | 0.201 | 0.009 |
| predicted_BB | 0.354 | -0.021 |
| predicted_H | 0.616 | 0.056 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.019 | -0.001 |
| predicted_OBP | 0.287 | -0.000 |
| predicted_R | 0.496 | 0.004 |
| predicted_RBI | 0.249 | 0.009 |
| predicted_SLG | 0.290 | 0.005 |
| predicted_SO | 0.907 | 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.167 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.179 | 0.000 |
| predicted_AVG | 0.191 | -0.010 |
| predicted_BB | 0.354 | 0.000 |
| predicted_H | 0.608 | -0.009 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.019 | -0.000 |
| predicted_OBP | 0.272 | -0.014 |
| predicted_R | 0.485 | -0.011 |
| predicted_RBI | 0.243 | -0.006 |
| predicted_SLG | 0.270 | -0.020 |
| predicted_SO | 0.906 | -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.18), rates preserved: AVG=0.194 HR/AB=0.006
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.014 | 0.014 |
| BB | 0.289 | 0.289 |
| H | 0.751 | -0.249 |
| HR | 0.053 | 0.053 |
| RBI | 0.321 | 0.321 |
| SO | 0.828 | -0.172 |
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.014 |
| AB | 3.000 | 0.000 |
| AVG | 0.239 | - |
| BB | 0.000 | -0.289 |
| H | 1.000 | 0.249 |
| HR | 0.000 | -0.053 |
| OBP | 0.309 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -0.321 |
| SLG | 0.348 | - |
| SO | 1.000 | 0.172 |
Player 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.179 |
| predicted_AVG | 0.239 | 0.048 |
| predicted_BB | 0.000 | -0.354 |
| predicted_H | 1.000 | 0.392 |
| predicted_HR | 0.000 | -0.019 |
| predicted_OBP | 0.309 | 0.037 |
| predicted_R | 1.000 | 0.515 |
| predicted_RBI | 0.000 | -0.243 |
| predicted_SLG | 0.348 | 0.078 |
| predicted_SO | 1.000 | 0.094 |
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 | 1.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 | 1.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 | 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 | 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 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 6.000 | 0.1667 | 0.2105 | 0.2778 | 0.1667 | 0.0000 | 0.0000 | 0.0556 | 0.3333 |
| last_10 | 0.20 | 10 | - | 30.000 | 7.000 | 2.000 | 0.000 | 0.000 | 3.000 | 6.000 | 3.000 | 8.000 | 0.2333 | 0.3030 | 0.3000 | 0.2333 | 0.0000 | 0.1000 | 0.1000 | 0.2667 |
| season | 0.60 | 120 | - | 376.000 | 82.000 | 17.000 | 2.000 | 2.000 | 36.000 | 59.000 | 45.000 | 107.000 | 0.2181 | 0.3037 | 0.2899 | 0.2181 | 0.0053 | 0.0957 | 0.1197 | 0.2846 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2000 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.2390 |
| predicted_AVG | 0.2133 |
| predicted_BB | 0.3260 |
| predicted_H | 0.6910 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0170 |
| predicted_OBP | 0.2863 |
| predicted_R | 0.5010 |
| predicted_RBI | 0.2610 |
| predicted_SLG | 0.2972 |
| predicted_SO | 0.9280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1420 | 0.2000 | 0.1670 | model_form_blend |
| predicted_3B | 0.0170 | 0.0110 | 0.0144 | model_form_blend |
| predicted_AB | 3.1330 | 3.2390 | 3.1787 | model_form_blend |
| predicted_AVG | 0.1920 | 0.2133 | 0.2012 | model_form_blend |
| predicted_BB | 0.3750 | 0.3260 | 0.3539 | model_form_blend |
| predicted_H | 0.5600 | 0.6910 | 0.6164 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0200 | 0.0170 | 0.0187 | model_form_blend |
| predicted_OBP | 0.2870 | 0.2863 | 0.2867 | model_form_blend |
| predicted_R | 0.4920 | 0.5010 | 0.4959 | model_form_blend |
| predicted_RBI | 0.2400 | 0.2610 | 0.2490 | model_form_blend |
| predicted_SLG | 0.2850 | 0.2972 | 0.2903 | model_form_blend |
| predicted_SO | 0.8920 | 0.9280 | 0.9075 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 428 |
| Season rows before report date | 428 |
| 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 | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| 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.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| 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_TB@NYY |
| game_type | full |
| mlbID | 670764 |
| playerID | 670764 |
| playerName | Taylor Walls |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-07 |
| 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 | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.097 | 2.000 | -0.097 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.645 | 0.000 | -1.645 | 0.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 4.065 | 1.000 | -1.065 | 2.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.761 | 8.000 | 0.239 | -2.000 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 5.935 | 10.000 | -0.935 | -5.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 3 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_IP: 6.3333 -> 6.0000 (deboost -0.3333, 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 | 2 | 1 | 1 | 1 | 1 | predicted_SO: 4.0000 -> 6.0000 (boost 2.0000, better) | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 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 | 2 | 1 | 1 | 0 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_SO: 6.0000 -> 5.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 |
| 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": "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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.3333,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.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
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 1.0,
"predicted_SO": 5.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_SO",
"before": 6.0,
"after": 5.0,
"delta": -1.0,
"percent_delta": -0.1667,
"direction": "deboost",
"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_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 6.0,
"after": 5.0,
"delta": -1.0,
"percent_delta": -0.1667,
"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": 3.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
}
}
],
"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_IP",
"before": 6.3333,
"after": 6.0,
"delta": -0.3333,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.0,
"delta": -0.3333,
"percent_delta": -0.0526,
"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 | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.333 | - |
| predicted_SO | 4.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 | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.100 | -0.233 |
| predicted_SO | 6.000 | 2.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 | 24.000 | - |
| ER | 0.000 | - |
| H | 3.000 | - |
| HR | 0.000 | - |
| IP | 6.000 | - |
| Pitches | 95.000 | - |
| R | 1.000 | - |
| SO | 5.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 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.4820 |
| predicted_ER | 1.3790 |
| predicted_ERA | 1.9551 |
| predicted_H | 4.0060 |
| predicted_HR | 0.3490 |
| predicted_IP | 6.1000 |
| predicted_SO | 6.3910 |
| predicted_WHIP | 0.8645 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.4820 | 0.8763 | model_form_blend |
| predicted_ER | 0.0000 | 1.3790 | 0.8154 | model_form_blend |
| predicted_ERA | - | 1.9551 | 1.9551 | form_only |
| predicted_H | 3.0000 | 4.0060 | 3.5949 | model_form_blend |
| predicted_HR | 0.0000 | 0.3490 | 0.2064 | model_form_blend |
| predicted_IP | 6.1000 | 6.1000 | 6.1000 | model_form_blend |
| predicted_SO | 4.0000 | 6.3910 | 5.4138 | model_form_blend |
| predicted_WHIP | - | 0.8645 | 0.8645 | 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 | 6.0 |
| H | 3 |
| R | 1 |
| ER | 0 |
| BB | 1 |
| SO | 5 |
| HR | 0 |
| BF | 24 |
| Pitches | 95 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 26 |
| Pitching_ER | 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 | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.735 | 0.000 | 0.265 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.286 | 0.000 | -0.286 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 2.367 | 1.000 | -0.367 | 1.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 2.653 | 1.100 | -0.653 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 3.347 | 2.000 | -2.347 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 3 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 2 |
| Better Metrics | 3 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_ER: 4.0000 -> 1.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 | 3 | 1 | 2 | 3 | 0 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_ER: 4.0000 -> 1.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": "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": 1.0,
"predicted_ER": 4.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 2.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
}
},
{
"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": 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": 4.0,
"after": 1.0,
"delta": -3.0,
"percent_delta": -0.75,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"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": 1,
"deboosted_metrics": 2,
"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_ER",
"before": 4.0,
"after": 1.0,
"delta": -3.0,
"percent_delta": -0.75,
"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": 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": 4.0,
"after": 1.0,
"delta": -3.0,
"percent_delta": -0.75,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"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": 1,
"deboosted_metrics": 2,
"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_ER",
"before": 4.0,
"after": 1.0,
"delta": -3.0,
"percent_delta": -0.75,
"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 | 4.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 2.000 | - |
| 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 | 1.000 | - |
| BF | 9.000 | - |
| ER | 1.000 | - |
| H | 2.000 | - |
| HR | 1.000 | - |
| IP | 2.000 | - |
| Pitches | 34.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 | 14.200 | 5.000 | 10.000 | 2.000 | 14.000 | 3.000 | 3.0682 | 0.8182 | 0.3409 | 0.6818 | 0.1364 | 0.9546 | 0.2046 |
| last_10 | 0.35 | 10 | 40.200 | 19.000 | 38.000 | 5.000 | 49.000 | 11.000 | 4.2049 | 1.0574 | 0.4672 | 0.9344 | 0.1230 | 1.2049 | 0.2705 |
| season | 0.20 | 48 | 137.000 | 58.000 | 111.000 | 36.000 | 164.000 | 26.000 | 3.8102 | 1.0730 | 0.4234 | 0.8102 | 0.2628 | 1.1971 | 0.1898 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6000 |
| predicted_ER | 1.3170 |
| predicted_ERA | 3.7661 |
| predicted_H | 2.5950 |
| predicted_HR | 0.6710 |
| predicted_IP | 3.0000 |
| predicted_SO | 3.3590 |
| predicted_WHIP | 1.0151 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.6000 | 0.7653 | model_form_blend |
| predicted_ER | 4.0000 | 1.3170 | 2.4261 | model_form_blend |
| predicted_ERA | - | 3.7661 | 3.7661 | form_only |
| predicted_H | 3.0000 | 2.5950 | 2.7624 | model_form_blend |
| predicted_HR | 1.0000 | 0.6710 | 0.8070 | model_form_blend |
| predicted_IP | 2.0000 | 3.0000 | 2.2000 | model_form_blend |
| predicted_SO | 0.0000 | 3.3590 | 1.9705 | model_form_blend |
| predicted_WHIP | - | 1.0151 | 1.0151 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 49 |
| Season rows before report date | 49 |
| Report year | 2026 |
| Profile rows used | 48 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 1 |
| HR | 1 |
| BF | 9 |
| 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 | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.08 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 23 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20261007_TB@NYY |
| game_type | full |
| mlbID | 693855 |
| playerID | 693855 |
| playerName | Ian Seymour |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-07 |
| 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 | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.159 | 0.000 | 0.841 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.205 | 0.000 | 0.795 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.568 | 0.000 | 0.432 | 1.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 0.764 | 0.200 | 1.236 | 1.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.023 | 0.000 | 0.977 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 5 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 0 |
| Better Metrics | 2 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, 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 | 5 | 5 | 0 | 2 | 3 | predicted_SO: 0.0000 -> 2.0000 (boost 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": "592155",
"player_name": "Cam Booser",
"position": "Middle Reliever (High Leverage)",
"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": 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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 2.0,
"predicted_R": 2.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": "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_IP",
"before": 0.6667,
"after": 2.0,
"delta": 1.3333,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 2.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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 2.0,
"delta": 1.3333,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "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 | 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 | 1.000 | - |
| BF | 9.000 | - |
| ER | 1.000 | - |
| H | 1.000 | - |
| HR | 0.000 | - |
| IP | 2.000 | - |
| Pitches | 42.000 | - |
| R | 2.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 | 3.200 | 0.000 | 1.000 | 1.000 | 3.000 | 0.000 | 0.0000 | 0.5455 | 0.0000 | 0.2727 | 0.2727 | 0.8182 | 0.0000 |
| last_10 | 0.35 | 10 | 7.100 | 0.000 | 1.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.2727 | 0.0000 | 0.1364 | 0.1364 | 0.8182 | 0.0000 |
| season | 0.20 | 44 | 42.000 | 9.000 | 25.000 | 7.000 | 45.000 | 5.000 | 1.9286 | 0.7619 | 0.2143 | 0.5952 | 0.1667 | 1.0714 | 0.1191 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1910 |
| predicted_ER | 0.1520 |
| predicted_ERA | 1.9348 |
| predicted_H | 0.3860 |
| predicted_HR | 0.0490 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6330 |
| predicted_WHIP | 0.8127 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1910 | 0.0947 | model_form_blend |
| predicted_ER | 0.0000 | 0.1520 | 0.0753 | model_form_blend |
| predicted_ERA | - | 1.9348 | 1.9348 | form_only |
| predicted_H | 0.0000 | 0.3860 | 0.1913 | model_form_blend |
| predicted_HR | 0.0000 | 0.0490 | 0.0243 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6330 | 0.3137 | model_form_blend |
| predicted_WHIP | - | 0.8127 | 0.8127 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 44 |
| Season rows before report date | 44 |
| Report year | 2026 |
| Profile rows used | 44 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 1 |
| R | 2 |
| ER | 1 |
| BB | 1 |
| SO | 2 |
| HR | 0 |
| BF | 9 |
| Pitches | 42 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20261007_TB@NYY |
| game_type | full |
| mlbID | 592155 |
| playerID | 592155 |
| playerName | Cam Booser |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-07 |
| 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 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | LAD 4 - 3 MIL | LAD | 0.505 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | LAD 4 - 3 MIL | LAD | - | organic_simulation_realized_target | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.
| Priority | Change | Runtime status | Evidence |
|---|---|---|---|
| P1 | Empirical confidence blend | applied | raw=0.5066; empirical=0.5523; weight=0.4500; final=0.5272 |
| P1 | H2H margin as base feature | available | home net=2; abs=2; home delta=0.0115; away delta=-0.0115 |
| 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.1080; recent edge=-0.1920; 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.1000 |
| 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 | 4.210 | 4.488 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 4 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 4 | 3 | 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 | 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.808040942513817,
"base_low_score_probability": 0.4283476898981989,
"low_score_signal_threshold": 0.5083476898981989,
"low_score_signal_strength": 0.3796932526156181,
"confidence": 0.9,
"factors": {
"environmental": 1.0710000000000002,
"pitcher_form": 1.4520000000000002,
"team_form": 1.1664,
"situational": 1.04,
"combined": 1.8864136811520007
},
"prediction": "low_scoring",
"expected_total_runs": 7,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.1,
"low_score_model_expected_total_runs": 6.1,
"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": 574,
"near_bucket_sample_size": 574,
"medium_bucket_sample_size": 796,
"wide_bucket_sample_size": 900,
"global_sample_size": 1142,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5523,
"bayesian_hit_rate": 0.5507,
"prior_strength": 18.0,
"raw_pick_probability": 0.5,
"raw_pick_probability_unclamped": 0.4811,
"score_probability_conflict": true,
"margin_implied_home_probability": 0.4952,
"margin_implied_pick_probability": 0.5048,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5022,
"score_implied_floor_pick_probability": 0.5047,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.518873,
"uncapped_away_win_probability": 0.481127,
"calibrated_pick_probability": 0.505,
"predicted_side": "away",
"reliability": 0.969595,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.980236
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.506646,
"sample_size": 574,
"empirical_hit_rate": 0.5523,
"empirical_weight": 0.45,
"empirical_max_weight": 0.45,
"empirical_sample_scale": 200.0,
"blended_confidence": 0.52719,
"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": 2.0,
"absolute_net_margin": 2.0,
"home_average_margin": 0.4,
"home_run_delta": 0.0115,
"away_run_delta": -0.0115,
"evidence": [
{
"game_id": null,
"home_margin": 4.0
},
{
"game_id": null,
"home_margin": 3.0
},
{
"game_id": null,
"home_margin": -2.0
},
{
"game_id": null,
"home_margin": 1.0
},
{
"game_id": null,
"home_margin": -4.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": "MIL",
"games": 162,
"wins": 103,
"losses": 59,
"win_pct": 0.6358024691358025,
"runs_scored": 832,
"runs_allowed": 618,
"run_differential": 214,
"run_differential_per_game": 1.3209876543209877,
"available": true
},
"away": {
"team": "LAD",
"games": 162,
"wins": 100,
"losses": 62,
"win_pct": 0.6172839506172839,
"runs_scored": 801,
"runs_allowed": 600,
"run_differential": 201,
"run_differential_per_game": 1.2407407407407407,
"available": true
},
"run_differential_edge_per_game": 0.0802,
"win_pct_edge": 0.0185,
"quality_edge": 0.003,
"season_quality_edge": 0.108,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": 0.108,
"recent_quality_edge": -0.192,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": 0.003
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.031289910888926874
},
{
"home_runs": 2,
"away_runs": 3,
"probability": 0.030288205555370245
},
{
"home_runs": 3,
"away_runs": 2,
"probability": 0.02999161506727892
},
{
"home_runs": 2,
"away_runs": 2,
"probability": 0.029031472966474715
},
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.02779474413391894
}
],
"home_distribution": {
"0": 0.0984009575251365,
"1": 0.14133225774484753,
"2": 0.17215818444835976,
"3": 0.17785187836040373,
"4": 0.15582374708402338,
"5": 0.11578524952148984,
"6": 0.07296544462401226,
"7": 0.03899650049048954,
"8": 0.01767577411673182,
"9": 0.006794783998307251,
"10": 0.0022152220861981152
},
"away_distribution": {
"0": 0.0956299866458675,
"1": 0.13762293181681365,
"2": 0.16863254604768987,
"3": 0.17593241734293172,
"4": 0.15628029566038623,
"5": 0.11819972322252328,
"6": 0.07611716005005732,
"7": 0.041735207226546465,
"8": 0.019483925192111853,
"9": 0.007744693123700012,
"10": 0.0026211136713719997
},
"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",
"a prior same-side pick already missed against the actual result",
"latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design"
],
"signals": {
"predicted_team": "LAD",
"opponent_team": "MIL",
"h2h_net_margin": -5,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-08-16",
"predicted_team_runs": 2,
"opponent_runs": 6,
"margin_for_predicted_team": -4,
"winner": "MIL"
},
{
"date": "2026-08-15",
"predicted_team_runs": 1,
"opponent_runs": 4,
"margin_for_predicted_team": -3,
"winner": "MIL"
},
{
"date": "2026-08-14",
"predicted_team_runs": 3,
"opponent_runs": 1,
"margin_for_predicted_team": 2,
"winner": "LAD"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 5,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20261011",
"away": "LAD",
"home": "MIL",
"game_number": 1,
"predicted_team": "MIL",
"actual_winner": "MIL",
"actual_margin": 1,
"raw_pick_probability": 0.548241,
"artifact": "20261011_LAD@MIL.json",
"verification": "pregame_official_final"
},
{
"date": "20260816",
"away": "MIL",
"home": "LAD",
"game_number": 1,
"predicted_team": "LAD",
"actual_winner": "MIL",
"actual_margin": 4,
"raw_pick_probability": 0.51,
"artifact": "20260816_MIL@LAD.json",
"verification": "pregame_official_final"
},
{
"date": "20260815",
"away": "MIL",
"home": "LAD",
"game_number": 1,
"predicted_team": "MIL",
"actual_winner": "MIL",
"actual_margin": 3,
"raw_pick_probability": 0.51,
"artifact": "20260815_MIL@LAD.json",
"verification": "pregame_official_final"
},
{
"date": "20260814",
"away": "MIL",
"home": "LAD",
"game_number": 1,
"predicted_team": "LAD",
"actual_winner": "LAD",
"actual_margin": 2,
"raw_pick_probability": 0.53,
"artifact": "20260814_MIL@LAD.json",
"verification": "pregame_official_final"
},
{
"date": "20260813",
"away": "MIL",
"home": "LAD",
"game_number": 1,
"predicted_team": "MIL",
"actual_winner": "MIL",
"actual_margin": 1,
"raw_pick_probability": 0.51095,
"artifact": "20260813_MIL@LAD.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "LAD",
"guardrail_opponent_team": "MIL",
"output_pre_simulation_winner": "LAD",
"output_opponent_team": "MIL",
"simulation_score_winner": "LAD",
"final_score_winner": "LAD",
"pre_simulation_winner": "LAD",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": true,
"flip_authority": "caps_confidence_and_shifts_runs_only"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"hard_flip_suppressed": false,
"policy": "recency_uncertainty_shrinkage_v2",
"reasons": [],
"signals": {
"home": {
"team": "MIL",
"games": 162,
"wins": 103,
"losses": 59,
"win_pct": 0.6358024691358025,
"runs_scored": 832,
"runs_allowed": 618,
"run_differential": 214,
"run_differential_per_game": 1.3209876543209877,
"available": true
},
"away": {
"team": "LAD",
"games": 162,
"wins": 100,
"losses": 62,
"win_pct": 0.6172839506172839,
"runs_scored": 801,
"runs_allowed": 600,
"run_differential": 201,
"run_differential_per_game": 1.2407407407407407,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.066,
"final_margin": -0.066,
"margin_cap": 1.5,
"season_quality_edge": 0.003,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.52719,
"final_confidence": 0.505,
"calibrated_pick_probability": 0.505,
"shrinkage_weight": 0.980236,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.066,
"calibration_sample_size": 574,
"calibration_empirical_hit_rate": 0.5523,
"calibration_bayesian_hit_rate": 0.5507,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.003,
"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.495,
"margin_implied_home_probability": 0.427612,
"shrinkage_weight": 0.980236,
"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": 19,
"shrink_factor": 1.0
}
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "LAD 4 - 3 MIL",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "LAD 4 - 3 MIL",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.0236,
"recent_form_edge_home_minus_away": -0.122,
"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": "LAD",
"model_winner": "LAD",
"simulation_winner": "LAD",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 4,
"published_winner": "LAD",
"published_winner_draw_share": 0.5,
"draw_majority_team": null,
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 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.003,
"winner": "LAD",
"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.505,
"home_win_probability": 0.495,
"away_win_probability": 0.505,
"predicted_score_text": "LAD 4 - 3 MIL",
"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.53,
"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.372492,
"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": 4,
"home_runs": 3,
"predicted_score_text": "LAD 4 - 3 MIL",
"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": 4,
"home_runs": 3,
"score_text": "LAD 4 - 3 MIL",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "LAD 4 - 3 MIL",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.0236,
"recent_form_edge_home_minus_away": -0.122,
"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": "LAD",
"model_winner": "LAD",
"simulation_winner": "LAD",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 4,
"published_winner": "LAD",
"published_winner_draw_share": 0.5,
"draw_majority_team": null,
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 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.003,
"winner": "LAD",
"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 LAD | True | 1.0673 | 1.0673 | 1 | 9 | 0 |
| Home MIL | True | 1.0334 | 1.0334 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SS | Mookie Betts | - | 1.0592 | 0.7895 | neutral | 0.3390 | 0.2780 | 0.4350 | 7.80 | 38 | 90.20 | 17.90 | 12.50 | 11 | 8.90 | 0.0286 |
| 1B | Freddie Freeman | - | 1.0846 | 1.1277 | neutral | 0.3630 | 0.2900 | 0.4630 | 8.10 | 41.30 | 89.50 | 12.20 | 23.20 | 17.70 | 10 | 0.4286 |
| LF | Teoscar Hernández | - | 1.0522 | 0.6961 | neutral | 0.3320 | 0.2560 | 0.4370 | 10.70 | 44.80 | 90.30 | 13.90 | 32.60 | 27.50 | 8.60 | 0 |
| DH | Shohei Ohtani | - | 1.1401 | 1.8682 | neutral | 0.3970 | 0.2860 | 0.5520 | 16.40 | 52.10 | 93.30 | 12.30 | 31.70 | 24.60 | 13.10 | 0.5714 |
| C | Will Smith | - | 1.1236 | 1.6486 | positive_batter_regression | 0.3890 | 0.2790 | 0.5020 | 12.40 | 41.20 | 89.10 | 20.10 | 16.70 | 16.30 | 12.30 | 1.2571 |
| 3B | Max Muncy | - | 1.0693 | 0.9236 | neutral | 0.3490 | 0.2420 | 0.4700 | 12.90 | 45.80 | 89.90 | 17.50 | 29.20 | 25 | 11.60 | -0.3429 |
| CF | Andy Pages | - | 1.0550 | 0.7337 | neutral | 0.3430 | 0.2740 | 0.4420 | 7.90 | 42.30 | 88.90 | 15.70 | 22.10 | 19.70 | 8.50 | -0.2571 |
| RF | Kyle Tucker | - | 1.0358 | 0.4771 | neutral | 0.3310 | 0.2560 | 0.3930 | 6.40 | 36.30 | 88.50 | 18.10 | 20.80 | 16.70 | 12.40 | 0.3714 |
| 2B | Tommy Edman | - | 0.9855 | -0.1936 | neutral | 0.3030 | 0.2400 | 0.3470 | 5.30 | 32 | 87.30 | 13.10 | 23 | 20.20 | 6.60 | -0.4857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Jackson Chourio | - | 1.0702 | 0.9355 | neutral | 0.3440 | 0.2650 | 0.4750 | 12.30 | 47 | 91.60 | 11.80 | 25.10 | 23.40 | 8.20 | -0.4857 |
| 2B | Brice Turang | - | 1.0512 | 0.6822 | neutral | 0.3440 | 0.2550 | 0.4280 | 7.70 | 41.60 | 90.30 | 8.80 | 23.10 | 25.10 | 13.20 | -0.4000 |
| C | William Contreras | - | 1.0555 | 0.7396 | neutral | 0.3340 | 0.2610 | 0.4410 | 8.50 | 44.10 | 90.30 | 13.20 | 20.70 | 14.70 | 9.50 | 0.1143 |
| 1B | Jake Bauers | - | 1.0987 | 1.3163 | neutral | 0.3710 | 0.2530 | 0.4670 | 14 | 51.90 | 92.10 | 12.10 | 29.80 | 27 | 16.30 | -0.2857 |
| DH | Christian Yelich | - | 1.0168 | 0.2241 | neutral | 0.3080 | 0.2300 | 0.3850 | 9.60 | 42.90 | 88.90 | 4 | 29.60 | 27 | 9.80 | 0.0857 |
| CF | Garrett Mitchell | - | 1.0836 | 1.1148 | neutral | 0.3530 | 0.2680 | 0.4470 | 11.70 | 52.70 | 93.20 | 2.20 | 35.80 | 31.50 | 11.30 | 0.3714 |
| SS | Cooper Pratt | - | 1.0048 | 0.0641 | neutral | 0.3150 | 0.2660 | 0.3620 | 3.20 | 27.40 | 87 | 9.10 | 21.80 | 18 | 9.80 | -0.1429 |
| RF | Sal Frelick | - | 0.9660 | -0.4529 | neutral | 0.2810 | 0.2410 | 0.3240 | 2.30 | 26.80 | 85.70 | 9.80 | 10.10 | 9.90 | 8.10 | 0.1714 |
| 3B | David Hamilton | - | 0.9538 | -0.6156 | neutral | 0.2760 | 0.2250 | 0.3160 | 3.40 | 27.90 | 86.80 | 12.70 | 21.90 | 22.20 | 8.30 | -0.4857 |
{
"home": {
"applied": true,
"offense_factor": 1.0334,
"raw_average_factor": 1.0334,
"team_espn_average_rank": null,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "694192",
"player_name": "Jackson Chourio",
"offense_factor": 1.0702,
"quality_score": 0.9355,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "694192",
"espn_rank": null
},
"metrics": {
"pa": 523.0,
"k_percent": 23.4,
"bb_percent": 8.2,
"woba": 0.361,
"xwoba": 0.344,
"xba": 0.265,
"xslg": 0.475,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 47.0,
"exit_velocity_avg": 91.6,
"launch_angle_avg": 11.8,
"whiff_percent": 25.1,
"swing_percent": 47.8
},
"components": {
"expected_quality": 1.1669,
"regression_edge": -0.4857,
"xwoba_edge": 1.2857,
"xba_edge": 0.8286,
"xslg_edge": 1.6,
"barrel_edge": 1.2667,
"hard_hit_edge": 1.3429,
"exit_velocity_edge": 1.28,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "668930",
"player_name": "Brice Turang",
"offense_factor": 1.0512,
"quality_score": 0.6822,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "668930",
"espn_rank": null
},
"metrics": {
"pa": 619.0,
"k_percent": 25.1,
"bb_percent": 13.2,
"woba": 0.358,
"xwoba": 0.344,
"xba": 0.255,
"xslg": 0.428,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 41.6,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 8.8,
"whiff_percent": 23.1,
"swing_percent": 43.2
},
"components": {
"expected_quality": 0.8584,
"regression_edge": -0.4,
"xwoba_edge": 1.2857,
"xba_edge": 0.5429,
"xslg_edge": 0.9286,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.5714,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.8667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "661388",
"player_name": "William Contreras",
"offense_factor": 1.0555,
"quality_score": 0.7396,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "661388",
"espn_rank": null
},
"metrics": {
"pa": 590.0,
"k_percent": 14.7,
"bb_percent": 9.5,
"woba": 0.33,
"xwoba": 0.334,
"xba": 0.261,
"xslg": 0.441,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 44.1,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 13.2,
"whiff_percent": 20.7,
"swing_percent": 47.2
},
"components": {
"expected_quality": 0.8414,
"regression_edge": 0.1143,
"xwoba_edge": 1.0,
"xba_edge": 0.7143,
"xslg_edge": 1.1143,
"barrel_edge": 0.4222,
"hard_hit_edge": 0.9286,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "641343",
"player_name": "Jake Bauers",
"offense_factor": 1.0987,
"quality_score": 1.3163,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "641343",
"espn_rank": null
},
"metrics": {
"pa": 526.0,
"k_percent": 27.0,
"bb_percent": 16.3,
"woba": 0.381,
"xwoba": 0.371,
"xba": 0.253,
"xslg": 0.467,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 14.0,
"hard_hit_percent": 51.9,
"exit_velocity_avg": 92.1,
"launch_angle_avg": 12.1,
"whiff_percent": 29.8,
"swing_percent": 40.6
},
"components": {
"expected_quality": 1.5771,
"regression_edge": -0.2857,
"xwoba_edge": 2.0571,
"xba_edge": 0.4857,
"xslg_edge": 1.4857,
"barrel_edge": 1.6444,
"hard_hit_edge": 2.0429,
"exit_velocity_edge": 1.48,
"sweet_spot_edge": 0.8833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "592885",
"player_name": "Christian Yelich",
"offense_factor": 1.0168,
"quality_score": 0.2241,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "592885",
"espn_rank": null
},
"metrics": {
"pa": 456.0,
"k_percent": 27.0,
"bb_percent": 9.8,
"woba": 0.305,
"xwoba": 0.308,
"xba": 0.23,
"xslg": 0.385,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 42.9,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 4.0,
"whiff_percent": 29.6,
"swing_percent": 45.4
},
"components": {
"expected_quality": 0.2466,
"regression_edge": 0.0857,
"xwoba_edge": 0.2571,
"xba_edge": -0.1714,
"xslg_edge": 0.3143,
"barrel_edge": 0.6667,
"hard_hit_edge": 0.7571,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.6333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "669003",
"player_name": "Garrett Mitchell",
"offense_factor": 1.0836,
"quality_score": 1.1148,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "669003",
"espn_rank": null
},
"metrics": {
"pa": 480.0,
"k_percent": 31.5,
"bb_percent": 11.3,
"woba": 0.34,
"xwoba": 0.353,
"xba": 0.268,
"xslg": 0.447,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 11.7,
"hard_hit_percent": 52.7,
"exit_velocity_avg": 93.2,
"launch_angle_avg": 2.2,
"whiff_percent": 35.8,
"swing_percent": 43.9
},
"components": {
"expected_quality": 1.2358,
"regression_edge": 0.3714,
"xwoba_edge": 1.5429,
"xba_edge": 0.9143,
"xslg_edge": 1.2,
"barrel_edge": 1.1333,
"hard_hit_edge": 2.1571,
"exit_velocity_edge": 1.92,
"sweet_spot_edge": -0.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "806198",
"player_name": "Cooper Pratt",
"offense_factor": 1.0048,
"quality_score": 0.0641,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "806198",
"espn_rank": null
},
"metrics": {
"pa": 232.0,
"k_percent": 18.0,
"bb_percent": 9.8,
"woba": 0.32,
"xwoba": 0.315,
"xba": 0.266,
"xslg": 0.362,
"sweet_spot_percent": 41.1,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 27.4,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 9.1,
"whiff_percent": 21.8,
"swing_percent": 46.4
},
"components": {
"expected_quality": 0.0977,
"regression_edge": -0.1429,
"xwoba_edge": 0.4571,
"xba_edge": 0.8571,
"xslg_edge": -0.0143,
"barrel_edge": -0.7556,
"hard_hit_edge": -1.4571,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 1.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "686217",
"player_name": "Sal Frelick",
"offense_factor": 0.966,
"quality_score": -0.4529,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "686217",
"espn_rank": null
},
"metrics": {
"pa": 356.0,
"k_percent": 9.9,
"bb_percent": 8.1,
"woba": 0.275,
"xwoba": 0.281,
"xba": 0.241,
"xslg": 0.324,
"sweet_spot_percent": 27.4,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 26.8,
"exit_velocity_avg": 85.7,
"launch_angle_avg": 9.8,
"whiff_percent": 10.1,
"swing_percent": 42.8
},
"components": {
"expected_quality": -0.5545,
"regression_edge": 0.1714,
"xwoba_edge": -0.5143,
"xba_edge": 0.1429,
"xslg_edge": -0.5571,
"barrel_edge": -0.9556,
"hard_hit_edge": -1.5429,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": -0.9833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "666152",
"player_name": "David Hamilton",
"offense_factor": 0.9538,
"quality_score": -0.6156,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "666152",
"espn_rank": null
},
"metrics": {
"pa": 344.0,
"k_percent": 22.2,
"bb_percent": 8.3,
"woba": 0.293,
"xwoba": 0.276,
"xba": 0.225,
"xslg": 0.316,
"sweet_spot_percent": 29.3,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 27.9,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 12.7,
"whiff_percent": 21.9,
"swing_percent": 45.3
},
"components": {
"expected_quality": -0.6367,
"regression_edge": -0.4857,
"xwoba_edge": -0.6571,
"xba_edge": -0.3143,
"xslg_edge": -0.6714,
"barrel_edge": -0.7111,
"hard_hit_edge": -1.3857,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": -0.6667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0673,
"raw_average_factor": 1.0673,
"team_espn_average_rank": null,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "SS",
"player_id": "605141",
"player_name": "Mookie Betts",
"offense_factor": 1.0592,
"quality_score": 0.7895,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "605141",
"espn_rank": null
},
"metrics": {
"pa": 475.0,
"k_percent": 11.0,
"bb_percent": 8.9,
"woba": 0.338,
"xwoba": 0.339,
"xba": 0.278,
"xslg": 0.435,
"sweet_spot_percent": 40.4,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 38.0,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 17.9,
"whiff_percent": 12.5,
"swing_percent": 41.3
},
"components": {
"expected_quality": 0.9134,
"regression_edge": 0.0286,
"xwoba_edge": 1.1429,
"xba_edge": 1.2,
"xslg_edge": 1.0286,
"barrel_edge": 0.2667,
"hard_hit_edge": 0.0571,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": 1.1833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "518692",
"player_name": "Freddie Freeman",
"offense_factor": 1.0846,
"quality_score": 1.1277,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "518692",
"espn_rank": null
},
"metrics": {
"pa": 607.0,
"k_percent": 17.7,
"bb_percent": 10.0,
"woba": 0.348,
"xwoba": 0.363,
"xba": 0.29,
"xslg": 0.463,
"sweet_spot_percent": 38.7,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 41.3,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 12.2,
"whiff_percent": 23.2,
"swing_percent": 50.1
},
"components": {
"expected_quality": 1.2415,
"regression_edge": 0.4286,
"xwoba_edge": 1.8286,
"xba_edge": 1.5429,
"xslg_edge": 1.4286,
"barrel_edge": 0.3333,
"hard_hit_edge": 0.5286,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.9,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "606192",
"player_name": "Teoscar Hernández",
"offense_factor": 1.0522,
"quality_score": 0.6961,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "606192",
"espn_rank": null
},
"metrics": {
"pa": 443.0,
"k_percent": 27.5,
"bb_percent": 8.6,
"woba": 0.332,
"xwoba": 0.332,
"xba": 0.256,
"xslg": 0.437,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 10.7,
"hard_hit_percent": 44.8,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 13.9,
"whiff_percent": 32.6,
"swing_percent": 48.0
},
"components": {
"expected_quality": 0.8094,
"regression_edge": 0.0,
"xwoba_edge": 0.9429,
"xba_edge": 0.5714,
"xslg_edge": 1.0571,
"barrel_edge": 0.9111,
"hard_hit_edge": 1.0286,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"offense_factor": 1.1401,
"quality_score": 1.8682,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "660271",
"espn_rank": null
},
"metrics": {
"pa": 571.0,
"k_percent": 24.6,
"bb_percent": 13.1,
"woba": 0.377,
"xwoba": 0.397,
"xba": 0.286,
"xslg": 0.552,
"sweet_spot_percent": 38.0,
"barrel_batted_rate": 16.4,
"hard_hit_percent": 52.1,
"exit_velocity_avg": 93.3,
"launch_angle_avg": 12.3,
"whiff_percent": 31.7,
"swing_percent": 46.6
},
"components": {
"expected_quality": 2.0793,
"regression_edge": 0.5714,
"xwoba_edge": 2.5,
"xba_edge": 1.4286,
"xslg_edge": 2.5,
"barrel_edge": 2.1778,
"hard_hit_edge": 2.0714,
"exit_velocity_edge": 1.96,
"sweet_spot_edge": 0.7833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "669257",
"player_name": "Will Smith",
"offense_factor": 1.1236,
"quality_score": 1.6486,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": false,
"player_id": "669257",
"espn_rank": null
},
"metrics": {
"pa": 242.0,
"k_percent": 16.3,
"bb_percent": 12.3,
"woba": 0.345,
"xwoba": 0.389,
"xba": 0.279,
"xslg": 0.502,
"sweet_spot_percent": 43.3,
"barrel_batted_rate": 12.4,
"hard_hit_percent": 41.2,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 20.1,
"whiff_percent": 16.7,
"swing_percent": 41.6
},
"components": {
"expected_quality": 1.7123,
"regression_edge": 1.2571,
"xwoba_edge": 2.5,
"xba_edge": 1.2286,
"xslg_edge": 1.9857,
"barrel_edge": 1.2889,
"hard_hit_edge": 0.5143,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 1.6667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "571970",
"player_name": "Max Muncy",
"offense_factor": 1.0693,
"quality_score": 0.9236,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "571970",
"espn_rank": null
},
"metrics": {
"pa": 519.0,
"k_percent": 25.0,
"bb_percent": 11.6,
"woba": 0.361,
"xwoba": 0.349,
"xba": 0.242,
"xslg": 0.47,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 12.9,
"hard_hit_percent": 45.8,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 17.5,
"whiff_percent": 29.2,
"swing_percent": 44.9
},
"components": {
"expected_quality": 1.1298,
"regression_edge": -0.3429,
"xwoba_edge": 1.4286,
"xba_edge": 0.1714,
"xslg_edge": 1.5286,
"barrel_edge": 1.4,
"hard_hit_edge": 1.1714,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": 0.4167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "681624",
"player_name": "Andy Pages",
"offense_factor": 1.055,
"quality_score": 0.7337,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "681624",
"espn_rank": null
},
"metrics": {
"pa": 544.0,
"k_percent": 19.7,
"bb_percent": 8.5,
"woba": 0.352,
"xwoba": 0.343,
"xba": 0.274,
"xslg": 0.442,
"sweet_spot_percent": 37.4,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 42.3,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 15.7,
"whiff_percent": 22.1,
"swing_percent": 47.2
},
"components": {
"expected_quality": 0.895,
"regression_edge": -0.2571,
"xwoba_edge": 1.2571,
"xba_edge": 1.0857,
"xslg_edge": 1.1286,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.6714,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": 0.6833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "663656",
"player_name": "Kyle Tucker",
"offense_factor": 1.0358,
"quality_score": 0.4771,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "663656",
"espn_rank": null
},
"metrics": {
"pa": 576.0,
"k_percent": 16.7,
"bb_percent": 12.4,
"woba": 0.318,
"xwoba": 0.331,
"xba": 0.256,
"xslg": 0.393,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 36.3,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 18.1,
"whiff_percent": 20.8,
"swing_percent": 48.5
},
"components": {
"expected_quality": 0.4943,
"regression_edge": 0.3714,
"xwoba_edge": 0.9143,
"xba_edge": 0.5714,
"xslg_edge": 0.4286,
"barrel_edge": -0.0444,
"hard_hit_edge": -0.1857,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "669242",
"player_name": "Tommy Edman",
"offense_factor": 0.9855,
"quality_score": -0.1936,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "669242",
"espn_rank": null
},
"metrics": {
"pa": 292.0,
"k_percent": 20.2,
"bb_percent": 6.6,
"woba": 0.32,
"xwoba": 0.303,
"xba": 0.24,
"xslg": 0.347,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 32.0,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 13.1,
"whiff_percent": 23.0,
"swing_percent": 46.4
},
"components": {
"expected_quality": -0.146,
"regression_edge": -0.4857,
"xwoba_edge": 0.1143,
"xba_edge": 0.1143,
"xslg_edge": -0.2286,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.8,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": -0.65,
"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 LAD | Yoshinobu Yamamoto | True | - | 0.6349 | 1 | 0.9460 | 1.0360 | 0.9340 | 0.9344 | neutral | 0.2660 | 0.2420 | 25.70 | 5.90 | 27.90 | 6.50 | 35.50 |
| Home MIL | Logan Henderson | True | - | 0.6816 | 1 | 0.9421 | 1.0503 | 0.9180 | 0.9667 | neutral | 0.2570 | 0.2520 | 29.60 | 5.10 | 26.50 | 8.30 | 36.90 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away LAD | Yoshinobu Yamamoto | True | None | 96 | 91.06 | 2177 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0672 |
| Home MIL | Logan Henderson | True | None | 93 | 88.27 | 2418 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0895 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9669 |
| home_runs_vs_away_pitcher | 0.9678 |
| home_pitcher_starter_only_factor | 0.9421 |
| away_pitcher_starter_only_factor | 0.9460 |
| home_pitcher_workload_share | 0.6667 |
| away_pitcher_workload_share | 0.7407 |
| home_pitcher_quality_edge | -0.0159 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "701656",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 348.0,
"k_percent": 29.6,
"bb_percent": 5.1,
"woba": 0.252,
"xwoba": 0.257,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 36.9,
"avg_best_speed": 77.2333,
"avg_hyper_speed": 93.8148,
"whiff_percent": 26.5,
"swing_percent": 53.2
},
"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.9063,
"command_and_miss": 0.7521,
"regression_edge": -0.1429,
"xwoba_edge": 1.5714,
"barrel_edge": -0.2444,
"hard_hit_edge": 0.1429,
"whiff_edge": 0.1857,
"bb_edge": 1.025,
"pitch_design_score": -0.0895
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "701656",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.2657231915627,
"release_spin_rate": 2417.7993644891867,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.2657231915627,
"release_spin_rate": 2417.7993644891867,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2657,
"release_spin_rate": 2417.7994,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0895,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6394,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.6816,
"sample_weight": 1.0,
"run_prevention_factor": 0.9421,
"strikeout_factor": 1.0503,
"walk_factor": 0.918,
"homer_factor": 0.9667,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "701656",
"espn_rank": null
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "808967",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 656.0,
"k_percent": 25.7,
"bb_percent": 5.9,
"woba": 0.242,
"xwoba": 0.266,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 35.5,
"avg_best_speed": 76.0498,
"avg_hyper_speed": 93.7865,
"whiff_percent": 27.9,
"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.9999,
"command_and_miss": 0.5314,
"regression_edge": -0.6857,
"xwoba_edge": 1.3143,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.3429,
"whiff_edge": 0.3857,
"bb_edge": 0.825,
"pitch_design_score": 0.0672
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "808967",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 91.06397663750431,
"release_spin_rate": 2177.495703419384,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 91.06397663750431,
"release_spin_rate": 2177.495703419384,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.064,
"release_spin_rate": 2177.4957,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0672,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4799,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.6349,
"sample_weight": 1.0,
"run_prevention_factor": 0.946,
"strikeout_factor": 1.036,
"walk_factor": 0.934,
"homer_factor": 0.9344,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "808967",
"espn_rank": null
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9669,
"home_runs_vs_away_pitcher": 0.9678,
"home_pitcher_starter_only_factor": 0.9421,
"away_pitcher_starter_only_factor": 0.946,
"home_pitcher_workload_share": 0.6667,
"away_pitcher_workload_share": 0.7407,
"home_pitcher_quality_edge": -0.0159
},
"score_before": {
"away_runs": 3.0,
"home_runs": 3.0
},
"score_after": {
"away_runs": 2.9007,
"home_runs": 2.9033,
"home_win_probability": 0.4999
},
"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 LAD | 8-2 | 0.800 | 5 | 2.20 | 28 | 3W | average | strong |
| Home MIL | 8-2 | 0.800 | 4.40 | 3 | 14 | 5W | average | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away LAD | 100-62 | 0.617 | 201 | 1.241 | True |
| Home MIL | 103-59 | 0.636 | 214 | 1.321 | True |
| Signal | - | - | 0.080 | 0.003 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-08-16 | MIL @ LAD | 6 - 2 | MIL | 4 | blowout |
| 2026-08-15 | MIL @ LAD | 4 - 1 | MIL | 3 | blowout |
| 2026-08-14 | MIL @ LAD | 1 - 3 | LAD | 2 | close |
| 2026-08-13 | MIL @ LAD | 5 - 4 | MIL | 1 | close |
| 2026-05-24 | LAD @ MIL | 5 - 1 | LAD | 4 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target LAD | - | - | 4 | - | - | - | - |
| Game target MIL | - | - | 3 | - | - | - | - |
| Player finalized LAD | 33 | 6 | 4 | 0 | 4 | 3 | 9 |
| Player finalized MIL | 34 | 7 | 3 | 0 | 3 | 3 | 10 |
| Player model fractional LAD | 34.28 | 7.19 | 4.50 | 1.44 | 3.90 | 3.13 | 8.55 |
| Player model fractional MIL | 33.08 | 7.16 | 4.70 | 0.97 | 4.15 | 3.18 | 8.56 |
| Simulation box LAD | 33 | 6 | 4 | 0 | 4 | 3 | 9 |
| Simulation box MIL | 34 | 7 | 3 | 0 | 3 | 3 | 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 LAD | Starter | Yoshinobu Yamamoto | 6.10 | 2 | 6 | 4 | 3 | 2.52 | 0.87 | True |
| Away LAD | Middle Reliever | Alex Vesia | 1 | 0 | 1 | 0 | 0 | 1.68 | 0.79 | True |
| Away LAD | Middle Reliever (High Leverage) | Evan Phillips | 0.20 | 0 | 1 | 0 | 0 | 3.51 | 1.09 | True |
| Away LAD | Middle Reliever (High Leverage) | Edwin Díaz | 1 | 1 | 2 | 3 | 0 | 3.47 | 1.06 | True |
| Home MIL | Starter | Logan Henderson | 5 | 4 | 5 | 5 | 3 | 2.81 | 0.97 | True |
| Home MIL | Long Reliever | JoJo Romero | 1.10 | 0 | 1 | 1 | 0 | 3.10 | 0.98 | True |
| Home MIL | Middle Reliever (High Leverage) | Antonio Senzatela | 1 | 0 | 1 | 0 | 0 | 2.30 | 1.36 | True |
| Home MIL | Middle Reliever (High Leverage) | DL Hall | 1.20 | 0 | 2 | 0 | 0 | 1.70 | 1.07 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | LAD | pitcher | Starter | Yoshinobu Yamamoto | worse | 5 | 3 | 2 | 2 | 3 | predicted_BB | 3.0000 | boost | worse |
| away | LAD | pitcher | Middle Reliever | Alex Vesia | better | 3 | 1 | 2 | 3 | 0 | predicted_H | -3.0000 | deboost | better |
| home | MIL | pitcher | Starter | Logan Henderson | worse | 4 | 3 | 1 | 0 | 4 | predicted_BB | 3.0000 | boost | worse |
| away | LAD | pitcher | Middle Reliever (High Leverage) | Edwin Díaz | better | 3 | 3 | 0 | 2 | 1 | predicted_H | 2.0000 | boost | worse |
| home | MIL | batter | SS | Cooper Pratt | worse | 9 | 5 | 4 | 4 | 5 | predicted_R | 1.5870 | boost | better |
| home | MIL | batter | C | William Contreras | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | -1.5400 | deboost | worse |
| away | LAD | batter | DH | Shohei Ohtani | worse | 10 | 3 | 7 | 4 | 6 | predicted_RBI | 1.4320 | boost | better |
| away | LAD | batter | LF | Teoscar Hernández | worse | 12 | 2 | 10 | 1 | 11 | predicted_AB | -1.2700 | deboost | worse |
| home | MIL | batter | 3B | David Hamilton | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.2460 | boost | worse |
| away | LAD | batter | 2B | Tommy Edman | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.2020 | boost | worse |
| home | MIL | batter | DH | Christian Yelich | worse | 12 | 0 | 12 | 1 | 11 | predicted_SO | -1.1270 | deboost | better |
| home | MIL | batter | LF | Jackson Chourio | worse | 12 | 4 | 8 | 3 | 9 | predicted_RBI | 1.1100 | boost | better |
| away | LAD | batter | 1B | Freddie Freeman | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | -1.1000 | deboost | worse |
| away | LAD | batter | 3B | Max Muncy | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.0530 | boost | worse |
| home | MIL | pitcher | Long Reliever | JoJo Romero | better | 3 | 0 | 3 | 2 | 1 | predicted_ER | -1.0000 | deboost | better |
| home | MIL | pitcher | Middle Reliever (High Leverage) | Antonio Senzatela | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| home | MIL | pitcher | Middle Reliever (High Leverage) | DL Hall | better | 3 | 2 | 1 | 3 | 0 | predicted_BB | -1.0000 | deboost | better |
| home | MIL | batter | CF | Garrett Mitchell | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -0.9600 | deboost | worse |
| home | MIL | batter | 2B | Brice Turang | worse | 10 | 2 | 8 | 3 | 7 | predicted_H | -0.9400 | deboost | worse |
| home | MIL | batter | 1B | Jake Bauers | worse | 12 | 3 | 9 | 4 | 8 | predicted_HBP | 0.9180 | boost | better |
| away | LAD | batter | C | Will Smith | better | 11 | 8 | 3 | 7 | 4 | predicted_2B | 0.8800 | boost | better |
| home | MIL | batter | RF | Sal Frelick | deboosted | 8 | 3 | 5 | 4 | 4 | predicted_AB | 0.8720 | boost | better |
| away | LAD | batter | SS | Mookie Betts | better | 10 | 5 | 5 | 6 | 4 | predicted_2B | 0.8020 | boost | better |
| away | LAD | batter | RF | Kyle Tucker | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -0.7030 | deboost | better |
| away | LAD | batter | CF | Andy Pages | worse | 11 | 1 | 10 | 0 | 11 | predicted_RBI | -0.7000 | deboost | worse |
| away | LAD | pitcher | Middle Reliever (High Leverage) | Evan Phillips | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Yoshinobu Yamamoto |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.6349 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0672 |
| Avg Velo | 91.0640 |
| Avg Spin | 2177.4957 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.1000 |
| Pre ER | 2 |
| Pre H | 4 |
| Pre BB | 3 |
| Pre SO | 6 |
| Season ERA | 2.4844 |
| Season WHIP | 0.8646 |
| Role Avg IP | 6.6210 |
| Recent Avg IP | 6.8000 |
| Last Start IP | 7 |
{
"team": {
"team": "LAD",
"games": 162,
"wins": 100,
"losses": 62,
"win_pct": 0.6173,
"runs_scored": 801.0,
"runs_allowed": 600.0,
"run_differential": 201.0,
"run_differential_per_game": 1.2407,
"avg_runs_scored": 4.9444,
"avg_runs_allowed": 3.7037,
"offense_index": 1.1023,
"defense_index": 1.2111,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 2.2,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.3568
},
"opponent": {
"team": "MIL",
"games": 162,
"wins": 103,
"losses": 59,
"win_pct": 0.6358,
"runs_scored": 832.0,
"runs_allowed": 618.0,
"run_differential": 214.0,
"run_differential_per_game": 1.321,
"avg_runs_scored": 5.1358,
"avg_runs_allowed": 3.8148,
"offense_index": 1.145,
"defense_index": 1.1758,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.3824
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0256,
"offense_edge": 0.1023,
"opponent_offense_edge": 0.145,
"defense_strength": 0.2111,
"opponent_defense_weakness": -0.1758,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9995,
"run_prevention": 1.0034,
"strikeout": 0.9876
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "808967",
"profile": {
"available": true,
"pitcher_id": "808967",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 656.0,
"k_percent": 25.7,
"bb_percent": 5.9,
"woba": 0.242,
"xwoba": 0.266,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 35.5,
"avg_best_speed": 76.0498,
"avg_hyper_speed": 93.7865,
"whiff_percent": 27.9,
"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.9999,
"command_and_miss": 0.5314,
"regression_edge": -0.6857,
"xwoba_edge": 1.3143,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.3429,
"whiff_edge": 0.3857,
"bb_edge": 0.825,
"pitch_design_score": 0.0672
},
"quality_score": 0.6349,
"sample_weight": 1.0,
"run_prevention_factor": 0.946,
"strikeout_factor": 1.036,
"walk_factor": 0.934,
"homer_factor": 0.9344,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "808967",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.946,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.946,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.934,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9344,
"adjusted": 1
},
"predicted_SO": {
"original": 7.0,
"factor": 1.036,
"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": 66.1,
"ER": 15,
"H": 38,
"BB": 15,
"SO": 74,
"HR": 7,
"ERA": 2.035175879396985,
"WHIP": 0.7989949748743719,
"K9": 10.040201005025127,
"HR9": 0.9497487437185931,
"games_pitched": 10,
"quality_starts": 8,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-06T00:00:00"
}{
"available": true,
"pitcher_id": "808967",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 91.06397663750431,
"release_spin_rate": 2177.495703419384,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 91.06397663750431,
"release_spin_rate": 2177.495703419384,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.064,
"release_spin_rate": 2177.4957,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0672,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4799,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 29.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8529,
"prior_weight": 0.1471
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "808967",
"report_date": "20261012",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 6.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 34.0,
"ER": 8.0,
"R": 10.0,
"H": 18.0,
"BB": 7.0,
"SO": 39.0,
"HR": 4.0,
"BF": 127.0,
"Pitches": 460.0
},
"per_game": {
"IP": 6.2,
"ER": 1.6,
"R": 2.0,
"H": 3.6,
"BB": 1.4,
"SO": 7.8,
"HR": 0.8,
"BF": 25.4,
"Pitches": 92.0
},
"rates": {
"ERA": 2.1176,
"WHIP": 0.7353,
"ER_per_IP": 0.23529,
"H_per_IP": 0.52941,
"BB_per_IP": 0.20588,
"SO_per_IP": 1.14706,
"HR_per_IP": 0.11765
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 66.1,
"ER": 15.0,
"R": 17.0,
"H": 38.0,
"BB": 15.0,
"SO": 74.0,
"HR": 7.0,
"BF": 253.0,
"Pitches": 972.0
},
"per_game": {
"IP": 6.2,
"ER": 1.5,
"R": 1.7,
"H": 3.8,
"BB": 1.5,
"SO": 7.4,
"HR": 0.7,
"BF": 25.3,
"Pitches": 97.2
},
"rates": {
"ERA": 2.0352,
"WHIP": 0.799,
"ER_per_IP": 0.22613,
"H_per_IP": 0.57286,
"BB_per_IP": 0.22613,
"SO_per_IP": 1.11558,
"HR_per_IP": 0.10553
}
},
"season": {
"games": 29,
"totals": {
"IP": 192.0,
"ER": 53.0,
"R": 56.0,
"H": 123.0,
"BB": 43.0,
"SO": 192.0,
"HR": 20.0,
"BF": 734.0,
"Pitches": 2832.0
},
"per_game": {
"IP": 6.2,
"ER": 1.8276,
"R": 1.931,
"H": 4.2414,
"BB": 1.4828,
"SO": 6.6207,
"HR": 0.6897,
"BF": 25.3103,
"Pitches": 97.6552
},
"rates": {
"ERA": 2.4844,
"WHIP": 0.8646,
"ER_per_IP": 0.27604,
"H_per_IP": 0.64062,
"BB_per_IP": 0.22396,
"SO_per_IP": 1.0,
"HR_per_IP": 0.10417
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.2,
"predicted_ER": 1.87,
"predicted_H": 4.19,
"predicted_BB": 1.606,
"predicted_SO": 7.208,
"predicted_HR": 0.774,
"predicted_ERA": 2.5244,
"predicted_WHIP": 0.8694
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4121,
"form_weight": 0.5879,
"form_reliability": 0.8529,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 29.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8529,
"prior_weight": 0.1471
},
"applied_metrics": {
"predicted_IP": {
"model": 6.2,
"form": 6.2,
"final": 6.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.87,
"final": 1.0993,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.19,
"final": 4.5238,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.606,
"final": 0.9441,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 7.208,
"final": 5.4737,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.774,
"final": 0.455,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5244,
"final": 2.5244,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8694,
"final": 0.8694,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Alex Vesia |
| Role | Middle Reliever |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.7046 |
| 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 | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.5220 |
| Season WHIP | 1.0549 |
| Role Avg IP | 0.8090 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"team": {
"team": "LAD",
"games": 162,
"wins": 100,
"losses": 62,
"win_pct": 0.6173,
"runs_scored": 801.0,
"runs_allowed": 600.0,
"run_differential": 201.0,
"run_differential_per_game": 1.2407,
"avg_runs_scored": 4.9444,
"avg_runs_allowed": 3.7037,
"offense_index": 1.1023,
"defense_index": 1.2111,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 2.2,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.3568
},
"opponent": {
"team": "MIL",
"games": 162,
"wins": 103,
"losses": 59,
"win_pct": 0.6358,
"runs_scored": 832.0,
"runs_allowed": 618.0,
"run_differential": 214.0,
"run_differential_per_game": 1.321,
"avg_runs_scored": 5.1358,
"avg_runs_allowed": 3.8148,
"offense_index": 1.145,
"defense_index": 1.1758,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.3824
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0256,
"offense_edge": 0.1023,
"opponent_offense_edge": 0.145,
"defense_strength": 0.2111,
"opponent_defense_weakness": -0.1758,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9995,
"run_prevention": 1.0034,
"strikeout": 0.9876
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681911",
"profile": {
"available": true,
"pitcher_id": "681911",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 221.0,
"k_percent": 31.2,
"bb_percent": 13.5,
"woba": 0.233,
"xwoba": 0.254,
"sweet_spot_percent": 29.0,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 33.6,
"avg_best_speed": 77.4874,
"avg_hyper_speed": 92.7576,
"whiff_percent": 33.6,
"swing_percent": 48.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": 1.1636,
"command_and_miss": 0.79,
"regression_edge": -0.6,
"xwoba_edge": 1.6571,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.6143,
"whiff_edge": 1.2,
"bb_edge": -1.075,
"pitch_design_score": 0.0
},
"quality_score": 0.7046,
"sample_weight": 0.884,
"run_prevention_factor": 0.9401,
"strikeout_factor": 1.0884,
"walk_factor": 1.076,
"homer_factor": 0.917,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "681911",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.947,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.947,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0672,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9266,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0781,
"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": 2,
"BB": 2,
"SO": 12,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.4285714285714286,
"K9": 11.571428571428573,
"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-11T00:00:00"
}{
"available": false,
"pitcher_id": "681911",
"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.545,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.715,
"prior_weight": 0.285
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "681911",
"report_date": "20261012",
"season_year": 2026,
"rows_used": 75,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 62.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 3.0,
"Pitches": 12.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.21429,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 12.0,
"HR": 0.0,
"BF": 31.0,
"Pitches": 141.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 3.1,
"Pitches": 14.1
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.21429,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.0
}
},
"season": {
"games": 75,
"totals": {
"IP": 60.2,
"ER": 17.0,
"R": 18.0,
"H": 31.0,
"BB": 33.0,
"SO": 77.0,
"HR": 4.0,
"BF": 246.0,
"Pitches": 1051.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2267,
"R": 0.24,
"H": 0.4133,
"BB": 0.44,
"SO": 1.0267,
"HR": 0.0533,
"BF": 3.28,
"Pitches": 14.0133
},
"rates": {
"ERA": 2.522,
"WHIP": 1.0549,
"ER_per_IP": 0.28022,
"H_per_IP": 0.51099,
"BB_per_IP": 0.54396,
"SO_per_IP": 1.26923,
"HR_per_IP": 0.06593
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.178,
"predicted_H": 0.454,
"predicted_BB": 0.294,
"predicted_SO": 1.127,
"predicted_HR": 0.049,
"predicted_ERA": 1.6788,
"predicted_WHIP": 0.7857
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4704,
"form_weight": 0.5296,
"form_reliability": 0.715,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.545,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.715,
"prior_weight": 0.285
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.178,
"final": 1.0351,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.454,
"final": 1.6517,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.294,
"final": 0.1557,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.127,
"final": 0.5968,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.049,
"final": 0.0259,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.6788,
"final": 1.6788,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.7857,
"final": 0.7857,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Evan Phillips |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0391 |
| 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 | 3.2530 |
| Season WHIP | 1.0843 |
| Role Avg IP | 0.8140 |
| Recent Avg IP | 0.7330 |
| Last Start IP | 0 |
{
"team": {
"team": "LAD",
"games": 162,
"wins": 100,
"losses": 62,
"win_pct": 0.6173,
"runs_scored": 801.0,
"runs_allowed": 600.0,
"run_differential": 201.0,
"run_differential_per_game": 1.2407,
"avg_runs_scored": 4.9444,
"avg_runs_allowed": 3.7037,
"offense_index": 1.1023,
"defense_index": 1.2111,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 2.2,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.3568
},
"opponent": {
"team": "MIL",
"games": 162,
"wins": 103,
"losses": 59,
"win_pct": 0.6358,
"runs_scored": 832.0,
"runs_allowed": 618.0,
"run_differential": 214.0,
"run_differential_per_game": 1.321,
"avg_runs_scored": 5.1358,
"avg_runs_allowed": 3.8148,
"offense_index": 1.145,
"defense_index": 1.1758,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.3824
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0256,
"offense_edge": 0.1023,
"opponent_offense_edge": 0.145,
"defense_strength": 0.2111,
"opponent_defense_weakness": -0.1758,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9995,
"run_prevention": 1.0034,
"strikeout": 0.9876
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623465",
"profile": {
"available": true,
"pitcher_id": "623465",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 90.0,
"k_percent": 31.1,
"bb_percent": 5.7,
"woba": 0.292,
"xwoba": 0.321,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 16.7,
"hard_hit_percent": 39.4,
"avg_best_speed": 80.1336,
"avg_hyper_speed": 95.3489,
"whiff_percent": 26.7,
"swing_percent": 48.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.3919,
"command_and_miss": 0.8286,
"regression_edge": -0.8286,
"xwoba_edge": -0.2571,
"barrel_edge": -2.1111,
"hard_hit_edge": -0.2143,
"whiff_edge": 0.2143,
"bb_edge": 0.875,
"pitch_design_score": 0.0
},
"quality_score": -0.0391,
"sample_weight": 0.45,
"run_prevention_factor": 1.0033,
"strikeout_factor": 1.027,
"walk_factor": 0.9685,
"homer_factor": 1.0833,
"woba_minus_xwoba": -0.029,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "623465",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0015,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0015,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9858,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0375,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0121,
"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": 8.0,
"ER": 2,
"H": 4,
"BB": 2,
"SO": 14,
"HR": 1,
"ERA": 2.2500000000000004,
"WHIP": 0.7500000000000001,
"K9": 15.750000000000002,
"HR9": 1.1250000000000002,
"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-11T00:00:00"
}{
"available": false,
"pitcher_id": "623465",
"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": 5.721,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5336,
"prior_weight": 0.4664
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "623465",
"report_date": "20261012",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 14.0,
"Pitches": 62.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 2.8,
"Pitches": 12.4
},
"rates": {
"ERA": 2.4545,
"WHIP": 0.8182,
"ER_per_IP": 0.27273,
"H_per_IP": 0.54545,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.63636,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 2.0,
"SO": 14.0,
"HR": 1.0,
"BF": 30.0,
"Pitches": 126.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.2,
"SO": 1.4,
"HR": 0.1,
"BF": 3.0,
"Pitches": 12.6
},
"rates": {
"ERA": 2.25,
"WHIP": 0.75,
"ER_per_IP": 0.25,
"H_per_IP": 0.5,
"BB_per_IP": 0.25,
"SO_per_IP": 1.75,
"HR_per_IP": 0.125
}
},
"season": {
"games": 34,
"totals": {
"IP": 27.2,
"ER": 10.0,
"R": 11.0,
"H": 23.0,
"BB": 7.0,
"SO": 36.0,
"HR": 5.0,
"BF": 113.0,
"Pitches": 456.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2941,
"R": 0.3235,
"H": 0.6765,
"BB": 0.2059,
"SO": 1.0588,
"HR": 0.1471,
"BF": 3.3235,
"Pitches": 13.4118
},
"rates": {
"ERA": 3.253,
"WHIP": 1.0843,
"ER_per_IP": 0.36145,
"H_per_IP": 0.83133,
"BB_per_IP": 0.25301,
"SO_per_IP": 1.3012,
"HR_per_IP": 0.18072
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.26,
"predicted_H": 0.515,
"predicted_BB": 0.212,
"predicted_SO": 0.863,
"predicted_HR": 0.074,
"predicted_ERA": 3.5139,
"predicted_WHIP": 1.09
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5471,
"form_weight": 0.4529,
"form_reliability": 0.5336,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.721,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5336,
"prior_weight": 0.4664
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.26,
"final": 0.1178,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.515,
"final": 0.2333,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.212,
"final": 0.096,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.863,
"final": 0.9379,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.074,
"final": 0.0335,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5139,
"final": 3.5139,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.09,
"final": 1.09,
"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 | Edwin Díaz |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0866 |
| ESPN Rank | - |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 6.2308 |
| Season WHIP | 1.5692 |
| Role Avg IP | 0.9420 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"team": {
"team": "LAD",
"games": 162,
"wins": 100,
"losses": 62,
"win_pct": 0.6173,
"runs_scored": 801.0,
"runs_allowed": 600.0,
"run_differential": 201.0,
"run_differential_per_game": 1.2407,
"avg_runs_scored": 4.9444,
"avg_runs_allowed": 3.7037,
"offense_index": 1.1023,
"defense_index": 1.2111,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 2.2,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.3568
},
"opponent": {
"team": "MIL",
"games": 162,
"wins": 103,
"losses": 59,
"win_pct": 0.6358,
"runs_scored": 832.0,
"runs_allowed": 618.0,
"run_differential": 214.0,
"run_differential_per_game": 1.321,
"avg_runs_scored": 5.1358,
"avg_runs_allowed": 3.8148,
"offense_index": 1.145,
"defense_index": 1.1758,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.3824
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0256,
"offense_edge": 0.1023,
"opponent_offense_edge": 0.145,
"defense_strength": 0.2111,
"opponent_defense_weakness": -0.1758,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9995,
"run_prevention": 1.0034,
"strikeout": 0.9876
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "621242",
"profile": {
"available": true,
"pitcher_id": "621242",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 76.0,
"k_percent": 29.2,
"bb_percent": 11.5,
"woba": 0.4,
"xwoba": 0.328,
"sweet_spot_percent": 42.6,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 46.3,
"avg_best_speed": 80.2542,
"avg_hyper_speed": 94.7749,
"whiff_percent": 24.9,
"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.8523,
"command_and_miss": 0.3264,
"regression_edge": 2.0,
"xwoba_edge": -0.4571,
"barrel_edge": -0.0667,
"hard_hit_edge": -1.2,
"whiff_edge": -0.0429,
"bb_edge": -0.575,
"pitch_design_score": 0.0
},
"quality_score": -0.0866,
"sample_weight": 0.45,
"run_prevention_factor": 1.0074,
"strikeout_factor": 1.0175,
"walk_factor": 1.0207,
"homer_factor": 1.0302,
"woba_minus_xwoba": 0.072,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "621242",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0033,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 1.0033,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0093,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0136,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0079,
"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": 3,
"H": 6,
"BB": 3,
"SO": 13,
"HR": 0,
"ERA": 2.7,
"WHIP": 0.9,
"K9": 11.7,
"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": "621242",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.48,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4726,
"prior_weight": 0.5274
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "621242",
"report_date": "20261012",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 61.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.0,
"SO": 1.2,
"HR": 0.0,
"BF": 3.2,
"Pitches": 12.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.2,
"ER_per_IP": 0.0,
"H_per_IP": 0.2,
"BB_per_IP": 0.0,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 3.0,
"R": 3.0,
"H": 6.0,
"BB": 3.0,
"SO": 13.0,
"HR": 0.0,
"BF": 41.0,
"Pitches": 171.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.6,
"BB": 0.3,
"SO": 1.3,
"HR": 0.0,
"BF": 4.1,
"Pitches": 17.1
},
"rates": {
"ERA": 2.7,
"WHIP": 0.9,
"ER_per_IP": 0.3,
"H_per_IP": 0.6,
"BB_per_IP": 0.3,
"SO_per_IP": 1.3,
"HR_per_IP": 0.0
}
},
"season": {
"games": 23,
"totals": {
"IP": 21.2,
"ER": 15.0,
"R": 15.0,
"H": 24.0,
"BB": 10.0,
"SO": 31.0,
"HR": 3.0,
"BF": 102.0,
"Pitches": 421.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6522,
"R": 0.6522,
"H": 1.0435,
"BB": 0.4348,
"SO": 1.3478,
"HR": 0.1304,
"BF": 4.4348,
"Pitches": 18.3043
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.5692,
"ER_per_IP": 0.69231,
"H_per_IP": 1.10769,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.43077,
"HR_per_IP": 0.13846
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.318,
"predicted_H": 0.632,
"predicted_BB": 0.243,
"predicted_SO": 0.905,
"predicted_HR": 0.075,
"predicted_ERA": 3.4749,
"predicted_WHIP": 1.0609
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5728,
"form_weight": 0.4272,
"form_reliability": 0.4726,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.48,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4726,
"prior_weight": 0.5274
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.318,
"final": 0.7087,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.632,
"final": 0.8428,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.243,
"final": 0.1038,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.905,
"final": 0.3866,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.075,
"final": 0.032,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4749,
"final": 3.4749,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0609,
"final": 1.0609,
"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.198 | 1.000 | 1.000 | Hitting_2B | 0.190 | 0.000 | 0.810 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.650 | 5.000 | 5.000 | Hitting_AB | 4.061 | 4.000 | 0.939 | 1.000 |
| predicted_AVG | 0.239 | 0.200 | 0.200 | Hitting_AVG | 0.260 | 0.250 | -0.060 | -0.050 |
| predicted_BB | 0.381 | 0.000 | 0.000 | Hitting_BB | 0.360 | 1.000 | -0.360 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.110 | 1.000 | 1.000 | Hitting_H | 1.055 | 1.000 | -0.055 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.196 | 0.000 | -0.196 | 0.000 |
| predicted_OBP | 0.330 | 0.200 | 0.200 | Hitting_OBP | 0.322 | 0.400 | -0.122 | -0.200 |
| predicted_R | 0.556 | 1.000 | 1.000 | Hitting_R | 0.618 | 0.000 | 0.382 | 1.000 |
| predicted_RBI | 0.360 | 1.000 | 1.000 | Hitting_RBI | 0.604 | 0.000 | 0.396 | 1.000 |
| predicted_SLG | 0.377 | 0.400 | 0.400 | Hitting_SLG | 0.451 | 0.250 | -0.051 | 0.150 |
| predicted_SO | 0.460 | 0.000 | 0.000 | Hitting_SO | 0.487 | 0.000 | -0.487 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_2B: 0.1980 -> 1.0000 (boost 0.8020, better) |
| Biggest Deboost | predicted_SO: 0.4600 -> 0.0000 (deboost -0.4600, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.3810 -> 0.4427 (boost 0.0617, better) | predicted_AB: 4.6500 -> 4.2753 (deboost -0.3747, worse) | Final model input calibrated with local 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.3326 -> 0.3110 (deboost -0.0216, 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 | 0 | 6 | 1 | 5 | - | predicted_SO: 0.4745 -> 0.0000 (deboost -0.4745, better) | AB rounded to 4 (raw=4.65), rates preserved: AVG=0.198 HR/AB=0.029 |
| 6 | bvp_blend | 1 | 1 | 0 | 0 | 1 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | - | 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.4728 -> 0.0000 (deboost -0.4728, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.5145 (boost 0.5145, better) | predicted_SO: 1.0000 -> 0.6845 (deboost -0.3155, 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 | 9 | 4 | 5 | 3 | 6 | predicted_RBI: 0.5145 -> 1.0000 (boost 0.4855, better) | predicted_BB: 0.3369 -> 0.0000 (deboost -0.3369, 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 | 4 | 0 | predicted_2B: 0.0000 -> 1.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 |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2900 -> 0.3080 (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": "605141",
"player_name": "Mookie Betts",
"position": "SS",
"team": "LAD",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.198,
"predicted_3B": 0.0,
"predicted_AB": 4.65,
"predicted_AVG": 0.239,
"predicted_BB": 0.381,
"predicted_H": 1.11,
"predicted_HR": 0.14,
"predicted_OBP": 0.33,
"predicted_R": 0.556,
"predicted_RBI": 0.36,
"predicted_SLG": 0.377,
"predicted_SO": 0.46
},
"changed_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.1719,
"predicted_3B": 0.0004,
"predicted_AB": 4.2753,
"predicted_AVG": 0.241,
"predicted_BB": 0.4427,
"predicted_H": 1.0287,
"predicted_HBP": 0.01,
"predicted_HR": 0.1343,
"predicted_OBP": 0.3326,
"predicted_R": 0.476,
"predicted_RBI": 0.3543,
"predicted_SLG": 0.379,
"predicted_SO": 0.4761
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.65,
"after": 4.2753,
"delta": -0.3747,
"percent_delta": -0.0806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.4427,
"delta": 0.0617,
"percent_delta": 0.1619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 1.0287,
"delta": -0.0813,
"percent_delta": -0.0732,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 0.476,
"delta": -0.08,
"percent_delta": -0.1439,
"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_BB",
"before": 0.381,
"after": 0.4427,
"delta": 0.0617,
"percent_delta": 0.1619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.65,
"after": 4.2753,
"delta": -0.3747,
"percent_delta": -0.0806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 126
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1719,
"predicted_3B": 0.0004,
"predicted_AB": 4.2753,
"predicted_AVG": 0.2394,
"predicted_BB": 0.4442,
"predicted_H": 1.0237,
"predicted_HBP": 0.01,
"predicted_HR": 0.1334,
"predicted_OBP": 0.311,
"predicted_R": 0.4728,
"predicted_RBI": 0.3519,
"predicted_SLG": 0.3734,
"predicted_SO": 0.4745
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3326,
"after": 0.311,
"delta": -0.0216,
"percent_delta": -0.0649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3734,
"delta": -0.0056,
"percent_delta": -0.0148,
"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.3326,
"after": 0.311,
"delta": -0.0216,
"percent_delta": -0.0649,
"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.65), rates preserved: AVG=0.198 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1719,
"after": 0.0,
"delta": -0.1719,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.2753,
"after": 4.0,
"delta": -0.2753,
"percent_delta": -0.0644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4442,
"after": 0.0,
"delta": -0.4442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1334,
"after": 0.0,
"delta": -0.1334,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3519,
"after": 0.0,
"delta": -0.3519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4745,
"after": 0.0,
"delta": -0.4745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4745,
"after": 0.0,
"delta": -0.4745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"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": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"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.4728,
"after": 0.0,
"delta": -0.4728,
"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.4728,
"after": 0.0,
"delta": -0.4728,
"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.1647,
"predicted_3B": 0.0064,
"predicted_BB": 0.3369,
"predicted_H": 0.8549,
"predicted_HR": 0.1493,
"predicted_RBI": 0.5145,
"predicted_SO": 0.6845
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1647,
"delta": 0.1647,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3369,
"delta": 0.3369,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8549,
"delta": -0.1451,
"percent_delta": -0.1451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1493,
"delta": 0.1493,
"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": 0.6845,
"delta": -0.3155,
"percent_delta": -0.3155,
"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.5145,
"delta": 0.5145,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.6845,
"delta": -0.3155,
"percent_delta": -0.3155,
"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.222,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.29,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.384,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1647,
"after": 0.0,
"delta": -0.1647,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2394,
"after": 0.222,
"delta": -0.0174,
"percent_delta": -0.0727,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3369,
"after": 0.0,
"delta": -0.3369,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8549,
"after": 1.0,
"delta": 0.1451,
"percent_delta": 0.1697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1493,
"after": 0.0,
"delta": -0.1493,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.29,
"delta": -0.021,
"percent_delta": -0.0675,
"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.3734,
"after": 0.384,
"delta": 0.0106,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6845,
"after": 1.0,
"delta": 0.3155,
"percent_delta": 0.4609,
"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_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_BB",
"before": 0.3369,
"after": 0.0,
"delta": -0.3369,
"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.222,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.29,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.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": "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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.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_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.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": 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.235,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.308,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4,
"predicted_SO": 0.0,
"predicted_SS": 0.0,
"predicted_TB": 2.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.235,
"delta": 0.013,
"percent_delta": 0.0586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.308,
"delta": 0.018,
"percent_delta": 0.0621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.4,
"delta": 0.016,
"percent_delta": 0.0417,
"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.29,
"after": 0.308,
"delta": 0.018,
"percent_delta": 0.0621,
"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.198,
"after": 1.0,
"delta": 0.802,
"percent_delta": 4.0505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.65,
"after": 5.0,
"delta": 0.35,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.0,
"delta": -0.381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 1.0,
"delta": -0.11,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.308,
"delta": -0.022,
"percent_delta": -0.0667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 1.0,
"delta": 0.444,
"percent_delta": 0.7986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 1.0,
"delta": 0.64,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.4,
"delta": 0.023,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.198,
"after": 1.0,
"delta": 0.802,
"percent_delta": 4.0505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"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.198 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.650 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.381 | - |
| predicted_H | 1.110 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.556 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.377 | - |
| predicted_SO | 0.460 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | -0.026 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.275 | -0.375 |
| predicted_AVG | 0.241 | 0.002 |
| predicted_BB | 0.443 | 0.062 |
| predicted_H | 1.029 | -0.081 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.134 | -0.006 |
| predicted_OBP | 0.333 | 0.003 |
| predicted_R | 0.476 | -0.080 |
| predicted_RBI | 0.354 | -0.006 |
| predicted_SLG | 0.379 | 0.002 |
| predicted_SO | 0.476 | 0.016 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.275 | 0.000 |
| predicted_AVG | 0.239 | -0.002 |
| predicted_BB | 0.444 | 0.002 |
| predicted_H | 1.024 | -0.005 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.133 | -0.001 |
| predicted_OBP | 0.311 | -0.022 |
| predicted_R | 0.473 | -0.003 |
| predicted_RBI | 0.352 | -0.002 |
| predicted_SLG | 0.373 | -0.006 |
| predicted_SO | 0.474 | -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.65), rates preserved: AVG=0.198 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
Enforced H<=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.165 | 0.165 |
| 3B | 0.006 | 0.006 |
| BB | 0.337 | 0.337 |
| H | 0.855 | -0.145 |
| HR | 0.149 | 0.149 |
| RBI | 0.514 | 0.514 |
| SO | 0.684 | -0.316 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.165 |
| 3B | 0.000 | -0.006 |
| AB | 4.000 | 0.000 |
| AVG | 0.222 | - |
| BB | 0.000 | -0.337 |
| H | 1.000 | 0.145 |
| HR | 0.000 | -0.149 |
| OBP | 0.290 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.486 |
| SLG | 0.384 | - |
| SO | 1.000 | 0.316 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.172 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.275 |
| predicted_AVG | 0.222 | -0.017 |
| predicted_BB | 0.000 | -0.444 |
| predicted_H | 1.000 | -0.024 |
| predicted_HR | 0.000 | -0.133 |
| predicted_OBP | 0.290 | -0.021 |
| predicted_R | 0.000 | -0.473 |
| predicted_RBI | 1.000 | 0.648 |
| predicted_SLG | 0.384 | 0.011 |
| predicted_SO | 1.000 | 0.526 |
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 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| 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 | 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 | 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 | - | 18.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 2.000 | 0.2222 | 0.3636 | 0.2222 | 0.2222 | 0.0000 | 0.0000 | 0.2222 | 0.1111 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 7.000 | 6.000 | 0.2222 | 0.3488 | 0.3333 | 0.2222 | 0.0278 | 0.0278 | 0.1944 | 0.1667 |
| season | 0.60 | 126 | - | 493.000 | 127.000 | 25.000 | 0.000 | 23.000 | 69.000 | 70.000 | 48.000 | 58.000 | 0.2576 | 0.3254 | 0.4483 | 0.2576 | 0.0466 | 0.1400 | 0.0974 | 0.1177 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1380 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7880 |
| predicted_AVG | 0.2437 |
| predicted_BB | 0.5230 |
| predicted_H | 0.9230 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.1270 |
| predicted_OBP | 0.3360 |
| predicted_R | 0.3720 |
| predicted_RBI | 0.3470 |
| predicted_SLG | 0.3815 |
| predicted_SO | 0.4970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1980 | 0.1380 | 0.1719 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.6500 | 3.7880 | 4.2753 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2437 | 0.2410 | model_form_blend |
| predicted_BB | 0.3810 | 0.5230 | 0.4427 | model_form_blend |
| predicted_H | 1.1100 | 0.9230 | 1.0287 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1400 | 0.1270 | 0.1343 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3360 | 0.3326 | model_form_blend |
| predicted_R | 0.5560 | 0.3720 | 0.4760 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3470 | 0.3543 | model_form_blend |
| predicted_SLG | 0.3770 | 0.3815 | 0.3790 | model_form_blend |
| predicted_SO | 0.4600 | 0.4970 | 0.4761 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 495 |
| Season rows before report date | 495 |
| Report year | 2026 |
| Profile rows used | 126 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 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 | 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 | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 605141 |
| playerID | 605141 |
| playerName | Mookie Betts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-11 |
| sl_k_percent | 11.0 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.338 |
| sl_xwoba | 0.339 |
| sl_xba | 0.278 |
| sl_xslg | 0.435 |
| sl_sweet_spot_percent | 40.4 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 38.0 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 17.9 |
| sl_whiff_percent | 12.5 |
| sl_swing_percent | 41.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.204 | 0.000 | 0.000 | Hitting_2B | 0.227 | 0.000 | -0.227 | 0.000 |
| predicted_3B | 0.006 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 4.100 | 3.000 | 3.000 | Hitting_AB | 3.806 | 4.000 | -0.806 | -1.000 |
| predicted_AVG | 0.255 | 0.000 | 0.000 | Hitting_AVG | 0.292 | 0.250 | -0.292 | -0.250 |
| predicted_BB | 0.433 | 1.000 | 1.000 | Hitting_BB | 0.491 | 0.000 | 0.509 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.050 | 0.000 | 0.000 | Hitting_H | 1.111 | 1.000 | -1.111 | -1.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.335 | 0.250 | 0.250 | Hitting_OBP | 0.375 | 0.250 | -0.125 | 0.000 |
| predicted_R | 0.490 | 1.000 | 1.000 | Hitting_R | 0.539 | 0.000 | 0.461 | 1.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.490 | 0.000 | -0.490 | 0.000 |
| predicted_SLG | 0.430 | 0.000 | 0.000 | Hitting_SLG | 0.444 | 0.250 | -0.444 | -0.250 |
| predicted_SO | 0.745 | 0.000 | 0.000 | Hitting_SO | 0.752 | 1.000 | -0.752 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.4330 -> 1.0000 (boost 0.5670, better) |
| Biggest Deboost | predicted_AB: 4.1000 -> 3.0000 (deboost -1.1000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4300 -> 0.4398 (boost 0.0098, better) | predicted_AB: 4.1000 -> 3.9731 (deboost -0.1269, worse) | Final model input calibrated with local 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.4398 -> 0.4558 (boost 0.0160, better) | predicted_OBP: 0.3357 -> 0.3300 (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 | 5 | 1 | 4 | 0 | 5 | predicted_SO: 0.7451 -> 1.0000 (boost 0.2549, worse) | predicted_RBI: 0.4465 -> 0.0000 (deboost -0.4465, worse) | AB rounded to 4 (raw=4.10), rates preserved: AVG=0.227 HR/AB=0.048 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4806 -> 0.0000 (deboost -0.4806, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 4 | 1 | 4 | 1 | predicted_RBI: 0.0000 -> 0.4590 (boost 0.4590, better) | predicted_H: 1.0000 -> 0.9187 (deboost -0.0813, 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 | 3 | 5 | predicted_2B: 0.1869 -> 1.0000 (boost 0.8131, better) | predicted_RBI: 0.4590 -> 0.0000 (deboost -0.4590, 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 | 1 | 4 | 2 | 3 | predicted_R: 0.0000 -> 1.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 | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3120 -> 0.3030 (deboost -0.0090, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"team": "LAD",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.204,
"predicted_3B": 0.006,
"predicted_AB": 4.1,
"predicted_AVG": 0.255,
"predicted_BB": 0.433,
"predicted_H": 1.05,
"predicted_HR": 0.21,
"predicted_OBP": 0.335,
"predicted_R": 0.49,
"predicted_RBI": 0.45,
"predicted_SLG": 0.43,
"predicted_SO": 0.745
},
"changed_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.1694,
"predicted_3B": 0.0051,
"predicted_AB": 3.9731,
"predicted_AVG": 0.2618,
"predicted_BB": 0.4081,
"predicted_H": 1.0417,
"predicted_HBP": 0.02,
"predicted_HR": 0.1995,
"predicted_OBP": 0.3357,
"predicted_R": 0.4839,
"predicted_RBI": 0.4496,
"predicted_SLG": 0.4398,
"predicted_SO": 0.7476
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.1,
"after": 3.9731,
"delta": -0.1269,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2618,
"delta": 0.0068,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4398,
"delta": 0.0098,
"percent_delta": 0.0228,
"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.43,
"after": 0.4398,
"delta": 0.0098,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 3.9731,
"delta": -0.1269,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 157
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1694,
"predicted_3B": 0.0051,
"predicted_AB": 3.9731,
"predicted_AVG": 0.2609,
"predicted_BB": 0.4094,
"predicted_H": 1.0366,
"predicted_HBP": 0.02,
"predicted_HR": 0.1982,
"predicted_OBP": 0.33,
"predicted_R": 0.4806,
"predicted_RBI": 0.4465,
"predicted_SLG": 0.4558,
"predicted_SO": 0.7451
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3357,
"after": 0.33,
"delta": -0.0057,
"percent_delta": -0.017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4398,
"after": 0.4558,
"delta": 0.016,
"percent_delta": 0.0364,
"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.4398,
"after": 0.4558,
"delta": 0.016,
"percent_delta": 0.0364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3357,
"after": 0.33,
"delta": -0.0057,
"percent_delta": -0.017,
"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.10), rates preserved: AVG=0.227 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.1694,
"after": 0.0,
"delta": -0.1694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4094,
"after": 0.0,
"delta": -0.4094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1982,
"after": 0.0,
"delta": -0.1982,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4465,
"after": 0.0,
"delta": -0.4465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7451,
"after": 1.0,
"delta": 0.2549,
"percent_delta": 0.3421,
"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.7451,
"after": 1.0,
"delta": 0.2549,
"percent_delta": 0.3421,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4465,
"after": 0.0,
"delta": -0.4465,
"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.4806,
"after": 0.0,
"delta": -0.4806,
"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.4806,
"after": 0.0,
"delta": -0.4806,
"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.1869,
"predicted_3B": 0.0084,
"predicted_BB": 0.4158,
"predicted_H": 0.9187,
"predicted_HR": 0.1147,
"predicted_RBI": 0.459,
"predicted_SO": 0.9532
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1869,
"delta": 0.1869,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4158,
"delta": 0.4158,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9187,
"delta": -0.0813,
"percent_delta": -0.0813,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1147,
"delta": 0.1147,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.459,
"delta": 0.459,
"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.459,
"delta": 0.459,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.9187,
"delta": -0.0813,
"percent_delta": -0.0813,
"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.233,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.312,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.373,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1869,
"after": 1.0,
"delta": 0.8131,
"percent_delta": 4.3505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2609,
"after": 0.233,
"delta": -0.0279,
"percent_delta": -0.1069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4158,
"after": 1.0,
"delta": 0.5842,
"percent_delta": 1.405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9187,
"after": 1.0,
"delta": 0.0813,
"percent_delta": 0.0885,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1147,
"after": 0.0,
"delta": -0.1147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.312,
"delta": -0.018,
"percent_delta": -0.0545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.459,
"after": 0.0,
"delta": -0.459,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4558,
"after": 0.373,
"delta": -0.0828,
"percent_delta": -0.1817,
"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.1869,
"after": 1.0,
"delta": 0.8131,
"percent_delta": 4.3505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.459,
"after": 0.0,
"delta": -0.459,
"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.233,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.312,
"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": 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": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"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_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": 3.0,
"predicted_BB": 1.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": 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.227,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.303,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.373,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.227,
"delta": -0.006,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.303,
"delta": -0.009,
"percent_delta": -0.0288,
"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.312,
"after": 0.303,
"delta": -0.009,
"percent_delta": -0.0288,
"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.204,
"after": 0.0,
"delta": -0.204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 3.0,
"delta": -1.1,
"percent_delta": -0.2683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.227,
"delta": -0.028,
"percent_delta": -0.1098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.433,
"after": 1.0,
"delta": 0.567,
"percent_delta": 1.3095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.303,
"delta": -0.032,
"percent_delta": -0.0955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.373,
"delta": -0.057,
"percent_delta": -0.1326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.745,
"after": 0.0,
"delta": -0.745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.433,
"after": 1.0,
"delta": 0.567,
"percent_delta": 1.3095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 3.0,
"delta": -1.1,
"percent_delta": -0.2683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.204 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 4.100 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.433 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.490 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.430 | - |
| predicted_SO | 0.745 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.035 |
| predicted_3B | 0.005 | -0.001 |
| predicted_AB | 3.973 | -0.127 |
| predicted_AVG | 0.262 | 0.007 |
| predicted_BB | 0.408 | -0.025 |
| predicted_H | 1.042 | -0.008 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.200 | -0.010 |
| predicted_OBP | 0.336 | 0.001 |
| predicted_R | 0.484 | -0.006 |
| predicted_RBI | 0.450 | -0.000 |
| predicted_SLG | 0.440 | 0.010 |
| predicted_SO | 0.748 | 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.169 | 0.000 |
| predicted_3B | 0.005 | 0.000 |
| predicted_AB | 3.973 | 0.000 |
| predicted_AVG | 0.261 | -0.001 |
| predicted_BB | 0.409 | 0.001 |
| predicted_H | 1.037 | -0.005 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.198 | -0.001 |
| predicted_OBP | 0.330 | -0.006 |
| predicted_R | 0.481 | -0.003 |
| predicted_RBI | 0.447 | -0.003 |
| predicted_SLG | 0.456 | 0.016 |
| predicted_SO | 0.745 | -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=4.10), rates preserved: AVG=0.227 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 | - |
Enforced H<=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.187 | 0.187 |
| 3B | 0.008 | 0.008 |
| BB | 0.416 | 0.416 |
| H | 0.919 | -0.081 |
| HR | 0.115 | 0.115 |
| RBI | 0.459 | 0.459 |
| SO | 0.953 | -0.047 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.813 |
| 3B | 0.000 | -0.008 |
| AB | 4.000 | 0.000 |
| AVG | 0.233 | - |
| BB | 1.000 | 0.584 |
| H | 1.000 | 0.081 |
| HR | 0.000 | -0.115 |
| OBP | 0.312 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.459 |
| SLG | 0.373 | - |
| SO | 1.000 | 0.047 |
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.831 |
| predicted_3B | 0.000 | -0.005 |
| predicted_AB | 4.000 | 0.027 |
| predicted_AVG | 0.233 | -0.028 |
| predicted_BB | 1.000 | 0.591 |
| predicted_H | 1.000 | -0.037 |
| predicted_HR | 0.000 | -0.198 |
| predicted_OBP | 0.312 | -0.018 |
| predicted_R | 0.000 | -0.481 |
| predicted_RBI | 0.000 | -0.447 |
| predicted_SLG | 0.373 | -0.083 |
| predicted_SO | 1.000 | 0.255 |
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 | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| 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 | 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 | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 2.000 | 3.000 | 0.2632 | 0.3333 | 0.5789 | 0.2632 | 0.1053 | 0.1053 | 0.1053 | 0.1579 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 0.000 | 0.000 | 2.000 | 5.000 | 3.000 | 2.000 | 9.000 | 0.2308 | 0.2683 | 0.3846 | 0.2308 | 0.0513 | 0.1282 | 0.0513 | 0.2308 |
| season | 0.60 | 157 | - | 594.000 | 171.000 | 32.000 | 1.000 | 18.000 | 70.000 | 77.000 | 68.000 | 117.000 | 0.2879 | 0.3626 | 0.4360 | 0.2879 | 0.0303 | 0.1178 | 0.1145 | 0.1970 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1250 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.8100 |
| predicted_AVG | 0.2705 |
| predicted_BB | 0.3760 |
| predicted_H | 1.0310 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.1860 |
| predicted_OBP | 0.3365 |
| predicted_R | 0.4760 |
| predicted_RBI | 0.4490 |
| predicted_SLG | 0.4523 |
| predicted_SO | 0.7510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2040 | 0.1250 | 0.1694 | model_form_blend |
| predicted_3B | 0.0060 | 0.0040 | 0.0051 | model_form_blend |
| predicted_AB | 4.1000 | 3.8100 | 3.9731 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2705 | 0.2618 | model_form_blend |
| predicted_BB | 0.4330 | 0.3760 | 0.4081 | model_form_blend |
| predicted_H | 1.0500 | 1.0310 | 1.0417 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.2100 | 0.1860 | 0.1995 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3365 | 0.3357 | model_form_blend |
| predicted_R | 0.4900 | 0.4760 | 0.4839 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4490 | 0.4496 | model_form_blend |
| predicted_SLG | 0.4300 | 0.4523 | 0.4398 | model_form_blend |
| predicted_SO | 0.7450 | 0.7510 | 0.7476 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 629 |
| Season rows before report date | 629 |
| Report year | 2026 |
| Profile rows used | 157 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 518692 |
| playerID | 518692 |
| playerName | Freddie Freeman |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-11 |
| sl_k_percent | 17.7 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.348 |
| sl_xwoba | 0.363 |
| sl_xba | 0.29 |
| sl_xslg | 0.463 |
| sl_sweet_spot_percent | 38.7 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 41.3 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 23.2 |
| sl_swing_percent | 50.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.133 | 0.000 | 0.000 | Hitting_2B | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 4.270 | 3.000 | 3.000 | Hitting_AB | 3.665 | 4.000 | -0.665 | -1.000 |
| predicted_AVG | 0.244 | 0.000 | 0.000 | Hitting_AVG | 0.266 | 0.500 | -0.266 | -0.500 |
| predicted_BB | 0.320 | 0.000 | 0.000 | Hitting_BB | 0.374 | 0.000 | -0.374 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_H | 1.040 | 0.000 | 0.000 | Hitting_H | 0.974 | 2.000 | -0.974 | -2.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_OBP | 0.308 | 0.250 | 0.250 | Hitting_OBP | 0.337 | 0.500 | -0.087 | -0.250 |
| predicted_R | 0.531 | 0.000 | 0.000 | Hitting_R | 0.553 | 0.000 | -0.553 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.546 | 0.000 | -0.546 | 0.000 |
| predicted_SLG | 0.406 | 0.000 | 0.000 | Hitting_SLG | 0.419 | 0.500 | -0.419 | -0.500 |
| predicted_SO | 1.094 | 2.000 | 2.000 | Hitting_SO | 1.093 | 1.000 | 0.907 | 1.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_HBP: 0.0390 -> 1.0000 (boost 0.9610, better) |
| Biggest Deboost | predicted_AB: 4.2700 -> 3.0000 (deboost -1.2700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_AVG: 0.2440 -> 0.2522 (boost 0.0082, better) | predicted_AB: 4.2700 -> 4.0198 (deboost -0.2502, worse) | Final model input calibrated with local 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.3071 -> 0.2972 (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 | 0 | 5 | 1 | 4 | - | predicted_RBI: 0.4409 -> 0.0000 (deboost -0.4409, worse) | AB rounded to 4 (raw=4.27), rates preserved: AVG=0.212 HR/AB=0.038 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5300 -> 1.0000 (boost 0.4700, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.5276 (boost 0.5276, better) | predicted_H: 1.0000 -> 0.8568 (deboost -0.1432, 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.5276 -> 1.0000 (boost 0.4724, better) | predicted_SO: 1.4466 -> 1.0000 (deboost -0.4466, 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 | - | - | Market blend not applied: no props for this hitter |
| 12 | play_by_play_realization | 6 | 2 | 4 | 1 | 5 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | 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": "606192",
"player_name": "Teoscar Hernández",
"position": "LF",
"team": "LAD",
"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.016,
"predicted_AB": 4.27,
"predicted_AVG": 0.244,
"predicted_BB": 0.32,
"predicted_H": 1.04,
"predicted_HR": 0.17,
"predicted_OBP": 0.308,
"predicted_R": 0.531,
"predicted_RBI": 0.44,
"predicted_SLG": 0.406,
"predicted_SO": 1.094
},
"changed_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.1213,
"predicted_3B": 0.0134,
"predicted_AB": 4.0198,
"predicted_AVG": 0.2522,
"predicted_BB": 0.2688,
"predicted_H": 1.0101,
"predicted_HBP": 0.039,
"predicted_HR": 0.1644,
"predicted_OBP": 0.3071,
"predicted_R": 0.5336,
"predicted_RBI": 0.4439,
"predicted_SLG": 0.4142,
"predicted_SO": 1.1374
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.27,
"after": 4.0198,
"delta": -0.2502,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2522,
"delta": 0.0082,
"percent_delta": 0.0336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.32,
"after": 0.2688,
"delta": -0.0512,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.4142,
"delta": 0.0082,
"percent_delta": 0.0202,
"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.244,
"after": 0.2522,
"delta": 0.0082,
"percent_delta": 0.0336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.27,
"after": 4.0198,
"delta": -0.2502,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 128
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1213,
"predicted_3B": 0.0134,
"predicted_AB": 4.0198,
"predicted_AVG": 0.25,
"predicted_BB": 0.2697,
"predicted_H": 1.0052,
"predicted_HBP": 0.039,
"predicted_HR": 0.1633,
"predicted_OBP": 0.2972,
"predicted_R": 0.53,
"predicted_RBI": 0.4409,
"predicted_SLG": 0.4088,
"predicted_SO": 1.1336
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3071,
"after": 0.2972,
"delta": -0.0099,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4142,
"after": 0.4088,
"delta": -0.0054,
"percent_delta": -0.013,
"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.3071,
"after": 0.2972,
"delta": -0.0099,
"percent_delta": -0.0322,
"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.27), rates preserved: AVG=0.212 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1213,
"after": 0.0,
"delta": -0.1213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2697,
"after": 0.0,
"delta": -0.2697,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1633,
"after": 0.0,
"delta": -0.1633,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4409,
"after": 0.0,
"delta": -0.4409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1336,
"after": 1.0,
"delta": -0.1336,
"percent_delta": -0.1179,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4409,
"after": 0.0,
"delta": -0.4409,
"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.53,
"after": 1.0,
"delta": 0.47,
"percent_delta": 0.8868,
"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.53,
"after": 1.0,
"delta": 0.47,
"percent_delta": 0.8868,
"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.1512,
"predicted_3B": 0.0105,
"predicted_BB": 0.3096,
"predicted_H": 0.8568,
"predicted_HR": 0.1284,
"predicted_RBI": 0.5276,
"predicted_SO": 1.4466
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1512,
"delta": 0.1512,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3096,
"delta": 0.3096,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8568,
"delta": -0.1432,
"percent_delta": -0.1432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1284,
"delta": 0.1284,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5276,
"delta": 0.5276,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.4466,
"delta": 0.4466,
"percent_delta": 0.4466,
"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.5276,
"delta": 0.5276,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8568,
"delta": -0.1432,
"percent_delta": -0.1432,
"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.226,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.29,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.373,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1512,
"after": 0.0,
"delta": -0.1512,
"percent_delta": -1.0,
"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.3096,
"after": 0.0,
"delta": -0.3096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8568,
"after": 1.0,
"delta": 0.1432,
"percent_delta": 0.1671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1284,
"after": 0.0,
"delta": -0.1284,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2972,
"after": 0.29,
"delta": -0.0072,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5276,
"after": 1.0,
"delta": 0.4724,
"percent_delta": 0.8954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4088,
"after": 0.373,
"delta": -0.0358,
"percent_delta": -0.0876,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4466,
"after": 1.0,
"delta": -0.4466,
"percent_delta": -0.3087,
"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.5276,
"after": 1.0,
"delta": 0.4724,
"percent_delta": 0.8954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4466,
"after": 1.0,
"delta": -0.4466,
"percent_delta": -0.3087,
"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.226,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.29,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.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": 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": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 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": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.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.226,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.29,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.373,
"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.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.27,
"after": 3.0,
"delta": -1.27,
"percent_delta": -0.2974,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.226,
"delta": -0.018,
"percent_delta": -0.0738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 1.0,
"delta": 0.961,
"percent_delta": 24.641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.29,
"delta": -0.018,
"percent_delta": -0.0584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.531,
"after": 0.0,
"delta": -0.531,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.373,
"delta": -0.033,
"percent_delta": -0.0813,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.094,
"after": 2.0,
"delta": 0.906,
"percent_delta": 0.8282,
"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_HBP",
"before": 0.039,
"after": 1.0,
"delta": 0.961,
"percent_delta": 24.641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.27,
"after": 3.0,
"delta": -1.27,
"percent_delta": -0.2974,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.016 | - |
| predicted_AB | 4.270 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.320 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.531 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.406 | - |
| predicted_SO | 1.094 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.121 | -0.012 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 4.020 | -0.250 |
| predicted_AVG | 0.252 | 0.008 |
| predicted_BB | 0.269 | -0.051 |
| predicted_H | 1.010 | -0.030 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.164 | -0.006 |
| predicted_OBP | 0.307 | -0.001 |
| predicted_R | 0.534 | 0.003 |
| predicted_RBI | 0.444 | 0.004 |
| predicted_SLG | 0.414 | 0.008 |
| predicted_SO | 1.137 | 0.043 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.121 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 4.020 | 0.000 |
| predicted_AVG | 0.250 | -0.002 |
| predicted_BB | 0.270 | 0.001 |
| predicted_H | 1.005 | -0.005 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.163 | -0.001 |
| predicted_OBP | 0.297 | -0.010 |
| predicted_R | 0.530 | -0.004 |
| predicted_RBI | 0.441 | -0.003 |
| predicted_SLG | 0.409 | -0.005 |
| predicted_SO | 1.134 | -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=4.27), rates preserved: AVG=0.212 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.151 | 0.151 |
| 3B | 0.011 | 0.011 |
| BB | 0.310 | 0.310 |
| H | 0.857 | -0.143 |
| HR | 0.128 | 0.128 |
| RBI | 0.528 | 0.528 |
| SO | 1.447 | 0.447 |
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.011 |
| AB | 4.000 | 0.000 |
| AVG | 0.226 | - |
| BB | 0.000 | -0.310 |
| H | 1.000 | 0.143 |
| HR | 0.000 | -0.128 |
| OBP | 0.290 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.472 |
| SLG | 0.373 | - |
| SO | 1.000 | -0.447 |
Player 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.013 |
| predicted_AB | 4.000 | -0.020 |
| predicted_AVG | 0.226 | -0.024 |
| predicted_BB | 0.000 | -0.270 |
| predicted_H | 1.000 | -0.005 |
| predicted_HR | 0.000 | -0.163 |
| predicted_OBP | 0.290 | -0.007 |
| predicted_R | 1.000 | 0.470 |
| predicted_RBI | 1.000 | 0.559 |
| predicted_SLG | 0.373 | -0.036 |
| predicted_SO | 1.000 | -0.134 |
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 | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 1.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 | - | 20.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 0.000 | 7.000 | 0.2500 | 0.2500 | 0.4000 | 0.2500 | 0.0500 | 0.1000 | 0.0000 | 0.3500 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 1.000 | 0.000 | 2.000 | 3.000 | 5.000 | 0.000 | 14.000 | 0.2703 | 0.2895 | 0.4595 | 0.2703 | 0.0541 | 0.0811 | 0.0000 | 0.3784 |
| season | 0.60 | 128 | - | 458.000 | 122.000 | 17.000 | 2.000 | 17.000 | 65.000 | 68.000 | 41.000 | 140.000 | 0.2664 | 0.3300 | 0.4236 | 0.2664 | 0.0371 | 0.1419 | 0.0895 | 0.3057 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1060 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.6930 |
| predicted_AVG | 0.2630 |
| predicted_BB | 0.2020 |
| predicted_H | 0.9710 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.1570 |
| predicted_OBP | 0.3059 |
| predicted_R | 0.5370 |
| predicted_RBI | 0.4490 |
| predicted_SLG | 0.4250 |
| predicted_SO | 1.1940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1060 | 0.1213 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0134 | model_form_blend |
| predicted_AB | 4.2700 | 3.6930 | 4.0198 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2630 | 0.2522 | model_form_blend |
| predicted_BB | 0.3200 | 0.2020 | 0.2688 | model_form_blend |
| predicted_H | 1.0400 | 0.9710 | 1.0101 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.1700 | 0.1570 | 0.1644 | model_form_blend |
| predicted_OBP | 0.3080 | 0.3059 | 0.3071 | model_form_blend |
| predicted_R | 0.5310 | 0.5370 | 0.5336 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4490 | 0.4439 | model_form_blend |
| predicted_SLG | 0.4060 | 0.4250 | 0.4142 | model_form_blend |
| predicted_SO | 1.0940 | 1.1940 | 1.1374 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 463 |
| Season rows before report date | 463 |
| Report year | 2026 |
| Profile rows used | 128 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 1 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 606192 |
| playerID | 606192 |
| playerName | Teoscar Hernández |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-11 |
| sl_k_percent | 27.5 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.332 |
| sl_xwoba | 0.332 |
| sl_xba | 0.256 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 10.7 |
| sl_hard_hit_percent | 44.8 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 32.6 |
| sl_swing_percent | 48.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.180 | 0.000 | 0.000 | Hitting_2B | 0.185 | 0.000 | -0.185 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_AB | 3.842 | 3.000 | 3.000 | Hitting_AB | 3.896 | 3.000 | -0.896 | 0.000 |
| predicted_AVG | 0.272 | 0.333 | 0.333 | Hitting_AVG | 0.278 | 0.333 | 0.055 | 0.000 |
| predicted_BB | 0.604 | 1.000 | 1.000 | Hitting_BB | 0.639 | 1.000 | 0.361 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 1.043 | 1.000 | 1.000 | Hitting_H | 1.084 | 1.000 | -0.084 | 0.000 |
| predicted_HR | 0.216 | 0.000 | 0.000 | Hitting_HR | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_OBP | 0.371 | 0.500 | 0.500 | Hitting_OBP | 0.384 | 0.500 | 0.116 | 0.000 |
| predicted_R | 0.647 | 1.000 | 1.000 | Hitting_R | 0.689 | 1.000 | 0.311 | 0.000 |
| predicted_RBI | 0.568 | 2.000 | 2.000 | Hitting_RBI | 0.628 | 0.000 | 1.372 | 2.000 |
| predicted_SLG | 0.502 | 0.333 | 0.333 | Hitting_SLG | 0.519 | 0.333 | -0.185 | 0.000 |
| predicted_SO | 1.122 | 1.000 | 1.000 | Hitting_SO | 1.135 | 1.000 | -0.135 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.5680 -> 2.0000 (boost 1.4320, better) |
| Biggest Deboost | predicted_AB: 3.8420 -> 3.0000 (deboost -0.8420, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 0 | 7 | 0 | 7 | - | predicted_RBI: 0.5680 -> 0.4741 (deboost -0.0939, worse) | Final model input calibrated with local 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 | 1 | 5 | 2 | 4 | predicted_AB: 3.7756 -> 4.0000 (boost 0.2244, better) | predicted_BB: 0.5832 -> 0.0000 (deboost -0.5832, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.228 HR/AB=0.046 |
| 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.400) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5806 -> 1.0000 (boost 0.4194, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_RBI: 0.0000 -> 0.4849 (boost 0.4849, better) | predicted_BB: 1.0000 -> 0.5055 (deboost -0.4945, 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_BB: 0.5055 -> 1.0000 (boost 0.4945, better) | predicted_RBI: 0.4849 -> 0.0000 (deboost -0.4849, 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 | 2 | 1 | 1 | 1 | 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 |
| 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_OBP: 0.3220 -> 0.3040 (deboost -0.0180, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"team": "LAD",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.18,
"predicted_3B": 0.029,
"predicted_AB": 3.842,
"predicted_AVG": 0.272,
"predicted_BB": 0.604,
"predicted_H": 1.043,
"predicted_HR": 0.216,
"predicted_OBP": 0.371,
"predicted_R": 0.647,
"predicted_RBI": 0.568,
"predicted_SLG": 0.502,
"predicted_SO": 1.122
},
"changed_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.1564,
"predicted_3B": 0.0238,
"predicted_AB": 3.7756,
"predicted_AVG": 0.2597,
"predicted_BB": 0.5813,
"predicted_H": 0.9806,
"predicted_HBP": 0.029,
"predicted_HR": 0.1763,
"predicted_OBP": 0.3595,
"predicted_R": 0.5846,
"predicted_RBI": 0.4741,
"predicted_SLG": 0.4523,
"predicted_SO": 1.1224
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.842,
"after": 3.7756,
"delta": -0.0664,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2597,
"delta": -0.0123,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.043,
"after": 0.9806,
"delta": -0.0624,
"percent_delta": -0.0598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.3595,
"delta": -0.0115,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.647,
"after": 0.5846,
"delta": -0.0624,
"percent_delta": -0.0964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.568,
"after": 0.4741,
"delta": -0.0939,
"percent_delta": -0.1653,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.502,
"after": 0.4523,
"delta": -0.0497,
"percent_delta": -0.099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.568,
"after": 0.4741,
"delta": -0.0939,
"percent_delta": -0.1653,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 139
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1564,
"predicted_3B": 0.0238,
"predicted_AB": 3.7756,
"predicted_AVG": 0.2584,
"predicted_BB": 0.5832,
"predicted_H": 0.9758,
"predicted_HBP": 0.029,
"predicted_HR": 0.1751,
"predicted_OBP": 0.3577,
"predicted_R": 0.5806,
"predicted_RBI": 0.4709,
"predicted_SLG": 0.4516,
"predicted_SO": 1.1187
},
"changed_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.84), rates preserved: AVG=0.228 HR/AB=0.046",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1564,
"after": 0.0,
"delta": -0.1564,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7756,
"after": 4.0,
"delta": 0.2244,
"percent_delta": 0.0594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5832,
"after": 0.0,
"delta": -0.5832,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1751,
"after": 0.0,
"delta": -0.1751,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4709,
"after": 0.0,
"delta": -0.4709,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1187,
"after": 1.0,
"delta": -0.1187,
"percent_delta": -0.1061,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7756,
"after": 4.0,
"delta": 0.2244,
"percent_delta": 0.0594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5832,
"after": 0.0,
"delta": -0.5832,
"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.400)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_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": 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.5806,
"after": 1.0,
"delta": 0.4194,
"percent_delta": 0.7224,
"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.5806,
"after": 1.0,
"delta": 0.4194,
"percent_delta": 0.7224,
"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.1595,
"predicted_3B": 0.0132,
"predicted_BB": 0.5055,
"predicted_H": 0.8452,
"predicted_HR": 0.1619,
"predicted_RBI": 0.4849,
"predicted_SO": 1.2787
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1595,
"delta": 0.1595,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5055,
"delta": -0.4945,
"percent_delta": -0.4945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8452,
"delta": -0.1548,
"percent_delta": -0.1548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1619,
"delta": 0.1619,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4849,
"delta": 0.4849,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.2787,
"delta": 0.2787,
"percent_delta": 0.2787,
"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.4849,
"delta": 0.4849,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5055,
"delta": -0.4945,
"percent_delta": -0.4945,
"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.225,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.322,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.403,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1595,
"after": 0.0,
"delta": -0.1595,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2584,
"after": 0.225,
"delta": -0.0334,
"percent_delta": -0.1293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5055,
"after": 1.0,
"delta": 0.4945,
"percent_delta": 0.9782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8452,
"after": 1.0,
"delta": 0.1548,
"percent_delta": 0.1832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1619,
"after": 0.0,
"delta": -0.1619,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3577,
"after": 0.322,
"delta": -0.0357,
"percent_delta": -0.0998,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4849,
"after": 0.0,
"delta": -0.4849,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4516,
"after": 0.403,
"delta": -0.0486,
"percent_delta": -0.1076,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2787,
"after": 1.0,
"delta": -0.2787,
"percent_delta": -0.218,
"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.5055,
"after": 1.0,
"delta": 0.4945,
"percent_delta": 0.9782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4849,
"after": 0.0,
"delta": -0.4849,
"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.225,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.322,
"predicted_R": 1.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": "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": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.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_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"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_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": 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": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.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": 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": 3.0,
"predicted_AVG": 0.213,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.304,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.403,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.213,
"delta": -0.012,
"percent_delta": -0.0533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.304,
"delta": -0.018,
"percent_delta": -0.0559,
"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.322,
"after": 0.304,
"delta": -0.018,
"percent_delta": -0.0559,
"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.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.842,
"after": 3.0,
"delta": -0.842,
"percent_delta": -0.2192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.213,
"delta": -0.059,
"percent_delta": -0.2169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.604,
"after": 1.0,
"delta": 0.396,
"percent_delta": 0.6556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.216,
"after": 0.0,
"delta": -0.216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.304,
"delta": -0.067,
"percent_delta": -0.1806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.647,
"after": 1.0,
"delta": 0.353,
"percent_delta": 0.5456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.568,
"after": 2.0,
"delta": 1.432,
"percent_delta": 2.5211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.502,
"after": 0.403,
"delta": -0.099,
"percent_delta": -0.1972,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.122,
"after": 1.0,
"delta": -0.122,
"percent_delta": -0.1087,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.568,
"after": 2.0,
"delta": 1.432,
"percent_delta": 2.5211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.842,
"after": 3.0,
"delta": -0.842,
"percent_delta": -0.2192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.180 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.842 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.604 | - |
| predicted_H | 1.043 | - |
| predicted_HR | 0.216 | - |
| predicted_OBP | 0.371 | - |
| predicted_R | 0.647 | - |
| predicted_RBI | 0.568 | - |
| predicted_SLG | 0.502 | - |
| predicted_SO | 1.122 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.024 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 3.776 | -0.066 |
| predicted_AVG | 0.260 | -0.012 |
| predicted_BB | 0.581 | -0.023 |
| predicted_H | 0.981 | -0.062 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.176 | -0.040 |
| predicted_OBP | 0.359 | -0.012 |
| predicted_R | 0.585 | -0.062 |
| predicted_RBI | 0.474 | -0.094 |
| predicted_SLG | 0.452 | -0.050 |
| predicted_SO | 1.122 | 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.156 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.776 | 0.000 |
| predicted_AVG | 0.258 | -0.001 |
| predicted_BB | 0.583 | 0.002 |
| predicted_H | 0.976 | -0.005 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.175 | -0.001 |
| predicted_OBP | 0.358 | -0.002 |
| predicted_R | 0.581 | -0.004 |
| predicted_RBI | 0.471 | -0.003 |
| predicted_SLG | 0.452 | -0.001 |
| predicted_SO | 1.119 | -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.84), rates preserved: AVG=0.228 HR/AB=0.046
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 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 | 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.160 | 0.160 |
| 3B | 0.013 | 0.013 |
| BB | 0.505 | -0.495 |
| H | 0.845 | -0.155 |
| HR | 0.162 | 0.162 |
| RBI | 0.485 | 0.485 |
| SO | 1.279 | 0.279 |
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.013 |
| AB | 4.000 | 0.000 |
| AVG | 0.225 | - |
| BB | 1.000 | 0.495 |
| H | 1.000 | 0.155 |
| HR | 0.000 | -0.162 |
| OBP | 0.322 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.485 |
| SLG | 0.403 | - |
| SO | 1.000 | -0.279 |
Player 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.024 |
| predicted_AB | 4.000 | 0.224 |
| predicted_AVG | 0.225 | -0.033 |
| predicted_BB | 1.000 | 0.417 |
| predicted_H | 1.000 | 0.024 |
| predicted_HR | 0.000 | -0.175 |
| predicted_OBP | 0.322 | -0.036 |
| predicted_R | 1.000 | 0.419 |
| predicted_RBI | 0.000 | -0.471 |
| predicted_SLG | 0.403 | -0.049 |
| predicted_SO | 1.000 | -0.119 |
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 | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| 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 | 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 | 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 | - | 16.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 5.000 | 0.1875 | 0.3158 | 0.1875 | 0.1875 | 0.0000 | 0.0000 | 0.1875 | 0.3125 |
| last_10 | 0.20 | 10 | - | 37.000 | 8.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 13.000 | 0.2162 | 0.2927 | 0.2432 | 0.2162 | 0.0000 | 0.0270 | 0.1081 | 0.3513 |
| season | 0.60 | 139 | - | 534.000 | 145.000 | 25.000 | 4.000 | 30.000 | 79.000 | 90.000 | 84.000 | 156.000 | 0.2715 | 0.3746 | 0.5019 | 0.2715 | 0.0562 | 0.1479 | 0.1573 | 0.2921 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1260 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.6900 |
| predicted_AVG | 0.2438 |
| predicted_BB | 0.5520 |
| predicted_H | 0.9000 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.1250 |
| predicted_OBP | 0.3446 |
| predicted_R | 0.5040 |
| predicted_RBI | 0.3530 |
| predicted_SLG | 0.3882 |
| predicted_SO | 1.1230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1800 | 0.1260 | 0.1564 | model_form_blend |
| predicted_3B | 0.0290 | 0.0170 | 0.0238 | model_form_blend |
| predicted_AB | 3.8420 | 3.6900 | 3.7756 | model_form_blend |
| predicted_AVG | 0.2720 | 0.2438 | 0.2597 | model_form_blend |
| predicted_BB | 0.6040 | 0.5520 | 0.5813 | model_form_blend |
| predicted_H | 1.0430 | 0.9000 | 0.9806 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.2160 | 0.1250 | 0.1763 | model_form_blend |
| predicted_OBP | 0.3710 | 0.3446 | 0.3595 | model_form_blend |
| predicted_R | 0.6470 | 0.5040 | 0.5846 | model_form_blend |
| predicted_RBI | 0.5680 | 0.3530 | 0.4741 | model_form_blend |
| predicted_SLG | 0.5020 | 0.3882 | 0.4523 | model_form_blend |
| predicted_SO | 1.1220 | 1.1230 | 1.1224 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 607 |
| Season rows before report date | 607 |
| Report year | 2026 |
| Profile rows used | 139 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 660271 |
| playerID | 660271 |
| playerName | Shohei Ohtani |
| pos | TWP |
| started | True |
| startingPosition | DH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-11 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.377 |
| sl_xwoba | 0.397 |
| sl_xba | 0.286 |
| sl_xslg | 0.552 |
| sl_sweet_spot_percent | 38.0 |
| sl_barrel_batted_rate | 16.4 |
| sl_hard_hit_percent | 52.1 |
| sl_exit_velocity_avg | 93.3 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 31.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.120 | 1.000 | 1.000 | Hitting_2B | 0.155 | 0.000 | 0.845 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.540 | 3.000 | 3.000 | Hitting_AB | 3.597 | 3.000 | -0.597 | 0.000 |
| predicted_AVG | 0.209 | 0.333 | 0.333 | Hitting_AVG | 0.249 | 0.000 | 0.084 | 0.333 |
| predicted_BB | 0.440 | 1.000 | 1.000 | Hitting_BB | 0.492 | 1.000 | 0.508 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.740 | 1.000 | 1.000 | Hitting_H | 0.895 | 0.000 | 0.105 | 1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.120 | 0.000 | -0.120 | 0.000 |
| predicted_OBP | 0.272 | 0.500 | 0.500 | Hitting_OBP | 0.343 | 0.250 | 0.157 | 0.250 |
| predicted_R | 0.467 | 0.000 | 0.000 | Hitting_R | 0.527 | 0.000 | -0.527 | 0.000 |
| predicted_RBI | 0.350 | 1.000 | 1.000 | Hitting_RBI | 0.519 | 0.000 | 0.481 | 1.000 |
| predicted_SLG | 0.355 | 0.667 | 0.667 | Hitting_SLG | 0.392 | 0.000 | 0.274 | 0.667 |
| predicted_SO | 0.693 | 1.000 | 1.000 | Hitting_SO | 0.690 | 0.000 | 0.310 | 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_2B: 0.1200 -> 1.0000 (boost 0.8800, better) |
| Biggest Deboost | predicted_AB: 3.5400 -> 3.0000 (deboost -0.5400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.6930 -> 0.7822 (boost 0.0892, worse) | predicted_R: 0.4670 -> 0.4141 (deboost -0.0529, worse) | Final model input calibrated with local 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.2899 (boost 0.0135, 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 | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.5163 -> 4.0000 (boost 0.4837, better) | predicted_BB: 0.4156 -> 0.0000 (deboost -0.4156, worse) | AB rounded to 4 (raw=3.54), rates preserved: AVG=0.184 HR/AB=0.035 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4113 -> 0.0000 (deboost -0.4113, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4587 (boost 0.4587, better) | predicted_H: 1.0000 -> 0.7705 (deboost -0.2295, 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_H: 0.7705 -> 1.0000 (boost 0.2295, better) | predicted_RBI: 0.4587 -> 0.0000 (deboost -0.4587, 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 | 4 | 3 | 1 | 3 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | 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 | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.2930 -> 0.3010 (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": "669257",
"player_name": "Will Smith",
"position": "C",
"team": "LAD",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.12,
"predicted_3B": 0.0,
"predicted_AB": 3.54,
"predicted_AVG": 0.209,
"predicted_BB": 0.44,
"predicted_H": 0.74,
"predicted_HR": 0.14,
"predicted_OBP": 0.272,
"predicted_R": 0.467,
"predicted_RBI": 0.35,
"predicted_SLG": 0.355,
"predicted_SO": 0.693
},
"changed_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.1039,
"predicted_3B": 0.0004,
"predicted_AB": 3.5163,
"predicted_AVG": 0.2068,
"predicted_BB": 0.4142,
"predicted_H": 0.7277,
"predicted_HBP": 0.025,
"predicted_HR": 0.1252,
"predicted_OBP": 0.2764,
"predicted_R": 0.4141,
"predicted_RBI": 0.3314,
"predicted_SLG": 0.3397,
"predicted_SO": 0.7822
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.467,
"after": 0.4141,
"delta": -0.0529,
"percent_delta": -0.1133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3397,
"delta": -0.0153,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.693,
"after": 0.7822,
"delta": 0.0892,
"percent_delta": 0.1287,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.693,
"after": 0.7822,
"delta": 0.0892,
"percent_delta": 0.1287,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.467,
"after": 0.4141,
"delta": -0.0529,
"percent_delta": -0.1133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1039,
"predicted_3B": 0.0004,
"predicted_AB": 3.5163,
"predicted_AVG": 0.2059,
"predicted_BB": 0.4156,
"predicted_H": 0.7241,
"predicted_HBP": 0.025,
"predicted_HR": 0.1244,
"predicted_OBP": 0.2899,
"predicted_R": 0.4113,
"predicted_RBI": 0.3291,
"predicted_SLG": 0.3418,
"predicted_SO": 0.7796
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.2764,
"after": 0.2899,
"delta": 0.0135,
"percent_delta": 0.0488,
"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.2899,
"delta": 0.0135,
"percent_delta": 0.0488,
"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=3.54), rates preserved: AVG=0.184 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1039,
"after": 0.0,
"delta": -0.1039,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5163,
"after": 4.0,
"delta": 0.4837,
"percent_delta": 0.1376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4156,
"after": 0.0,
"delta": -0.4156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7241,
"after": 1.0,
"delta": 0.2759,
"percent_delta": 0.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1244,
"after": 0.0,
"delta": -0.1244,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3291,
"after": 0.0,
"delta": -0.3291,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7796,
"after": 1.0,
"delta": 0.2204,
"percent_delta": 0.2827,
"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.5163,
"after": 4.0,
"delta": 0.4837,
"percent_delta": 0.1376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4156,
"after": 0.0,
"delta": -0.4156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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.4113,
"after": 0.0,
"delta": -0.4113,
"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.4113,
"after": 0.0,
"delta": -0.4113,
"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.1448,
"predicted_3B": 0.0074,
"predicted_BB": 0.377,
"predicted_H": 0.7705,
"predicted_HR": 0.122,
"predicted_RBI": 0.4587,
"predicted_SO": 0.9368
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1448,
"delta": 0.1448,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.377,
"delta": 0.377,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7705,
"delta": -0.2295,
"percent_delta": -0.2295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.122,
"delta": 0.122,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4587,
"delta": 0.4587,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9368,
"delta": -0.0632,
"percent_delta": -0.0632,
"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.4587,
"delta": 0.4587,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7705,
"delta": -0.2295,
"percent_delta": -0.2295,
"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.293,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.358,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1448,
"after": 0.0,
"delta": -0.1448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2059,
"after": 0.213,
"delta": 0.0071,
"percent_delta": 0.0345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7705,
"after": 1.0,
"delta": 0.2295,
"percent_delta": 0.2979,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.122,
"after": 0.0,
"delta": -0.122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4587,
"after": 0.0,
"delta": -0.4587,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3418,
"after": 0.358,
"delta": 0.0162,
"percent_delta": 0.0474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9368,
"after": 1.0,
"delta": 0.0632,
"percent_delta": 0.0675,
"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.7705,
"after": 1.0,
"delta": 0.2295,
"percent_delta": 0.2979,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4587,
"after": 0.0,
"delta": -0.4587,
"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.293,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.358,
"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": 1.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_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 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": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.217,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.301,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.365,
"predicted_SO": 1.0,
"predicted_TB": 2.0
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.301,
"delta": 0.008,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.365,
"delta": 0.007,
"percent_delta": 0.0196,
"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.293,
"after": 0.301,
"delta": 0.008,
"percent_delta": 0.0273,
"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.12,
"after": 1.0,
"delta": 0.88,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.54,
"after": 3.0,
"delta": -0.54,
"percent_delta": -0.1525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.217,
"delta": 0.008,
"percent_delta": 0.0383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.44,
"after": 1.0,
"delta": 0.56,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.301,
"delta": 0.029,
"percent_delta": 0.1066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 0.0,
"delta": -0.467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 1.0,
"delta": 0.65,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.365,
"delta": 0.01,
"percent_delta": 0.0282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.693,
"after": 1.0,
"delta": 0.307,
"percent_delta": 0.443,
"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_2B",
"before": 0.12,
"after": 1.0,
"delta": 0.88,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.54,
"after": 3.0,
"delta": -0.54,
"percent_delta": -0.1525,
"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.120 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.540 | - |
| predicted_AVG | 0.209 | - |
| predicted_BB | 0.440 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.272 | - |
| predicted_R | 0.467 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.355 | - |
| predicted_SO | 0.693 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.104 | -0.016 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.516 | -0.024 |
| predicted_AVG | 0.207 | -0.002 |
| predicted_BB | 0.414 | -0.026 |
| predicted_H | 0.728 | -0.012 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.125 | -0.015 |
| predicted_OBP | 0.276 | 0.004 |
| predicted_R | 0.414 | -0.053 |
| predicted_RBI | 0.331 | -0.019 |
| predicted_SLG | 0.340 | -0.015 |
| predicted_SO | 0.782 | 0.089 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.104 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.516 | 0.000 |
| predicted_AVG | 0.206 | -0.001 |
| predicted_BB | 0.416 | 0.001 |
| predicted_H | 0.724 | -0.004 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.124 | -0.001 |
| predicted_OBP | 0.290 | 0.014 |
| predicted_R | 0.411 | -0.003 |
| predicted_RBI | 0.329 | -0.002 |
| predicted_SLG | 0.342 | 0.002 |
| predicted_SO | 0.780 | -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.54), rates preserved: AVG=0.184 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.007 | 0.007 |
| BB | 0.377 | 0.377 |
| H | 0.770 | -0.230 |
| HR | 0.122 | 0.122 |
| RBI | 0.459 | 0.459 |
| SO | 0.937 | -0.063 |
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.007 |
| AB | 4.000 | 0.000 |
| AVG | 0.213 | - |
| BB | 0.000 | -0.377 |
| H | 1.000 | 0.230 |
| HR | 0.000 | -0.122 |
| OBP | 0.293 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.459 |
| SLG | 0.358 | - |
| SO | 1.000 | 0.063 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.104 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.484 |
| predicted_AVG | 0.213 | 0.007 |
| predicted_BB | 0.000 | -0.416 |
| predicted_H | 1.000 | 0.276 |
| predicted_HR | 0.000 | -0.124 |
| predicted_OBP | 0.293 | 0.003 |
| predicted_R | 0.000 | -0.411 |
| predicted_RBI | 0.000 | -0.329 |
| predicted_SLG | 0.358 | 0.016 |
| predicted_SO | 1.000 | 0.220 |
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 | 1.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 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 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 | - | 19.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 7.000 | 0.0526 | 0.1000 | 0.0526 | 0.0526 | 0.0000 | 0.0000 | 0.0526 | 0.3684 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 4.000 | 11.000 | 0.2121 | 0.2973 | 0.3030 | 0.2121 | 0.0303 | 0.0303 | 0.1212 | 0.3333 |
| season | 0.60 | 75 | - | 254.000 | 62.000 | 9.000 | 0.000 | 10.000 | 33.000 | 35.000 | 33.000 | 52.000 | 0.2441 | 0.3345 | 0.3976 | 0.2441 | 0.0394 | 0.1299 | 0.1299 | 0.2047 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0820 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4840 |
| predicted_AVG | 0.2039 |
| predicted_BB | 0.3790 |
| predicted_H | 0.7110 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1050 |
| predicted_OBP | 0.2825 |
| predicted_R | 0.3420 |
| predicted_RBI | 0.3060 |
| predicted_SLG | 0.3187 |
| predicted_SO | 0.9040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1200 | 0.0820 | 0.1039 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5400 | 3.4840 | 3.5163 | model_form_blend |
| predicted_AVG | 0.2090 | 0.2039 | 0.2068 | model_form_blend |
| predicted_BB | 0.4400 | 0.3790 | 0.4142 | model_form_blend |
| predicted_H | 0.7400 | 0.7110 | 0.7277 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1400 | 0.1050 | 0.1252 | model_form_blend |
| predicted_OBP | 0.2720 | 0.2825 | 0.2764 | model_form_blend |
| predicted_R | 0.4670 | 0.3420 | 0.4141 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3060 | 0.3314 | model_form_blend |
| predicted_SLG | 0.3550 | 0.3187 | 0.3397 | model_form_blend |
| predicted_SO | 0.6930 | 0.9040 | 0.7822 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 258 |
| Season rows before report date | 258 |
| Report year | 2026 |
| Profile rows used | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 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.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 669257 |
| playerID | 669257 |
| playerName | Will Smith |
| pos | C |
| started | True |
| startingPosition | C |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-11 |
| sl_k_percent | 16.3 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.345 |
| sl_xwoba | 0.389 |
| sl_xba | 0.279 |
| sl_xslg | 0.502 |
| sl_sweet_spot_percent | 43.3 |
| sl_barrel_batted_rate | 12.4 |
| sl_hard_hit_percent | 41.2 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 20.1 |
| sl_whiff_percent | 16.7 |
| sl_swing_percent | 41.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.171 | 0.000 | 0.000 | Hitting_2B | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.790 | 4.000 | 4.000 | Hitting_AB | 3.522 | 4.000 | 0.478 | 0.000 |
| predicted_AVG | 0.233 | 0.000 | 0.000 | Hitting_AVG | 0.260 | 0.250 | -0.260 | -0.250 |
| predicted_BB | 0.421 | 0.000 | 0.000 | Hitting_BB | 0.483 | 0.000 | -0.483 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.890 | 0.000 | 0.000 | Hitting_H | 0.915 | 1.000 | -0.915 | -1.000 |
| predicted_HR | 0.290 | 0.000 | 0.000 | Hitting_HR | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_OBP | 0.303 | 0.000 | 0.000 | Hitting_OBP | 0.357 | 0.250 | -0.357 | -0.250 |
| predicted_R | 0.546 | 0.000 | 0.000 | Hitting_R | 0.609 | 0.000 | -0.609 | 0.000 |
| predicted_RBI | 0.570 | 0.000 | 0.000 | Hitting_RBI | 0.587 | 0.000 | -0.587 | 0.000 |
| predicted_SLG | 0.529 | 0.000 | 0.000 | Hitting_SLG | 0.508 | 0.250 | -0.508 | -0.250 |
| predicted_SO | 0.947 | 2.000 | 2.000 | Hitting_SO | 1.017 | 2.000 | 0.983 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.9470 -> 2.0000 (boost 1.0530, worse) |
| Biggest Deboost | predicted_H: 0.8900 -> 0.0000 (deboost -0.8900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.5290 -> 0.5397 (boost 0.0107, better) | predicted_AB: 3.7900 -> 3.5684 (deboost -0.2216, worse) | Final model input calibrated with local 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.5397 -> 0.5265 (deboost -0.0132, 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_RBI: 0.5324 -> 1.0000 (boost 0.4676, better) | predicted_BB: 0.3652 -> 0.0000 (deboost -0.3652, worse) | AB rounded to 4 (raw=3.79), rates preserved: AVG=0.199 HR/AB=0.077 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5340 -> 1.0000 (boost 0.4660, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.0000 -> 0.4160 (boost 0.4160, better) | predicted_RBI: 1.0000 -> 0.5304 (deboost -0.4696, 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.2020 -> 1.0000 (boost 0.7980, better) | predicted_SO: 1.2573 -> 1.0000 (deboost -0.2573, 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 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Market blend not applied: no props for this hitter |
| 13 | play_by_play_realization | 6 | 1 | 5 | 0 | 6 | 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 |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | 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": "571970",
"player_name": "Max Muncy",
"position": "3B",
"team": "LAD",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.171,
"predicted_3B": 0.007,
"predicted_AB": 3.79,
"predicted_AVG": 0.233,
"predicted_BB": 0.421,
"predicted_H": 0.89,
"predicted_HR": 0.29,
"predicted_OBP": 0.303,
"predicted_R": 0.546,
"predicted_RBI": 0.57,
"predicted_SLG": 0.529,
"predicted_SO": 0.947
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1505,
"predicted_3B": 0.0057,
"predicted_AB": 3.5684,
"predicted_AVG": 0.2352,
"predicted_BB": 0.364,
"predicted_H": 0.8425,
"predicted_HBP": 0.028,
"predicted_HR": 0.2948,
"predicted_OBP": 0.3029,
"predicted_R": 0.5377,
"predicted_RBI": 0.536,
"predicted_SLG": 0.5397,
"predicted_SO": 0.9209
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.79,
"after": 3.5684,
"delta": -0.2216,
"percent_delta": -0.0585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.421,
"after": 0.364,
"delta": -0.057,
"percent_delta": -0.1354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.529,
"after": 0.5397,
"delta": 0.0107,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.529,
"after": 0.5397,
"delta": 0.0107,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.79,
"after": 3.5684,
"delta": -0.2216,
"percent_delta": -0.0585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1505,
"predicted_3B": 0.0057,
"predicted_AB": 3.5684,
"predicted_AVG": 0.2349,
"predicted_BB": 0.3652,
"predicted_H": 0.8384,
"predicted_HBP": 0.028,
"predicted_HR": 0.2929,
"predicted_OBP": 0.306,
"predicted_R": 0.534,
"predicted_RBI": 0.5324,
"predicted_SLG": 0.5265,
"predicted_SO": 0.9179
},
"changed_metrics": [
{
"metric": "predicted_SLG",
"before": 0.5397,
"after": 0.5265,
"delta": -0.0132,
"percent_delta": -0.0245,
"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.5397,
"after": 0.5265,
"delta": -0.0132,
"percent_delta": -0.0245,
"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.79), rates preserved: AVG=0.199 HR/AB=0.077",
"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.1505,
"after": 0.0,
"delta": -0.1505,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5684,
"after": 4.0,
"delta": 0.4316,
"percent_delta": 0.121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3652,
"after": 0.0,
"delta": -0.3652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8384,
"after": 1.0,
"delta": 0.1616,
"percent_delta": 0.1927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2929,
"after": 0.0,
"delta": -0.2929,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5324,
"after": 1.0,
"delta": 0.4676,
"percent_delta": 0.8783,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9179,
"after": 1.0,
"delta": 0.0821,
"percent_delta": 0.0894,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5324,
"after": 1.0,
"delta": 0.4676,
"percent_delta": 0.8783,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3652,
"after": 0.0,
"delta": -0.3652,
"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": 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.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": 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.534,
"after": 1.0,
"delta": 0.466,
"percent_delta": 0.8727,
"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.534,
"after": 1.0,
"delta": 0.466,
"percent_delta": 0.8727,
"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.1625,
"predicted_3B": 0.0079,
"predicted_BB": 0.416,
"predicted_H": 0.775,
"predicted_HR": 0.202,
"predicted_RBI": 0.5304,
"predicted_SO": 1.2573
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1625,
"delta": 0.1625,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.416,
"delta": 0.416,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.775,
"delta": -0.225,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.202,
"delta": 0.202,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5304,
"delta": -0.4696,
"percent_delta": -0.4696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.2573,
"delta": 0.2573,
"percent_delta": 0.2573,
"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.416,
"delta": 0.416,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5304,
"delta": -0.4696,
"percent_delta": -0.4696,
"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": 1.0,
"predicted_OBP": 0.3,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.43,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1625,
"after": 0.0,
"delta": -0.1625,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2349,
"after": 0.214,
"delta": -0.0209,
"percent_delta": -0.089,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 1.0,
"delta": 0.584,
"percent_delta": 1.4038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.775,
"after": 1.0,
"delta": 0.225,
"percent_delta": 0.2903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.202,
"after": 1.0,
"delta": 0.798,
"percent_delta": 3.9505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3,
"delta": -0.006,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5304,
"after": 1.0,
"delta": 0.4696,
"percent_delta": 0.8854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5265,
"after": 0.43,
"delta": -0.0965,
"percent_delta": -0.1833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2573,
"after": 1.0,
"delta": -0.2573,
"percent_delta": -0.2046,
"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.202,
"after": 1.0,
"delta": 0.798,
"percent_delta": 3.9505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.2573,
"after": 1.0,
"delta": -0.2573,
"percent_delta": -0.2046,
"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.214,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.43,
"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": "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": 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_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_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
},
{
"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": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"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": 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.214,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.43,
"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.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.79,
"after": 4.0,
"delta": 0.21,
"percent_delta": 0.0554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.214,
"delta": -0.019,
"percent_delta": -0.0815,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.421,
"after": 0.0,
"delta": -0.421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.546,
"after": 0.0,
"delta": -0.546,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.529,
"after": 0.43,
"delta": -0.099,
"percent_delta": -0.1871,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.947,
"after": 2.0,
"delta": 1.053,
"percent_delta": 1.1119,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.947,
"after": 2.0,
"delta": 1.053,
"percent_delta": 1.1119,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | - |
| predicted_3B | 0.007 | - |
| predicted_AB | 3.790 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.421 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.290 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.546 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.529 | - |
| predicted_SO | 0.947 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | -0.021 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 3.568 | -0.222 |
| predicted_AVG | 0.235 | 0.002 |
| predicted_BB | 0.364 | -0.057 |
| predicted_H | 0.843 | -0.047 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.295 | 0.005 |
| predicted_OBP | 0.303 | -0.000 |
| predicted_R | 0.538 | -0.008 |
| predicted_RBI | 0.536 | -0.034 |
| predicted_SLG | 0.540 | 0.011 |
| predicted_SO | 0.921 | -0.026 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 3.568 | 0.000 |
| predicted_AVG | 0.235 | -0.000 |
| predicted_BB | 0.365 | 0.001 |
| predicted_H | 0.838 | -0.004 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.293 | -0.002 |
| predicted_OBP | 0.306 | 0.003 |
| predicted_R | 0.534 | -0.004 |
| predicted_RBI | 0.532 | -0.004 |
| predicted_SLG | 0.526 | -0.013 |
| predicted_SO | 0.918 | -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.199 HR/AB=0.077
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.163 | 0.163 |
| 3B | 0.008 | 0.008 |
| BB | 0.416 | 0.416 |
| H | 0.775 | -0.225 |
| HR | 0.202 | 0.202 |
| RBI | 0.530 | -0.470 |
| SO | 1.257 | 0.257 |
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.008 |
| AB | 4.000 | 0.000 |
| AVG | 0.214 | - |
| BB | 1.000 | 0.584 |
| H | 1.000 | 0.225 |
| HR | 1.000 | 0.798 |
| OBP | 0.300 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.470 |
| SLG | 0.430 | - |
| SO | 1.000 | -0.257 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.150 |
| predicted_3B | 0.000 | -0.006 |
| predicted_AB | 4.000 | 0.432 |
| predicted_AVG | 0.214 | -0.021 |
| predicted_BB | 1.000 | 0.635 |
| predicted_H | 1.000 | 0.162 |
| predicted_HR | 1.000 | 0.707 |
| predicted_OBP | 0.300 | -0.006 |
| predicted_R | 1.000 | 0.466 |
| predicted_RBI | 1.000 | 0.468 |
| predicted_SLG | 0.430 | -0.096 |
| predicted_SO | 1.000 | 0.082 |
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 | 4.000 | 0.000 |
| BB | 0.000 | -1.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 | 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 | - | 16.000 | 4.000 | 0.000 | 0.000 | 3.000 | 3.000 | 3.000 | 0.000 | 4.000 | 0.2500 | 0.2500 | 0.8125 | 0.2500 | 0.1875 | 0.1875 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 32.000 | 6.000 | 1.000 | 0.000 | 3.000 | 3.000 | 4.000 | 2.000 | 8.000 | 0.1875 | 0.2353 | 0.5000 | 0.1875 | 0.0938 | 0.0938 | 0.0625 | 0.2500 |
| season | 0.60 | 152 | - | 500.000 | 125.000 | 26.000 | 1.000 | 32.000 | 79.000 | 83.000 | 64.000 | 144.000 | 0.2500 | 0.3427 | 0.4980 | 0.2500 | 0.0640 | 0.1580 | 0.1280 | 0.2880 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1240 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.2810 |
| predicted_AVG | 0.2380 |
| predicted_BB | 0.2900 |
| predicted_H | 0.7810 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.3010 |
| predicted_OBP | 0.3028 |
| predicted_R | 0.5270 |
| predicted_RBI | 0.4920 |
| predicted_SLG | 0.5536 |
| predicted_SO | 0.8870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1710 | 0.1240 | 0.1505 | model_form_blend |
| predicted_3B | 0.0070 | 0.0040 | 0.0057 | model_form_blend |
| predicted_AB | 3.7900 | 3.2810 | 3.5684 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2380 | 0.2352 | model_form_blend |
| predicted_BB | 0.4210 | 0.2900 | 0.3640 | model_form_blend |
| predicted_H | 0.8900 | 0.7810 | 0.8425 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.2900 | 0.3010 | 0.2948 | model_form_blend |
| predicted_OBP | 0.3030 | 0.3028 | 0.3029 | model_form_blend |
| predicted_R | 0.5460 | 0.5270 | 0.5377 | model_form_blend |
| predicted_RBI | 0.5700 | 0.4920 | 0.5360 | model_form_blend |
| predicted_SLG | 0.5290 | 0.5536 | 0.5397 | model_form_blend |
| predicted_SO | 0.9470 | 0.8870 | 0.9209 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 540 |
| Season rows before report date | 540 |
| Report year | 2026 |
| Profile rows used | 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 | 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.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 571970 |
| playerID | 571970 |
| playerName | Max Muncy |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-11 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.361 |
| sl_xwoba | 0.349 |
| sl_xba | 0.242 |
| sl_xslg | 0.47 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 12.9 |
| sl_hard_hit_percent | 45.8 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 17.5 |
| sl_whiff_percent | 29.2 |
| sl_swing_percent | 44.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.182 | 0.000 | 0.000 | Hitting_2B | 0.198 | 0.000 | -0.198 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 4.660 | 4.000 | 4.000 | Hitting_AB | 3.956 | 4.000 | 0.044 | 0.000 |
| predicted_AVG | 0.257 | 0.250 | 0.250 | Hitting_AVG | 0.276 | 0.250 | -0.026 | 0.000 |
| predicted_BB | 0.365 | 0.000 | 0.000 | Hitting_BB | 0.379 | 0.000 | -0.379 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 1.200 | 1.000 | 1.000 | Hitting_H | 1.091 | 1.000 | -0.091 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.173 | 0.000 | -0.173 | 0.000 |
| predicted_OBP | 0.344 | 0.250 | 0.250 | Hitting_OBP | 0.343 | 0.250 | -0.093 | 0.000 |
| predicted_R | 0.555 | 0.000 | 0.000 | Hitting_R | 0.623 | 0.000 | -0.623 | 0.000 |
| predicted_RBI | 0.700 | 0.000 | 0.000 | Hitting_RBI | 0.655 | 1.000 | -0.655 | -1.000 |
| predicted_SLG | 0.431 | 0.250 | 0.250 | Hitting_SLG | 0.466 | 0.250 | -0.216 | 0.000 |
| predicted_SO | 0.854 | 1.000 | 1.000 | Hitting_SO | 0.842 | 1.000 | 0.158 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.8540 -> 1.0000 (boost 0.1460, worse) |
| Biggest Deboost | predicted_RBI: 0.7000 -> 0.0000 (deboost -0.7000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 1 | 4 | predicted_SO: 0.8540 -> 0.9154 (boost 0.0614, worse) | predicted_AB: 4.6600 -> 4.2434 (deboost -0.4166, worse) | Final model input calibrated with local 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.4334 -> 0.4115 (deboost -0.0219, 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.9124 -> 1.0000 (boost 0.0876, worse) | predicted_AB: 4.2434 -> 3.0000 (deboost -1.2434, worse) | AB rounded to 3 (raw=4.66), rates preserved: AVG=0.218 HR/AB=0.031 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4976 -> 0.0000 (deboost -0.4976, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 4 | 1 | 4 | 1 | predicted_RBI: 0.0000 -> 0.5332 (boost 0.5332, better) | predicted_H: 1.0000 -> 0.7838 (deboost -0.2162, 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 | 2 | 6 | 2 | 6 | predicted_RBI: 0.5332 -> 1.0000 (boost 0.4668, better) | predicted_BB: 0.2906 -> 0.0000 (deboost -0.2906, 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_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 |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3910 -> 0.3850 (deboost -0.0060, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "681624",
"player_name": "Andy Pages",
"position": "CF",
"team": "LAD",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.182,
"predicted_3B": 0.015,
"predicted_AB": 4.66,
"predicted_AVG": 0.257,
"predicted_BB": 0.365,
"predicted_H": 1.2,
"predicted_HR": 0.15,
"predicted_OBP": 0.344,
"predicted_R": 0.555,
"predicted_RBI": 0.7,
"predicted_SLG": 0.431,
"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.1593,
"predicted_3B": 0.0124,
"predicted_AB": 4.2434,
"predicted_AVG": 0.2684,
"predicted_BB": 0.3524,
"predicted_H": 1.1338,
"predicted_HBP": 0.03,
"predicted_HR": 0.1456,
"predicted_OBP": 0.3437,
"predicted_R": 0.501,
"predicted_RBI": 0.6813,
"predicted_SLG": 0.4334,
"predicted_SO": 0.9154
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.66,
"after": 4.2434,
"delta": -0.4166,
"percent_delta": -0.0894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2684,
"delta": 0.0114,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2,
"after": 1.1338,
"delta": -0.0662,
"percent_delta": -0.0552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.555,
"after": 0.501,
"delta": -0.054,
"percent_delta": -0.0973,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.854,
"after": 0.9154,
"delta": 0.0614,
"percent_delta": 0.0719,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.854,
"after": 0.9154,
"delta": 0.0614,
"percent_delta": 0.0719,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.66,
"after": 4.2434,
"delta": -0.4166,
"percent_delta": -0.0894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 137
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1593,
"predicted_3B": 0.0124,
"predicted_AB": 4.2434,
"predicted_AVG": 0.2659,
"predicted_BB": 0.3536,
"predicted_H": 1.1282,
"predicted_HBP": 0.03,
"predicted_HR": 0.1446,
"predicted_OBP": 0.3223,
"predicted_R": 0.4976,
"predicted_RBI": 0.6767,
"predicted_SLG": 0.4115,
"predicted_SO": 0.9124
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3437,
"after": 0.3223,
"delta": -0.0214,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4334,
"after": 0.4115,
"delta": -0.0219,
"percent_delta": -0.0505,
"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.4334,
"after": 0.4115,
"delta": -0.0219,
"percent_delta": -0.0505,
"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=4.66), rates preserved: AVG=0.218 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1593,
"after": 0.0,
"delta": -0.1593,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.2434,
"after": 3.0,
"delta": -1.2434,
"percent_delta": -0.293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3536,
"after": 0.0,
"delta": -0.3536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1282,
"after": 1.0,
"delta": -0.1282,
"percent_delta": -0.1136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1446,
"after": 0.0,
"delta": -0.1446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6767,
"after": 0.0,
"delta": -0.6767,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9124,
"after": 1.0,
"delta": 0.0876,
"percent_delta": 0.096,
"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.9124,
"after": 1.0,
"delta": 0.0876,
"percent_delta": 0.096,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.2434,
"after": 3.0,
"delta": -1.2434,
"percent_delta": -0.293,
"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.4976,
"after": 0.0,
"delta": -0.4976,
"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.4976,
"after": 0.0,
"delta": -0.4976,
"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.009,
"predicted_BB": 0.2906,
"predicted_H": 0.7838,
"predicted_HR": 0.1302,
"predicted_RBI": 0.5332,
"predicted_SO": 0.9677
},
"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": 0.0,
"after": 0.2906,
"delta": 0.2906,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7838,
"delta": -0.2162,
"percent_delta": -0.2162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1302,
"delta": 0.1302,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5332,
"delta": 0.5332,
"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.5332,
"delta": 0.5332,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7838,
"delta": -0.2162,
"percent_delta": -0.2162,
"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.229,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.294,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.391,
"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.2659,
"after": 0.229,
"delta": -0.0369,
"percent_delta": -0.1388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2906,
"after": 0.0,
"delta": -0.2906,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7838,
"after": 1.0,
"delta": 0.2162,
"percent_delta": 0.2758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1302,
"after": 0.0,
"delta": -0.1302,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3223,
"after": 0.294,
"delta": -0.0283,
"percent_delta": -0.0878,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5332,
"after": 1.0,
"delta": 0.4668,
"percent_delta": 0.8755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4115,
"after": 0.391,
"delta": -0.0205,
"percent_delta": -0.0498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5332,
"after": 1.0,
"delta": 0.4668,
"percent_delta": 0.8755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2906,
"after": 0.0,
"delta": -0.2906,
"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.229,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.294,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.391,
"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": 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
},
{
"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_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": 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.224,
"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.297,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.385,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.224,
"delta": -0.005,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.385,
"delta": -0.006,
"percent_delta": -0.0153,
"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.391,
"after": 0.385,
"delta": -0.006,
"percent_delta": -0.0153,
"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.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.66,
"after": 4.0,
"delta": -0.66,
"percent_delta": -0.1416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.224,
"delta": -0.033,
"percent_delta": -0.1284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.365,
"after": 0.0,
"delta": -0.365,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2,
"after": 1.0,
"delta": -0.2,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.297,
"delta": -0.047,
"percent_delta": -0.1366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.555,
"after": 0.0,
"delta": -0.555,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.385,
"delta": -0.046,
"percent_delta": -0.1067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.854,
"after": 1.0,
"delta": 0.146,
"percent_delta": 0.171,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.854,
"after": 1.0,
"delta": 0.146,
"percent_delta": 0.171,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 4.660 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.365 | - |
| predicted_H | 1.200 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.344 | - |
| predicted_R | 0.555 | - |
| predicted_RBI | 0.700 | - |
| predicted_SLG | 0.431 | - |
| 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.159 | -0.023 |
| predicted_3B | 0.012 | -0.003 |
| predicted_AB | 4.243 | -0.417 |
| predicted_AVG | 0.268 | 0.011 |
| predicted_BB | 0.352 | -0.013 |
| predicted_H | 1.134 | -0.066 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.146 | -0.004 |
| predicted_OBP | 0.344 | -0.000 |
| predicted_R | 0.501 | -0.054 |
| predicted_RBI | 0.681 | -0.019 |
| predicted_SLG | 0.433 | 0.002 |
| predicted_SO | 0.915 | 0.061 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 4.243 | 0.000 |
| predicted_AVG | 0.266 | -0.003 |
| predicted_BB | 0.354 | 0.001 |
| predicted_H | 1.128 | -0.006 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.145 | -0.001 |
| predicted_OBP | 0.322 | -0.021 |
| predicted_R | 0.498 | -0.003 |
| predicted_RBI | 0.677 | -0.005 |
| predicted_SLG | 0.411 | -0.022 |
| predicted_SO | 0.912 | -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 3 (raw=4.66), rates preserved: AVG=0.218 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.291 | 0.291 |
| H | 0.784 | -0.216 |
| HR | 0.130 | 0.130 |
| RBI | 0.533 | 0.533 |
| SO | 0.968 | -0.032 |
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.229 | - |
| BB | 0.000 | -0.291 |
| H | 1.000 | 0.216 |
| HR | 0.000 | -0.130 |
| OBP | 0.294 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.467 |
| SLG | 0.391 | - |
| SO | 1.000 | 0.032 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.159 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 3.000 | -1.243 |
| predicted_AVG | 0.229 | -0.037 |
| predicted_BB | 0.000 | -0.354 |
| predicted_H | 1.000 | -0.128 |
| predicted_HR | 0.000 | -0.145 |
| predicted_OBP | 0.294 | -0.028 |
| predicted_R | 0.000 | -0.498 |
| predicted_RBI | 1.000 | 0.323 |
| predicted_SLG | 0.391 | -0.020 |
| predicted_SO | 1.000 | 0.088 |
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 | 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 | 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 | - | 18.000 | 5.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 1.000 | 6.000 | 0.2778 | 0.3158 | 0.2778 | 0.2778 | 0.0000 | 0.1667 | 0.0556 | 0.3333 |
| last_10 | 0.20 | 10 | - | 34.000 | 11.000 | 1.000 | 0.000 | 2.000 | 8.000 | 3.000 | 4.000 | 12.000 | 0.3235 | 0.3846 | 0.5294 | 0.3235 | 0.0588 | 0.2353 | 0.1177 | 0.3529 |
| season | 0.60 | 137 | - | 525.000 | 144.000 | 25.000 | 2.000 | 23.000 | 87.000 | 76.000 | 50.000 | 117.000 | 0.2743 | 0.3418 | 0.4610 | 0.2743 | 0.0438 | 0.1657 | 0.0952 | 0.2229 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1300 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.7040 |
| predicted_AVG | 0.2831 |
| predicted_BB | 0.3360 |
| predicted_H | 1.0480 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.1400 |
| predicted_OBP | 0.3432 |
| predicted_R | 0.4310 |
| predicted_RBI | 0.6570 |
| predicted_SLG | 0.4365 |
| predicted_SO | 0.9950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.1300 | 0.1593 | model_form_blend |
| predicted_3B | 0.0150 | 0.0090 | 0.0124 | model_form_blend |
| predicted_AB | 4.6600 | 3.7040 | 4.2434 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2831 | 0.2684 | model_form_blend |
| predicted_BB | 0.3650 | 0.3360 | 0.3524 | model_form_blend |
| predicted_H | 1.2000 | 1.0480 | 1.1338 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.1500 | 0.1400 | 0.1456 | model_form_blend |
| predicted_OBP | 0.3440 | 0.3432 | 0.3437 | model_form_blend |
| predicted_R | 0.5550 | 0.4310 | 0.5010 | model_form_blend |
| predicted_RBI | 0.7000 | 0.6570 | 0.6813 | model_form_blend |
| predicted_SLG | 0.4310 | 0.4365 | 0.4334 | model_form_blend |
| predicted_SO | 0.8540 | 0.9950 | 0.9154 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 562 |
| Season rows before report date | 562 |
| Report year | 2026 |
| Profile rows used | 137 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 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 | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 681624 |
| playerID | 681624 |
| playerName | Andy Pages |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-11 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.352 |
| sl_xwoba | 0.343 |
| sl_xba | 0.274 |
| sl_xslg | 0.442 |
| sl_sweet_spot_percent | 37.4 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 42.3 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 47.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.148 | 0.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 3.561 | 4.000 | 4.000 | Hitting_AB | 3.692 | 2.000 | 0.308 | 2.000 |
| predicted_AVG | 0.220 | 0.250 | 0.250 | Hitting_AVG | 0.239 | 0.000 | 0.011 | 0.250 |
| predicted_BB | 0.490 | 0.000 | 0.000 | Hitting_BB | 0.524 | 2.000 | -0.524 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.740 | 1.000 | 1.000 | Hitting_H | 0.884 | 0.000 | 0.116 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.121 | 0.000 | -0.121 | 0.000 |
| predicted_OBP | 0.318 | 0.250 | 0.250 | Hitting_OBP | 0.334 | 0.500 | -0.084 | -0.250 |
| predicted_R | 0.581 | 1.000 | 1.000 | Hitting_R | 0.629 | 0.000 | 0.371 | 1.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.512 | 0.000 | -0.512 | 0.000 |
| predicted_SLG | 0.380 | 0.250 | 0.250 | Hitting_SLG | 0.399 | 0.000 | -0.149 | 0.250 |
| predicted_SO | 0.703 | 0.000 | 0.000 | Hitting_SO | 0.725 | 2.000 | -0.725 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.5610 -> 4.0000 (boost 0.4390, better) |
| Biggest Deboost | predicted_SO: 0.7030 -> 0.0000 (deboost -0.7030, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_H: 0.7400 -> 0.8042 (boost 0.0642, better) | predicted_R: 0.5810 -> 0.5238 (deboost -0.0572, worse) | Final model input calibrated with local 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.3270 -> 0.3183 (deboost -0.0087, 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_SO: 0.7373 -> 1.0000 (boost 0.2627, worse) | predicted_AB: 3.5641 -> 3.0000 (deboost -0.5641, worse) | AB rounded to 3 (raw=3.56), rates preserved: AVG=0.202 HR/AB=0.036 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5202 -> 1.0000 (boost 0.4798, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_BB: 0.0000 -> 0.4120 (boost 0.4120, better) | predicted_H: 1.0000 -> 0.6767 (deboost -0.3233, 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 | 0 | 9 | predicted_SO: 0.8116 -> 1.0000 (boost 0.1884, worse) | predicted_H: 0.6767 -> 0.0000 (deboost -0.6767, 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 | 3 | 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 |
| 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.3360 -> 0.3490 (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": "663656",
"player_name": "Kyle Tucker",
"position": "RF",
"team": "LAD",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.148,
"predicted_3B": 0.026,
"predicted_AB": 3.561,
"predicted_AVG": 0.22,
"predicted_BB": 0.49,
"predicted_H": 0.74,
"predicted_HR": 0.13,
"predicted_OBP": 0.318,
"predicted_R": 0.581,
"predicted_RBI": 0.37,
"predicted_SLG": 0.38,
"predicted_SO": 0.703
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.124,
"predicted_3B": 0.0212,
"predicted_AB": 3.5641,
"predicted_AVG": 0.2325,
"predicted_BB": 0.4887,
"predicted_H": 0.8042,
"predicted_HBP": 0.012,
"predicted_HR": 0.1304,
"predicted_OBP": 0.327,
"predicted_R": 0.5238,
"predicted_RBI": 0.3849,
"predicted_SLG": 0.3858,
"predicted_SO": 0.7397
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2325,
"delta": 0.0125,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.8042,
"delta": 0.0642,
"percent_delta": 0.0868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.327,
"delta": 0.009,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.581,
"after": 0.5238,
"delta": -0.0572,
"percent_delta": -0.0985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3858,
"delta": 0.0058,
"percent_delta": 0.0153,
"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_H",
"before": 0.74,
"after": 0.8042,
"delta": 0.0642,
"percent_delta": 0.0868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.581,
"after": 0.5238,
"delta": -0.0572,
"percent_delta": -0.0985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.124,
"predicted_3B": 0.0212,
"predicted_AB": 3.5641,
"predicted_AVG": 0.2245,
"predicted_BB": 0.4903,
"predicted_H": 0.8003,
"predicted_HBP": 0.012,
"predicted_HR": 0.1295,
"predicted_OBP": 0.3183,
"predicted_R": 0.5202,
"predicted_RBI": 0.3823,
"predicted_SLG": 0.3803,
"predicted_SO": 0.7373
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2325,
"after": 0.2245,
"delta": -0.008,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3183,
"delta": -0.0087,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3858,
"after": 0.3803,
"delta": -0.0055,
"percent_delta": -0.0143,
"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.327,
"after": 0.3183,
"delta": -0.0087,
"percent_delta": -0.0266,
"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.56), rates preserved: AVG=0.202 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.124,
"after": 0.0,
"delta": -0.124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5641,
"after": 3.0,
"delta": -0.5641,
"percent_delta": -0.1583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4903,
"after": 0.0,
"delta": -0.4903,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8003,
"after": 1.0,
"delta": 0.1997,
"percent_delta": 0.2495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1295,
"after": 0.0,
"delta": -0.1295,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3823,
"after": 0.0,
"delta": -0.3823,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7373,
"after": 1.0,
"delta": 0.2627,
"percent_delta": 0.3563,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7373,
"after": 1.0,
"delta": 0.2627,
"percent_delta": 0.3563,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.5641,
"after": 3.0,
"delta": -0.5641,
"percent_delta": -0.1583,
"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.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
}
},
{
"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.5202,
"after": 1.0,
"delta": 0.4798,
"percent_delta": 0.9223,
"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.5202,
"after": 1.0,
"delta": 0.4798,
"percent_delta": 0.9223,
"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.1393,
"predicted_3B": 0.0119,
"predicted_BB": 0.412,
"predicted_H": 0.6767,
"predicted_HR": 0.0991,
"predicted_RBI": 0.4053,
"predicted_SO": 0.8116
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1393,
"delta": 0.1393,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.412,
"delta": 0.412,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6767,
"delta": -0.3233,
"percent_delta": -0.3233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0991,
"delta": 0.0991,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4053,
"delta": 0.4053,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8116,
"delta": -0.1884,
"percent_delta": -0.1884,
"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_BB",
"before": 0.0,
"after": 0.412,
"delta": 0.412,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.6767,
"delta": -0.3233,
"percent_delta": -0.3233,
"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.2,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.293,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.336,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1393,
"after": 0.0,
"delta": -0.1393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2245,
"after": 0.2,
"delta": -0.0245,
"percent_delta": -0.1091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6767,
"after": 0.0,
"delta": -0.6767,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0991,
"after": 0.0,
"delta": -0.0991,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3183,
"after": 0.293,
"delta": -0.0253,
"percent_delta": -0.0795,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4053,
"after": 0.0,
"delta": -0.4053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3803,
"after": 0.336,
"delta": -0.0443,
"percent_delta": -0.1165,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8116,
"after": 1.0,
"delta": 0.1884,
"percent_delta": 0.2321,
"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.8116,
"after": 1.0,
"delta": 0.1884,
"percent_delta": 0.2321,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6767,
"after": 0.0,
"delta": -0.6767,
"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.2,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.293,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.336,
"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": 1.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": 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_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"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": 1.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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.207,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.293,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.349,
"predicted_SO": 0.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.207,
"delta": 0.007,
"percent_delta": 0.035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.349,
"delta": 0.013,
"percent_delta": 0.0387,
"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.336,
"after": 0.349,
"delta": 0.013,
"percent_delta": 0.0387,
"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.148,
"after": 0.0,
"delta": -0.148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.561,
"after": 4.0,
"delta": 0.439,
"percent_delta": 0.1233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.207,
"delta": -0.013,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.293,
"delta": -0.025,
"percent_delta": -0.0786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.581,
"after": 1.0,
"delta": 0.419,
"percent_delta": 0.7212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.349,
"delta": -0.031,
"percent_delta": -0.0816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.703,
"after": 0.0,
"delta": -0.703,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.561,
"after": 4.0,
"delta": 0.439,
"percent_delta": 0.1233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.703,
"after": 0.0,
"delta": -0.703,
"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.148 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.561 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.490 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.581 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.380 | - |
| predicted_SO | 0.703 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.124 | -0.024 |
| predicted_3B | 0.021 | -0.005 |
| predicted_AB | 3.564 | 0.003 |
| predicted_AVG | 0.233 | 0.013 |
| predicted_BB | 0.489 | -0.001 |
| predicted_H | 0.804 | 0.064 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.130 | 0.000 |
| predicted_OBP | 0.327 | 0.009 |
| predicted_R | 0.524 | -0.057 |
| predicted_RBI | 0.385 | 0.015 |
| predicted_SLG | 0.386 | 0.006 |
| predicted_SO | 0.740 | 0.037 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.124 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.564 | 0.000 |
| predicted_AVG | 0.225 | -0.008 |
| predicted_BB | 0.490 | 0.002 |
| predicted_H | 0.800 | -0.004 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.130 | -0.001 |
| predicted_OBP | 0.318 | -0.009 |
| predicted_R | 0.520 | -0.004 |
| predicted_RBI | 0.382 | -0.003 |
| predicted_SLG | 0.380 | -0.005 |
| predicted_SO | 0.737 | -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.56), rates preserved: AVG=0.202 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.139 | 0.139 |
| 3B | 0.012 | 0.012 |
| BB | 0.412 | 0.412 |
| H | 0.677 | -0.323 |
| HR | 0.099 | 0.099 |
| RBI | 0.405 | 0.405 |
| SO | 0.812 | -0.188 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.139 |
| 3B | 0.000 | -0.012 |
| AB | 3.000 | 0.000 |
| AVG | 0.200 | - |
| BB | 0.000 | -0.412 |
| H | 0.000 | -0.677 |
| HR | 0.000 | -0.099 |
| OBP | 0.293 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.405 |
| SLG | 0.336 | - |
| SO | 1.000 | 0.188 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.124 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 3.000 | -0.564 |
| predicted_AVG | 0.200 | -0.024 |
| predicted_BB | 0.000 | -0.490 |
| predicted_H | 0.000 | -0.800 |
| predicted_HR | 0.000 | -0.130 |
| predicted_OBP | 0.293 | -0.025 |
| predicted_R | 1.000 | 0.480 |
| predicted_RBI | 0.000 | -0.382 |
| predicted_SLG | 0.336 | -0.044 |
| predicted_SO | 1.000 | 0.263 |
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 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| 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 | 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 | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 3.000 | 5.000 | 0.2941 | 0.4000 | 0.4706 | 0.2941 | 0.0588 | 0.1177 | 0.1765 | 0.2941 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 4.000 | 8.000 | 0.2432 | 0.3171 | 0.3243 | 0.2432 | 0.0270 | 0.0541 | 0.1081 | 0.2162 |
| season | 0.60 | 155 | - | 552.000 | 130.000 | 23.000 | 4.000 | 18.000 | 72.000 | 90.000 | 76.000 | 109.000 | 0.2355 | 0.3281 | 0.3895 | 0.2355 | 0.0326 | 0.1304 | 0.1377 | 0.1975 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0930 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.5680 |
| predicted_AVG | 0.2487 |
| predicted_BB | 0.4870 |
| predicted_H | 0.8870 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.1310 |
| predicted_OBP | 0.3387 |
| predicted_R | 0.4500 |
| predicted_RBI | 0.4040 |
| predicted_SLG | 0.3933 |
| predicted_SO | 0.7870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1480 | 0.0930 | 0.1240 | model_form_blend |
| predicted_3B | 0.0260 | 0.0150 | 0.0212 | model_form_blend |
| predicted_AB | 3.5610 | 3.5680 | 3.5641 | model_form_blend |
| predicted_AVG | 0.2200 | 0.2487 | 0.2325 | model_form_blend |
| predicted_BB | 0.4900 | 0.4870 | 0.4887 | model_form_blend |
| predicted_H | 0.7400 | 0.8870 | 0.8042 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.1300 | 0.1310 | 0.1304 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3387 | 0.3270 | model_form_blend |
| predicted_R | 0.5810 | 0.4500 | 0.5238 | model_form_blend |
| predicted_RBI | 0.3700 | 0.4040 | 0.3849 | model_form_blend |
| predicted_SLG | 0.3800 | 0.3933 | 0.3858 | model_form_blend |
| predicted_SO | 0.7030 | 0.7870 | 0.7397 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 603 |
| Season rows before report date | 603 |
| 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 | 1 |
| 2B | 0 |
| 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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 663656 |
| playerID | 663656 |
| playerName | Kyle Tucker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-11 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.318 |
| sl_xwoba | 0.331 |
| sl_xba | 0.256 |
| sl_xslg | 0.393 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 36.3 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 18.1 |
| sl_whiff_percent | 20.8 |
| sl_swing_percent | 48.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.143 | 0.000 | 0.000 | Hitting_2B | 0.157 | 0.000 | -0.157 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_AB | 3.500 | 4.000 | 4.000 | Hitting_AB | 3.686 | 0.000 | 0.314 | 4.000 |
| predicted_AVG | 0.209 | 0.250 | 0.250 | Hitting_AVG | 0.252 | - | -0.002 | - |
| predicted_BB | 0.262 | 0.000 | 0.000 | Hitting_BB | 0.285 | 0.000 | -0.285 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.280 | 1.000 | 1.000 | Hitting_H | 0.929 | 0.000 | 0.071 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.099 | 0.000 | -0.099 | 0.000 |
| predicted_OBP | 0.277 | 0.250 | 0.250 | Hitting_OBP | 0.337 | - | -0.087 | - |
| predicted_R | 0.500 | 0.000 | 0.000 | Hitting_R | 0.564 | 0.000 | -0.564 | 0.000 |
| predicted_RBI | 0.200 | 0.000 | 0.000 | Hitting_RBI | 0.516 | 0.000 | -0.516 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.090 | 0.000 | -0.090 | 0.000 |
| predicted_SLG | 0.353 | 0.250 | 0.250 | Hitting_SLG | 0.391 | - | -0.141 | - |
| predicted_SO | 0.798 | 2.000 | 2.000 | Hitting_SO | 0.846 | 0.000 | 1.154 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.7980 -> 2.0000 (boost 1.2020, worse) |
| Biggest Deboost | predicted_R: 0.5000 -> 0.0000 (deboost -0.5000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 5 | 2 | 6 | 1 | predicted_H: 0.2800 -> 0.4630 (boost 0.1830, better) | predicted_AB: 3.5000 -> 3.3391 (deboost -0.1609, worse) | Final model input calibrated with local 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.3644 -> 0.2621 (deboost -0.1023, 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 | 0 | 8 | predicted_SO: 0.7152 -> 1.0000 (boost 0.2848, worse) | predicted_H: 0.4607 -> 0.0000 (deboost -0.4607, worse) | AB rounded to 3 (raw=3.50), rates preserved: AVG=0.118 HR/AB=0.021 |
| 6 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4708 -> 0.0000 (deboost -0.4708, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4262 (boost 0.4262, better) | predicted_H: 1.0000 -> 0.6984 (deboost -0.3016, 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_SLG: 0.2621 -> 0.3470 (boost 0.0849, better) | predicted_H: 0.6984 -> 0.0000 (deboost -0.6984, 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 qualifying props for this hitter |
| 12 | play_by_play_realization | 3 | 3 | 0 | 2 | 1 | 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 | 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": "669242",
"player_name": "Tommy Edman",
"position": "2B",
"team": "LAD",
"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.024,
"predicted_AB": 3.5,
"predicted_AVG": 0.209,
"predicted_BB": 0.262,
"predicted_H": 0.28,
"predicted_HR": 0.06,
"predicted_OBP": 0.277,
"predicted_R": 0.5,
"predicted_RBI": 0.2,
"predicted_SLG": 0.353,
"predicted_SO": 0.798
},
"changed_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.1502,
"predicted_3B": 0.0193,
"predicted_AB": 3.3391,
"predicted_AVG": 0.2169,
"predicted_BB": 0.2875,
"predicted_H": 0.463,
"predicted_HBP": 0.078,
"predicted_HR": 0.0757,
"predicted_OBP": 0.2924,
"predicted_R": 0.474,
"predicted_RBI": 0.2719,
"predicted_SLG": 0.3644,
"predicted_SO": 0.7176
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.5,
"after": 3.3391,
"delta": -0.1609,
"percent_delta": -0.046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.2169,
"delta": 0.0079,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 0.463,
"delta": 0.183,
"percent_delta": 0.6536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2924,
"delta": 0.0154,
"percent_delta": 0.0556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.2719,
"delta": 0.0719,
"percent_delta": 0.3595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3644,
"delta": 0.0114,
"percent_delta": 0.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.798,
"after": 0.7176,
"delta": -0.0804,
"percent_delta": -0.1008,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.28,
"after": 0.463,
"delta": 0.183,
"percent_delta": 0.6536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.5,
"after": 3.3391,
"delta": -0.1609,
"percent_delta": -0.046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 84
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1502,
"predicted_3B": 0.0193,
"predicted_AB": 3.3391,
"predicted_AVG": 0.138,
"predicted_BB": 0.2884,
"predicted_H": 0.4607,
"predicted_HBP": 0.078,
"predicted_HR": 0.0752,
"predicted_OBP": 0.2065,
"predicted_R": 0.4708,
"predicted_RBI": 0.2701,
"predicted_SLG": 0.2621,
"predicted_SO": 0.7152
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2169,
"after": 0.138,
"delta": -0.0789,
"percent_delta": -0.3638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2924,
"after": 0.2065,
"delta": -0.0859,
"percent_delta": -0.2938,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3644,
"after": 0.2621,
"delta": -0.1023,
"percent_delta": -0.2807,
"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.3644,
"after": 0.2621,
"delta": -0.1023,
"percent_delta": -0.2807,
"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.50), rates preserved: AVG=0.118 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1502,
"after": 0.0,
"delta": -0.1502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.3391,
"after": 3.0,
"delta": -0.3391,
"percent_delta": -0.1016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2884,
"after": 0.0,
"delta": -0.2884,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4607,
"after": 0.0,
"delta": -0.4607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.078,
"after": 0.0,
"delta": -0.078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0752,
"after": 0.0,
"delta": -0.0752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2701,
"after": 0.0,
"delta": -0.2701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7152,
"after": 1.0,
"delta": 0.2848,
"percent_delta": 0.3982,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7152,
"after": 1.0,
"delta": 0.2848,
"percent_delta": 0.3982,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4607,
"after": 0.0,
"delta": -0.4607,
"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.4708,
"after": 0.0,
"delta": -0.4708,
"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.4708,
"after": 0.0,
"delta": -0.4708,
"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.1429,
"predicted_3B": 0.0109,
"predicted_BB": 0.254,
"predicted_H": 0.6984,
"predicted_HR": 0.0932,
"predicted_RBI": 0.4262,
"predicted_SO": 0.9243
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1429,
"delta": 0.1429,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.254,
"delta": 0.254,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6984,
"delta": -0.3016,
"percent_delta": -0.3016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0932,
"delta": 0.0932,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4262,
"delta": 0.4262,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9243,
"delta": -0.0757,
"percent_delta": -0.0757,
"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.4262,
"delta": 0.4262,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.6984,
"delta": -0.3016,
"percent_delta": -0.3016,
"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.212,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.275,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.347,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1429,
"after": 0.0,
"delta": -0.1429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.138,
"after": 0.212,
"delta": 0.074,
"percent_delta": 0.5362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.254,
"after": 0.0,
"delta": -0.254,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6984,
"after": 0.0,
"delta": -0.6984,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0932,
"after": 0.0,
"delta": -0.0932,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2065,
"after": 0.275,
"delta": 0.0685,
"percent_delta": 0.3317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4262,
"after": 0.0,
"delta": -0.4262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2621,
"after": 0.347,
"delta": 0.0849,
"percent_delta": 0.3239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9243,
"after": 1.0,
"delta": 0.0757,
"percent_delta": 0.0819,
"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_SLG",
"before": 0.2621,
"after": 0.347,
"delta": 0.0849,
"percent_delta": 0.3239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6984,
"after": 0.0,
"delta": -0.6984,
"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.212,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.275,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.347,
"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 qualifying 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": 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_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_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"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": 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.212,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.275,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.347,
"predicted_SO": 2.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.143,
"after": 0.0,
"delta": -0.143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 4.0,
"delta": 0.5,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.262,
"after": 0.0,
"delta": -0.262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 1.0,
"delta": 0.72,
"percent_delta": 2.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.078,
"after": 0.0,
"delta": -0.078,
"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.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.347,
"delta": -0.006,
"percent_delta": -0.017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.798,
"after": 2.0,
"delta": 1.202,
"percent_delta": 1.5063,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.798,
"after": 2.0,
"delta": 1.202,
"percent_delta": 1.5063,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.143 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.209 | - |
| predicted_BB | 0.262 | - |
| predicted_H | 0.280 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.200 | - |
| predicted_SLG | 0.353 | - |
| predicted_SO | 0.798 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | 0.007 |
| predicted_3B | 0.019 | -0.005 |
| predicted_AB | 3.339 | -0.161 |
| predicted_AVG | 0.217 | 0.008 |
| predicted_BB | 0.287 | 0.025 |
| predicted_H | 0.463 | 0.183 |
| predicted_HBP | 0.078 | - |
| predicted_HR | 0.076 | 0.016 |
| predicted_OBP | 0.292 | 0.015 |
| predicted_R | 0.474 | -0.026 |
| predicted_RBI | 0.272 | 0.072 |
| predicted_SLG | 0.364 | 0.011 |
| predicted_SO | 0.718 | -0.080 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.339 | 0.000 |
| predicted_AVG | 0.138 | -0.079 |
| predicted_BB | 0.288 | 0.001 |
| predicted_H | 0.461 | -0.002 |
| predicted_HBP | 0.078 | 0.000 |
| predicted_HR | 0.075 | -0.001 |
| predicted_OBP | 0.206 | -0.086 |
| predicted_R | 0.471 | -0.003 |
| predicted_RBI | 0.270 | -0.002 |
| predicted_SLG | 0.262 | -0.102 |
| predicted_SO | 0.715 | -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.50), rates preserved: AVG=0.118 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.143 | 0.143 |
| 3B | 0.011 | 0.011 |
| BB | 0.254 | 0.254 |
| H | 0.698 | -0.302 |
| HR | 0.093 | 0.093 |
| RBI | 0.426 | 0.426 |
| SO | 0.924 | -0.076 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.143 |
| 3B | 0.000 | -0.011 |
| AB | 3.000 | 0.000 |
| AVG | 0.212 | - |
| BB | 0.000 | -0.254 |
| H | 0.000 | -0.698 |
| HR | 0.000 | -0.093 |
| OBP | 0.275 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.426 |
| SLG | 0.347 | - |
| SO | 1.000 | 0.076 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.150 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 3.000 | -0.339 |
| predicted_AVG | 0.212 | 0.074 |
| predicted_BB | 0.000 | -0.288 |
| predicted_H | 0.000 | -0.461 |
| predicted_HR | 0.000 | -0.075 |
| predicted_OBP | 0.275 | 0.069 |
| predicted_R | 0.000 | -0.471 |
| predicted_RBI | 0.000 | -0.270 |
| predicted_SLG | 0.347 | 0.085 |
| predicted_SO | 1.000 | 0.285 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Market blend not applied: no qualifying 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 | 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 | 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 | 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 | - | 10.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.2000 | 0.3333 | 0.3000 | 0.2000 | 0.0000 | 0.0000 | 0.2000 | 0.1000 |
| last_10 | 0.20 | 10 | - | 28.000 | 6.000 | 1.000 | 0.000 | 2.000 | 5.000 | 5.000 | 3.000 | 5.000 | 0.2143 | 0.2812 | 0.4643 | 0.2143 | 0.0714 | 0.1786 | 0.1071 | 0.1786 |
| season | 0.60 | 84 | - | 294.000 | 70.000 | 12.000 | 2.000 | 8.000 | 40.000 | 42.000 | 22.000 | 67.000 | 0.2381 | 0.3182 | 0.3741 | 0.2381 | 0.0272 | 0.1361 | 0.0748 | 0.2279 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1600 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.1220 |
| predicted_AVG | 0.2276 |
| predicted_BB | 0.3220 |
| predicted_H | 0.7100 |
| predicted_HBP | 0.0780 |
| predicted_HR | 0.0970 |
| predicted_OBP | 0.3131 |
| predicted_R | 0.4390 |
| predicted_RBI | 0.3690 |
| predicted_SLG | 0.3798 |
| predicted_SO | 0.6090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1600 | 0.1502 | model_form_blend |
| predicted_3B | 0.0240 | 0.0130 | 0.0193 | model_form_blend |
| predicted_AB | 3.5000 | 3.1220 | 3.3391 | model_form_blend |
| predicted_AVG | 0.2090 | 0.2276 | 0.2169 | model_form_blend |
| predicted_BB | 0.2620 | 0.3220 | 0.2875 | model_form_blend |
| predicted_H | 0.2800 | 0.7100 | 0.4630 | model_form_blend |
| predicted_HBP | - | 0.0780 | 0.0780 | form_only |
| predicted_HR | 0.0600 | 0.0970 | 0.0757 | model_form_blend |
| predicted_OBP | 0.2770 | 0.3131 | 0.2924 | model_form_blend |
| predicted_R | 0.5000 | 0.4390 | 0.4740 | model_form_blend |
| predicted_RBI | 0.2000 | 0.3690 | 0.2719 | model_form_blend |
| predicted_SLG | 0.3530 | 0.3798 | 0.3644 | model_form_blend |
| predicted_SO | 0.7980 | 0.6090 | 0.7176 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 312 |
| Season rows before report date | 312 |
| Report year | 2026 |
| Profile rows used | 84 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PR |
| gameID | 20261011_LAD@MIL |
| game_type | ph |
| mlbID | 669242 |
| note | Ran for De Paula, J in the 9th. |
| playerID | 669242 |
| playerName | Tommy Edman |
| pos | 2B |
| started | False |
| startingPosition | PR |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-11 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.32 |
| sl_xwoba | 0.303 |
| sl_xba | 0.24 |
| sl_xslg | 0.347 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 32.0 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 13.1 |
| sl_whiff_percent | 23.0 |
| sl_swing_percent | 46.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.483 | 1.000 | 1.517 | 2.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.828 | 1.000 | 0.172 | 1.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 4.241 | 4.000 | -0.241 | 0.000 |
| predicted_IP | 6.100 | 6.100 | 6.100 | Pitching_InningsPitched | 6.548 | 7.000 | -0.448 | -0.900 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 6.621 | 10.000 | -0.621 | -4.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: 0.0000 -> 3.0000 (boost 3.0000, worse) |
| Biggest Deboost | predicted_H: 5.0000 -> 4.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, 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 | 2 | 1 | 1 | 1 | 1 | predicted_SO: 3.0000 -> 7.0000 (boost 4.0000, better) | predicted_IP: 6.6667 -> 6.2000 (deboost -0.4667, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 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 | 5 | 2 | 3 | 1 | 4 | predicted_BB: 0.0000 -> 3.0000 (boost 3.0000, worse) | predicted_H: 5.0000 -> 4.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 |
| 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": "808967",
"player_name": "Yoshinobu Yamamoto",
"position": "Starter",
"team": "LAD",
"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": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 6.6667,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 7.0,
"delta": 4.0,
"percent_delta": 1.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 7.0,
"delta": 4.0,
"percent_delta": 1.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"predicted_R": 2.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.2,
"after": 6.1,
"delta": -0.1,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"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_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "better",
"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": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.1,
"delta": -0.5667,
"percent_delta": -0.085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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 | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.667 | - |
| 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 | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.200 | -0.467 |
| predicted_SO | 7.000 | 4.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 | 27.000 | - |
| ER | 2.000 | - |
| H | 4.000 | - |
| HR | 0.000 | - |
| IP | 6.100 | - |
| Pitches | 103.000 | - |
| R | 2.000 | - |
| SO | 6.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 34.000 | 8.000 | 18.000 | 7.000 | 39.000 | 4.000 | 2.1176 | 0.7353 | 0.2353 | 0.5294 | 0.2059 | 1.1471 | 0.1177 |
| last_10 | 0.35 | 10 | 66.100 | 15.000 | 38.000 | 15.000 | 74.000 | 7.000 | 2.0352 | 0.7990 | 0.2261 | 0.5729 | 0.2261 | 1.1156 | 0.1055 |
| season | 0.20 | 29 | 192.000 | 53.000 | 123.000 | 43.000 | 192.000 | 20.000 | 2.4844 | 0.8646 | 0.2760 | 0.6406 | 0.2240 | 1.0000 | 0.1042 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6060 |
| predicted_ER | 1.8700 |
| predicted_ERA | 2.5244 |
| predicted_H | 4.1900 |
| predicted_HR | 0.7740 |
| predicted_IP | 6.2000 |
| predicted_SO | 7.2080 |
| predicted_WHIP | 0.8694 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.6060 | 0.9441 | model_form_blend |
| predicted_ER | 0.0000 | 1.8700 | 1.0993 | model_form_blend |
| predicted_ERA | - | 2.5244 | 2.5244 | form_only |
| predicted_H | 5.0000 | 4.1900 | 4.5238 | model_form_blend |
| predicted_HR | 0.0000 | 0.7740 | 0.4550 | model_form_blend |
| predicted_IP | 6.2000 | 6.2000 | 6.2000 | model_form_blend |
| predicted_SO | 3.0000 | 7.2080 | 5.4737 | model_form_blend |
| predicted_WHIP | - | 0.8694 | 0.8694 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 29 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.1 |
| H | 4 |
| R | 2 |
| ER | 2 |
| BB | 3 |
| SO | 6 |
| HR | 0 |
| BF | 27 |
| Pitches | 103 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 26 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.29 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 6 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 98 |
| Pitching_R | 1 |
| Pitching_SO | 10 |
| Pitching_Strikes | 62 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20261006_LAD@ATL |
| game_type | full |
| mlbID | 808967 |
| playerID | 808967 |
| playerName | Yoshinobu Yamamoto |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-06 |
| sl_k_percent | 25.7 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.242 |
| sl_xwoba | 0.266 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 35.5 |
| sl_whiff_percent | 27.9 |
| sl_swing_percent | 49.6 |
| sl_avg_best_speed | 76.04979859 |
| sl_avg_hyper_speed | 93.786488889 |
| 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.440 | 1.000 | -0.440 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.227 | 0.000 | -0.227 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.413 | 0.000 | -0.413 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.663 | 1.000 | 0.337 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.027 | 2.000 | -0.027 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 3 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 2 |
| Better Metrics | 3 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_H: 3.0000 -> 0.0000 (deboost -3.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_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 | 3 | 0 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 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": "681911",
"player_name": "Alex Vesia",
"position": "Middle Reliever",
"team": "LAD",
"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": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"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.0,
"predicted_R": 0.0,
"predicted_SO": 1.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": 0.0,
"delta": -3.0,
"percent_delta": -1.0,
"direction": "deboost",
"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": 1,
"deboosted_metrics": 2,
"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": 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": 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
}
}
],
"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": 0.0,
"delta": -3.0,
"percent_delta": -1.0,
"direction": "deboost",
"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": 1,
"deboosted_metrics": 2,
"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": 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 | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| 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 | 3.000 | - |
| ER | 0.000 | - |
| H | 0.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.200 | 0.000 | 1.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.2143 | 0.2143 | 1.2857 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 0.000 | 2.000 | 2.000 | 12.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.2143 | 0.2143 | 1.2857 | 0.0000 |
| season | 0.20 | 75 | 60.200 | 17.000 | 31.000 | 33.000 | 77.000 | 4.000 | 2.5220 | 1.0549 | 0.2802 | 0.5110 | 0.5440 | 1.2692 | 0.0659 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2940 |
| predicted_ER | 0.1780 |
| predicted_ERA | 1.6788 |
| predicted_H | 0.4540 |
| predicted_HR | 0.0490 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1270 |
| predicted_WHIP | 0.7857 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2940 | 0.1557 | model_form_blend |
| predicted_ER | 2.0000 | 0.1780 | 1.0351 | model_form_blend |
| predicted_ERA | - | 1.6788 | 1.6788 | form_only |
| predicted_H | 3.0000 | 0.4540 | 1.6517 | model_form_blend |
| predicted_HR | 0.0000 | 0.0490 | 0.0259 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1270 | 0.5968 | model_form_blend |
| predicted_WHIP | - | 0.7857 | 0.7857 | 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 | 75 |
| Season rows before report date | 75 |
| Report year | 2026 |
| Profile rows used | 75 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 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 | 1 |
| 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 | 16 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 681911 |
| playerID | 681911 |
| playerName | Alex Vesia |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-11 |
| sl_k_percent | 31.2 |
| sl_bb_percent | 13.5 |
| sl_woba | 0.233 |
| sl_xwoba | 0.254 |
| sl_sweet_spot_percent | 29.0 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 33.6 |
| sl_whiff_percent | 33.6 |
| sl_swing_percent | 48.3 |
| sl_avg_best_speed | 77.487421364 |
| sl_avg_hyper_speed | 92.757592977 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.676 | 1.000 | -0.676 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.697 | 1.000 | -0.497 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.059 | 3.000 | -0.059 | -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_IP: 0.6667 -> 0.2000 (deboost -0.4667, 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_IP: 0.6667 -> 0.2000 (deboost -0.4667, 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": "623465",
"player_name": "Evan Phillips",
"position": "Middle Reliever (High Leverage)",
"team": "LAD",
"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": 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_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"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": 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_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"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": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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 | 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 | 11.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.200 | 1.000 | 2.000 | 1.000 | 6.000 | 0.000 | 2.4545 | 0.8182 | 0.2727 | 0.5454 | 0.2727 | 1.6364 | 0.0000 |
| last_10 | 0.35 | 10 | 8.000 | 2.000 | 4.000 | 2.000 | 14.000 | 1.000 | 2.2500 | 0.7500 | 0.2500 | 0.5000 | 0.2500 | 1.7500 | 0.1250 |
| season | 0.20 | 34 | 27.200 | 10.000 | 23.000 | 7.000 | 36.000 | 5.000 | 3.2530 | 1.0843 | 0.3614 | 0.8313 | 0.2530 | 1.3012 | 0.1807 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2120 |
| predicted_ER | 0.2600 |
| predicted_ERA | 3.5139 |
| predicted_H | 0.5150 |
| predicted_HR | 0.0740 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.8630 |
| predicted_WHIP | 1.0900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2120 | 0.0960 | model_form_blend |
| predicted_ER | 0.0000 | 0.2600 | 0.1178 | model_form_blend |
| predicted_ERA | - | 3.5139 | 3.5139 | form_only |
| predicted_H | 0.0000 | 0.5150 | 0.2333 | model_form_blend |
| predicted_HR | 0.0000 | 0.0740 | 0.0335 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8630 | 0.9379 | model_form_blend |
| predicted_WHIP | - | 1.0900 | 1.0900 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 2 |
| Pitches | 11 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 17 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 623465 |
| playerID | 623465 |
| playerName | Evan Phillips |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-11 |
| sl_k_percent | 31.1 |
| sl_bb_percent | 5.7 |
| sl_woba | 0.292 |
| sl_xwoba | 0.321 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 16.7 |
| sl_hard_hit_percent | 39.4 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 48.7 |
| sl_avg_best_speed | 80.133585455 |
| sl_avg_hyper_speed | 95.348925152 |
| 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.458 | 0.000 | -0.458 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.750 | 0.000 | 0.250 | 1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 1.125 | 0.000 | 1.875 | 3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.854 | 1.000 | 0.146 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.292 | 1.000 | 0.708 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 3 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 0 |
| Better Metrics | 2 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_H: 1.0000 -> 3.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 | 3 | 3 | 0 | 2 | 1 | predicted_H: 1.0000 -> 3.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": "621242",
"player_name": "Edwin Díaz",
"position": "Middle Reliever (High Leverage)",
"team": "LAD",
"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": 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": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"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": "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": 0.0,
"predicted_ER": 1.0,
"predicted_H": 3.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_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"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": "worse",
"material": true
},
"biggest_deboost": null,
"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 | 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 | 6.000 | - |
| ER | 1.000 | - |
| H | 3.000 | - |
| HR | 0.000 | - |
| IP | 1.000 | - |
| Pitches | 25.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 | 5.000 | 0.000 | 1.000 | 0.000 | 6.000 | 0.000 | 0.0000 | 0.2000 | 0.0000 | 0.2000 | 0.0000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 3.000 | 6.000 | 3.000 | 13.000 | 0.000 | 2.7000 | 0.9000 | 0.3000 | 0.6000 | 0.3000 | 1.3000 | 0.0000 |
| season | 0.20 | 23 | 21.200 | 15.000 | 24.000 | 10.000 | 31.000 | 3.000 | 6.2308 | 1.5692 | 0.6923 | 1.1077 | 0.4615 | 1.4308 | 0.1385 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2430 |
| predicted_ER | 0.3180 |
| predicted_ERA | 3.4749 |
| predicted_H | 0.6320 |
| predicted_HR | 0.0750 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.9050 |
| predicted_WHIP | 1.0609 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2430 | 0.1038 | model_form_blend |
| predicted_ER | 1.0000 | 0.3180 | 0.7087 | model_form_blend |
| predicted_ERA | - | 3.4749 | 3.4749 | form_only |
| predicted_H | 1.0000 | 0.6320 | 0.8428 | model_form_blend |
| predicted_HR | 0.0000 | 0.0750 | 0.0320 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9050 | 0.3866 | model_form_blend |
| predicted_WHIP | - | 1.0609 | 1.0609 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 23 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 6 |
| Pitches | 25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20261007_LAD@ATL |
| game_type | full |
| mlbID | 621242 |
| playerID | 621242 |
| playerName | Edwin Díaz |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-07 |
| sl_k_percent | 29.2 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.4 |
| sl_xwoba | 0.328 |
| sl_sweet_spot_percent | 42.6 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 46.3 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 44.8 |
| sl_avg_best_speed | 80.254157778 |
| sl_avg_hyper_speed | 94.774877547 |
| Field | Value |
|---|---|
| Pitcher | Logan Henderson |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.6816 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0895 |
| Avg Velo | 88.2657 |
| Avg Spin | 2417.7994 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 4 |
| Pre H | 5 |
| Pre BB | 3 |
| Pre SO | 5 |
| Season ERA | 2.4387 |
| Season WHIP | 0.8516 |
| Role Avg IP | 5.4390 |
| Recent Avg IP | 5.4000 |
| Last Start IP | 5 |
{
"team": {
"team": "MIL",
"games": 162,
"wins": 103,
"losses": 59,
"win_pct": 0.6358,
"runs_scored": 832.0,
"runs_allowed": 618.0,
"run_differential": 214.0,
"run_differential_per_game": 1.321,
"avg_runs_scored": 5.1358,
"avg_runs_allowed": 3.8148,
"offense_index": 1.145,
"defense_index": 1.1758,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.3824
},
"opponent": {
"team": "LAD",
"games": 162,
"wins": 100,
"losses": 62,
"win_pct": 0.6173,
"runs_scored": 801.0,
"runs_allowed": 600.0,
"run_differential": 201.0,
"run_differential_per_game": 1.2407,
"avg_runs_scored": 4.9444,
"avg_runs_allowed": 3.7037,
"offense_index": 1.1023,
"defense_index": 1.2111,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 2.2,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.3568
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0256,
"offense_edge": 0.145,
"opponent_offense_edge": 0.1023,
"defense_strength": 0.1758,
"opponent_defense_weakness": -0.2111,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9975,
"strikeout": 0.9926
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "701656",
"profile": {
"available": true,
"pitcher_id": "701656",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 348.0,
"k_percent": 29.6,
"bb_percent": 5.1,
"woba": 0.252,
"xwoba": 0.257,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 36.9,
"avg_best_speed": 77.2333,
"avg_hyper_speed": 93.8148,
"whiff_percent": 26.5,
"swing_percent": 53.2
},
"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.9063,
"command_and_miss": 0.7521,
"regression_edge": -0.1429,
"xwoba_edge": 1.5714,
"barrel_edge": -0.2444,
"hard_hit_edge": 0.1429,
"whiff_edge": 0.1857,
"bb_edge": 1.025,
"pitch_design_score": -0.0895
},
"quality_score": 0.6816,
"sample_weight": 1.0,
"run_prevention_factor": 0.9421,
"strikeout_factor": 1.0503,
"walk_factor": 0.918,
"homer_factor": 0.9667,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "701656",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9421,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.9421,
"adjusted": 3
},
"predicted_BB": {
"original": 1.0,
"factor": 0.918,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9667,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0503,
"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": 59.1,
"ER": 15,
"H": 35,
"BB": 13,
"SO": 60,
"HR": 9,
"ERA": 2.2752808988764044,
"WHIP": 0.8089887640449438,
"K9": 9.101123595505618,
"HR9": 1.3651685393258426,
"games_pitched": 10,
"quality_starts": 6,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-04T00:00:00"
}{
"available": true,
"pitcher_id": "701656",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.2657231915627,
"release_spin_rate": 2417.7993644891867,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.2657231915627,
"release_spin_rate": 2417.7993644891867,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2657,
"release_spin_rate": 2417.7994,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0895,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6394,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 19.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7917,
"prior_weight": 0.2083
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "701656",
"report_date": "20261012",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.0,
"ER": 7.0,
"R": 9.0,
"H": 17.0,
"BB": 8.0,
"SO": 28.0,
"HR": 3.0,
"BF": 107.0,
"Pitches": 443.0
},
"per_game": {
"IP": 5.1,
"ER": 1.4,
"R": 1.8,
"H": 3.4,
"BB": 1.6,
"SO": 5.6,
"HR": 0.6,
"BF": 21.4,
"Pitches": 88.6
},
"rates": {
"ERA": 2.3333,
"WHIP": 0.9259,
"ER_per_IP": 0.25926,
"H_per_IP": 0.62963,
"BB_per_IP": 0.2963,
"SO_per_IP": 1.03704,
"HR_per_IP": 0.11111
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 59.1,
"ER": 15.0,
"R": 17.0,
"H": 35.0,
"BB": 13.0,
"SO": 60.0,
"HR": 9.0,
"BF": 224.0,
"Pitches": 901.0
},
"per_game": {
"IP": 6.0,
"ER": 1.5,
"R": 1.7,
"H": 3.5,
"BB": 1.3,
"SO": 6.0,
"HR": 0.9,
"BF": 22.4,
"Pitches": 90.1
},
"rates": {
"ERA": 2.2753,
"WHIP": 0.809,
"ER_per_IP": 0.25281,
"H_per_IP": 0.58989,
"BB_per_IP": 0.2191,
"SO_per_IP": 1.01124,
"HR_per_IP": 0.15169
}
},
"season": {
"games": 19,
"totals": {
"IP": 103.1,
"ER": 28.0,
"R": 30.0,
"H": 66.0,
"BB": 22.0,
"SO": 114.0,
"HR": 14.0,
"BF": 393.0,
"Pitches": 1577.0
},
"per_game": {
"IP": 5.1,
"ER": 1.4737,
"R": 1.5789,
"H": 3.4737,
"BB": 1.1579,
"SO": 6.0,
"HR": 0.7368,
"BF": 20.6842,
"Pitches": 83.0
},
"rates": {
"ERA": 2.4387,
"WHIP": 0.8516,
"ER_per_IP": 0.27097,
"H_per_IP": 0.63871,
"BB_per_IP": 0.2129,
"SO_per_IP": 1.10323,
"HR_per_IP": 0.13548
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 1.767,
"predicted_H": 3.927,
"predicted_BB": 1.581,
"predicted_SO": 5.764,
"predicted_HR": 0.757,
"predicted_ERA": 2.8113,
"predicted_WHIP": 0.9737
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.438,
"form_weight": 0.562,
"form_reliability": 0.7917,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 19.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7917,
"prior_weight": 0.2083
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.767,
"final": 1.8691,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 3.927,
"final": 3.959,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.581,
"final": 0.8885,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 5.764,
"final": 5.4294,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.757,
"final": 0.4254,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8113,
"final": 2.8113,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9737,
"final": 0.9737,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | JoJo Romero |
| Role | Long Reliever |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1215 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0616 |
| Avg Velo | 88.7636 |
| Avg Spin | 2287.6413 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.3750 |
| Season WHIP | 1.2102 |
| Role Avg IP | 1.0290 |
| Recent Avg IP | 1.4000 |
| Last Start IP | 0 |
{
"team": {
"team": "MIL",
"games": 162,
"wins": 103,
"losses": 59,
"win_pct": 0.6358,
"runs_scored": 832.0,
"runs_allowed": 618.0,
"run_differential": 214.0,
"run_differential_per_game": 1.321,
"avg_runs_scored": 5.1358,
"avg_runs_allowed": 3.8148,
"offense_index": 1.145,
"defense_index": 1.1758,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.3824
},
"opponent": {
"team": "LAD",
"games": 162,
"wins": 100,
"losses": 62,
"win_pct": 0.6173,
"runs_scored": 801.0,
"runs_allowed": 600.0,
"run_differential": 201.0,
"run_differential_per_game": 1.2407,
"avg_runs_scored": 4.9444,
"avg_runs_allowed": 3.7037,
"offense_index": 1.1023,
"defense_index": 1.2111,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 2.2,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.3568
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0256,
"offense_edge": 0.145,
"opponent_offense_edge": 0.1023,
"defense_strength": 0.1758,
"opponent_defense_weakness": -0.2111,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9975,
"strikeout": 0.9926
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668941",
"profile": {
"available": true,
"pitcher_id": "668941",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 216.0,
"k_percent": 22.7,
"bb_percent": 7.6,
"woba": 0.305,
"xwoba": 0.323,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 38.9,
"avg_best_speed": 79.2613,
"avg_hyper_speed": 94.9328,
"whiff_percent": 22.1,
"swing_percent": 41.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.1336,
"command_and_miss": -0.0364,
"regression_edge": -0.5143,
"xwoba_edge": -0.3143,
"barrel_edge": -0.0667,
"hard_hit_edge": -0.1429,
"whiff_edge": -0.4429,
"bb_edge": 0.4,
"pitch_design_score": -0.0616
},
"quality_score": -0.1215,
"sample_weight": 0.864,
"run_prevention_factor": 1.0103,
"strikeout_factor": 0.9877,
"walk_factor": 0.9724,
"homer_factor": 1.0177,
"woba_minus_xwoba": -0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "668941",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0089,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0089,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9762,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0153,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9894,
"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": 13.0,
"ER": 5,
"H": 9,
"BB": 3,
"SO": 14,
"HR": 2,
"ERA": 3.4615384615384617,
"WHIP": 0.9230769230769231,
"K9": 9.692307692307692,
"HR9": 1.3846153846153846,
"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-06T00:00:00"
}{
"available": true,
"pitcher_id": "668941",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 11,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 88.76358655955353,
"release_spin_rate": 2287.6413464681536,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 88.76358655955353,
"release_spin_rate": 2287.6413464681536,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7636,
"release_spin_rate": 2287.6413,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0616,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4402,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.131,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7081,
"prior_weight": 0.2919
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "668941",
"report_date": "20261012",
"season_year": 2026,
"rows_used": 57,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.0,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 1.0,
"SO": 9.0,
"HR": 1.0,
"BF": 25.0,
"Pitches": 110.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.2,
"SO": 1.8,
"HR": 0.2,
"BF": 5.0,
"Pitches": 22.0
},
"rates": {
"ERA": 1.2857,
"WHIP": 0.5714,
"ER_per_IP": 0.14286,
"H_per_IP": 0.42857,
"BB_per_IP": 0.14286,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.14286
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 5.0,
"R": 5.0,
"H": 9.0,
"BB": 3.0,
"SO": 14.0,
"HR": 2.0,
"BF": 50.0,
"Pitches": 211.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5,
"R": 0.5,
"H": 0.9,
"BB": 0.3,
"SO": 1.4,
"HR": 0.2,
"BF": 5.0,
"Pitches": 21.1
},
"rates": {
"ERA": 3.4615,
"WHIP": 0.9231,
"ER_per_IP": 0.38462,
"H_per_IP": 0.69231,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.07692,
"HR_per_IP": 0.15385
}
},
"season": {
"games": 57,
"totals": {
"IP": 58.2,
"ER": 22.0,
"R": 23.0,
"H": 52.0,
"BB": 19.0,
"SO": 58.0,
"HR": 8.0,
"BF": 247.0,
"Pitches": 967.0
},
"per_game": {
"IP": 1.0,
"ER": 0.386,
"R": 0.4035,
"H": 0.9123,
"BB": 0.3333,
"SO": 1.0175,
"HR": 0.1404,
"BF": 4.3333,
"Pitches": 16.9649
},
"rates": {
"ERA": 3.375,
"WHIP": 1.2102,
"ER_per_IP": 0.375,
"H_per_IP": 0.88636,
"BB_per_IP": 0.32386,
"SO_per_IP": 0.98864,
"HR_per_IP": 0.13636
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.442,
"predicted_H": 0.928,
"predicted_BB": 0.334,
"predicted_SO": 1.401,
"predicted_HR": 0.188,
"predicted_ERA": 3.0956,
"predicted_WHIP": 0.9814
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4733,
"form_weight": 0.5267,
"form_reliability": 0.7081,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.131,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7081,
"prior_weight": 0.2919
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.442,
"final": 0.7061,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.928,
"final": 1.4354,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.334,
"final": 0.1759,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.401,
"final": 1.2112,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.188,
"final": 0.099,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0956,
"final": 3.0956,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9814,
"final": 0.9814,
"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 | Antonio Senzatela |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0156 |
| 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 | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.9600 |
| Season WHIP | 1.3733 |
| Role Avg IP | 1.2050 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"team": {
"team": "MIL",
"games": 162,
"wins": 103,
"losses": 59,
"win_pct": 0.6358,
"runs_scored": 832.0,
"runs_allowed": 618.0,
"run_differential": 214.0,
"run_differential_per_game": 1.321,
"avg_runs_scored": 5.1358,
"avg_runs_allowed": 3.8148,
"offense_index": 1.145,
"defense_index": 1.1758,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.3824
},
"opponent": {
"team": "LAD",
"games": 162,
"wins": 100,
"losses": 62,
"win_pct": 0.6173,
"runs_scored": 801.0,
"runs_allowed": 600.0,
"run_differential": 201.0,
"run_differential_per_game": 1.2407,
"avg_runs_scored": 4.9444,
"avg_runs_allowed": 3.7037,
"offense_index": 1.1023,
"defense_index": 1.2111,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 2.2,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.3568
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0256,
"offense_edge": 0.145,
"opponent_offense_edge": 0.1023,
"defense_strength": 0.1758,
"opponent_defense_weakness": -0.2111,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9975,
"strikeout": 0.9926
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "622608",
"profile": {
"available": true,
"pitcher_id": "622608",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 281.0,
"k_percent": 19.3,
"bb_percent": 8.4,
"woba": 0.31,
"xwoba": 0.31,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 40.4,
"avg_best_speed": 77.0219,
"avg_hyper_speed": 94.2889,
"whiff_percent": 23.5,
"swing_percent": 49.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": 0.0766,
"command_and_miss": -0.225,
"regression_edge": 0.0,
"xwoba_edge": 0.0571,
"barrel_edge": 0.2,
"hard_hit_edge": -0.3571,
"whiff_edge": -0.2429,
"bb_edge": 0.2,
"pitch_design_score": 0.0
},
"quality_score": -0.0156,
"sample_weight": 1.0,
"run_prevention_factor": 1.0013,
"strikeout_factor": 0.9743,
"walk_factor": 0.984,
"homer_factor": 0.9966,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "622608",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0013,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0013,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.984,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9966,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9743,
"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": 8.1,
"ER": 2,
"H": 9,
"BB": 2,
"SO": 6,
"HR": 1,
"ERA": 2.16,
"WHIP": 1.3200000000000003,
"K9": 6.480000000000001,
"HR9": 1.08,
"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-06T00:00:00"
}{
"available": false,
"pitcher_id": "622608",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.509,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7562,
"prior_weight": 0.2438
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "622608",
"report_date": "20261012",
"season_year": 2026,
"rows_used": 59,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 0.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 60.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 0.6,
"HR": 0.0,
"BF": 3.6,
"Pitches": 12.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.3846,
"ER_per_IP": 0.0,
"H_per_IP": 0.92308,
"BB_per_IP": 0.46154,
"SO_per_IP": 0.69231,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 2.0,
"R": 3.0,
"H": 9.0,
"BB": 2.0,
"SO": 6.0,
"HR": 1.0,
"BF": 35.0,
"Pitches": 131.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.3,
"H": 0.9,
"BB": 0.2,
"SO": 0.6,
"HR": 0.1,
"BF": 3.5,
"Pitches": 13.1
},
"rates": {
"ERA": 2.16,
"WHIP": 1.32,
"ER_per_IP": 0.24,
"H_per_IP": 1.08,
"BB_per_IP": 0.24,
"SO_per_IP": 0.72,
"HR_per_IP": 0.12
}
},
"season": {
"games": 59,
"totals": {
"IP": 75.0,
"ER": 33.0,
"R": 38.0,
"H": 76.0,
"BB": 27.0,
"SO": 61.0,
"HR": 6.0,
"BF": 319.0,
"Pitches": 1190.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5593,
"R": 0.6441,
"H": 1.2881,
"BB": 0.4576,
"SO": 1.0339,
"HR": 0.1017,
"BF": 5.4068,
"Pitches": 20.1695
},
"rates": {
"ERA": 3.96,
"WHIP": 1.3733,
"ER_per_IP": 0.44,
"H_per_IP": 1.01333,
"BB_per_IP": 0.36,
"SO_per_IP": 0.81333,
"HR_per_IP": 0.08
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.246,
"predicted_H": 0.956,
"predicted_BB": 0.354,
"predicted_SO": 0.747,
"predicted_HR": 0.077,
"predicted_ERA": 2.2982,
"predicted_WHIP": 1.3616
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.453,
"form_weight": 0.547,
"form_reliability": 0.7562,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.509,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7562,
"prior_weight": 0.2438
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.246,
"final": 0.1346,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.956,
"final": 0.5229,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.354,
"final": 0.1936,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.747,
"final": 0.4086,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.077,
"final": 0.0421,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.2982,
"final": 2.2982,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3616,
"final": 1.3616,
"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 | DL Hall |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2509 |
| ESPN Rank | - |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 1.8187 |
| Season WHIP | 1.0415 |
| Role Avg IP | 1.2720 |
| Recent Avg IP | 1.3330 |
| Last Start IP | 0 |
{
"team": {
"team": "MIL",
"games": 162,
"wins": 103,
"losses": 59,
"win_pct": 0.6358,
"runs_scored": 832.0,
"runs_allowed": 618.0,
"run_differential": 214.0,
"run_differential_per_game": 1.321,
"avg_runs_scored": 5.1358,
"avg_runs_allowed": 3.8148,
"offense_index": 1.145,
"defense_index": 1.1758,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.3824
},
"opponent": {
"team": "LAD",
"games": 162,
"wins": 100,
"losses": 62,
"win_pct": 0.6173,
"runs_scored": 801.0,
"runs_allowed": 600.0,
"run_differential": 201.0,
"run_differential_per_game": 1.2407,
"avg_runs_scored": 4.9444,
"avg_runs_allowed": 3.7037,
"offense_index": 1.1023,
"defense_index": 1.2111,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 2.2,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.3568
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0256,
"offense_edge": 0.145,
"opponent_offense_edge": 0.1023,
"defense_strength": 0.1758,
"opponent_defense_weakness": -0.2111,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9975,
"strikeout": 0.9926
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669084",
"profile": {
"available": true,
"pitcher_id": "669084",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 200.0,
"k_percent": 26.6,
"bb_percent": 14.5,
"woba": 0.246,
"xwoba": 0.286,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 32.9,
"avg_best_speed": 78.6821,
"avg_hyper_speed": 93.2839,
"whiff_percent": 28.0,
"swing_percent": 42.2
},
"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.6878,
"command_and_miss": 0.1643,
"regression_edge": -1.1429,
"xwoba_edge": 0.7429,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.7143,
"whiff_edge": 0.4,
"bb_edge": -1.325,
"pitch_design_score": 0.0
},
"quality_score": 0.2509,
"sample_weight": 0.8,
"run_prevention_factor": 0.9787,
"strikeout_factor": 1.0334,
"walk_factor": 1.0848,
"homer_factor": 0.9494,
"woba_minus_xwoba": -0.04,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "669084",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.983,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.983,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0678,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9595,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0267,
"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": 13.1,
"ER": 1,
"H": 7,
"BB": 6,
"SO": 10,
"HR": 1,
"ERA": 0.6749999999999999,
"WHIP": 0.975,
"K9": 6.75,
"HR9": 0.6749999999999999,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-11T00:00:00"
}{
"available": false,
"pitcher_id": "669084",
"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.303,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7268,
"prior_weight": 0.2732
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "669084",
"report_date": "20261012",
"season_year": 2026,
"rows_used": 50,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 4.0,
"SO": 4.0,
"HR": 0.0,
"BF": 26.0,
"Pitches": 114.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.8,
"SO": 0.8,
"HR": 0.0,
"BF": 5.2,
"Pitches": 22.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.9,
"ER_per_IP": 0.0,
"H_per_IP": 0.3,
"BB_per_IP": 0.6,
"SO_per_IP": 0.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.1,
"ER": 1.0,
"R": 1.0,
"H": 7.0,
"BB": 6.0,
"SO": 10.0,
"HR": 1.0,
"BF": 53.0,
"Pitches": 210.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.1,
"H": 0.7,
"BB": 0.6,
"SO": 1.0,
"HR": 0.1,
"BF": 5.3,
"Pitches": 21.0
},
"rates": {
"ERA": 0.675,
"WHIP": 0.975,
"ER_per_IP": 0.075,
"H_per_IP": 0.525,
"BB_per_IP": 0.45,
"SO_per_IP": 0.75,
"HR_per_IP": 0.075
}
},
"season": {
"games": 50,
"totals": {
"IP": 64.1,
"ER": 13.0,
"R": 13.0,
"H": 30.0,
"BB": 37.0,
"SO": 65.0,
"HR": 5.0,
"BF": 252.0,
"Pitches": 1050.0
},
"per_game": {
"IP": 1.1,
"ER": 0.26,
"R": 0.26,
"H": 0.6,
"BB": 0.74,
"SO": 1.3,
"HR": 0.1,
"BF": 5.04,
"Pitches": 21.0
},
"rates": {
"ERA": 1.8187,
"WHIP": 1.0415,
"ER_per_IP": 0.20207,
"H_per_IP": 0.46632,
"BB_per_IP": 0.57513,
"SO_per_IP": 1.01036,
"HR_per_IP": 0.07772
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.217,
"predicted_H": 0.655,
"predicted_BB": 0.574,
"predicted_SO": 0.908,
"predicted_HR": 0.081,
"predicted_ERA": 1.6997,
"predicted_WHIP": 1.0674
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4654,
"form_weight": 0.5346,
"form_reliability": 0.7268,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.303,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7268,
"prior_weight": 0.2732
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.217,
"final": 0.116,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.655,
"final": 0.3501,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.574,
"final": 0.7723,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.908,
"final": 0.9508,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.081,
"final": 0.0433,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.6997,
"final": 1.6997,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0674,
"final": 1.0674,
"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.208 | 0.000 | 0.000 | Hitting_2B | 0.251 | 0.000 | -0.251 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.880 | 5.000 | 5.000 | Hitting_AB | 4.271 | 4.000 | 0.729 | 1.000 |
| predicted_AVG | 0.280 | 0.400 | 0.400 | Hitting_AVG | 0.300 | 0.500 | 0.100 | -0.100 |
| predicted_BB | 0.369 | 0.000 | 0.000 | Hitting_BB | 0.379 | 0.000 | -0.379 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 1.370 | 2.000 | 2.000 | Hitting_H | 1.280 | 2.000 | 0.720 | 0.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_OBP | 0.369 | 0.400 | 0.400 | Hitting_OBP | 0.358 | 0.500 | 0.042 | -0.100 |
| predicted_R | 0.746 | 0.000 | 0.000 | Hitting_R | 0.817 | 0.000 | -0.817 | 0.000 |
| predicted_RBI | 0.890 | 2.000 | 2.000 | Hitting_RBI | 0.623 | 0.000 | 1.377 | 2.000 |
| predicted_SLG | 0.472 | 0.400 | 0.400 | Hitting_SLG | 0.499 | 0.500 | -0.099 | -0.100 |
| predicted_SO | 1.046 | 2.000 | 2.000 | Hitting_SO | 1.093 | 1.000 | 0.907 | 1.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_RBI: 0.8900 -> 2.0000 (boost 1.1100, better) |
| Biggest Deboost | predicted_R: 0.7460 -> 0.0000 (deboost -0.7460, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 2 | 4 | predicted_AVG: 0.2800 -> 0.2885 (boost 0.0085, better) | predicted_AB: 4.8800 -> 4.4729 (deboost -0.4071, worse) | Final model input calibrated with local 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.3637 -> 0.3392 (deboost -0.0245, 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_RBI: 0.8651 -> 1.0000 (boost 0.1349, better) | predicted_AB: 4.4729 -> 4.0000 (deboost -0.4729, worse) | AB rounded to 4 (raw=4.88), rates preserved: AVG=0.233 HR/AB=0.041 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6932 -> 1.0000 (boost 0.3068, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.0000 -> 0.3316 (boost 0.3316, better) | predicted_RBI: 1.0000 -> 0.5879 (deboost -0.4121, 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_HR: 0.1828 -> 1.0000 (boost 0.8172, better) | predicted_BB: 0.3316 -> 0.0000 (deboost -0.3316, 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 | 6 | 4 | 2 | 3 | 3 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_HR: 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 | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2310 -> 0.2370 (boost 0.0060, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "694192",
"player_name": "Jackson Chourio",
"position": "LF",
"team": "MIL",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.208,
"predicted_3B": 0.0,
"predicted_AB": 4.88,
"predicted_AVG": 0.28,
"predicted_BB": 0.369,
"predicted_H": 1.37,
"predicted_HR": 0.2,
"predicted_OBP": 0.369,
"predicted_R": 0.746,
"predicted_RBI": 0.89,
"predicted_SLG": 0.472,
"predicted_SO": 1.046
},
"changed_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.1705,
"predicted_3B": 0.0004,
"predicted_AB": 4.4729,
"predicted_AVG": 0.2885,
"predicted_BB": 0.3472,
"predicted_H": 1.2881,
"predicted_HBP": 0.074,
"predicted_HR": 0.1991,
"predicted_OBP": 0.3637,
"predicted_R": 0.6933,
"predicted_RBI": 0.8652,
"predicted_SLG": 0.4761,
"predicted_SO": 0.9292
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.88,
"after": 4.4729,
"delta": -0.4071,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.28,
"after": 0.2885,
"delta": 0.0085,
"percent_delta": 0.0304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.37,
"after": 1.2881,
"delta": -0.0819,
"percent_delta": -0.0598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.369,
"after": 0.3637,
"delta": -0.0053,
"percent_delta": -0.0144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.746,
"after": 0.6933,
"delta": -0.0527,
"percent_delta": -0.0706,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.046,
"after": 0.9292,
"delta": -0.1168,
"percent_delta": -0.1117,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.28,
"after": 0.2885,
"delta": 0.0085,
"percent_delta": 0.0304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.88,
"after": 4.4729,
"delta": -0.4071,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 130
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1705,
"predicted_3B": 0.0004,
"predicted_AB": 4.4729,
"predicted_AVG": 0.2876,
"predicted_BB": 0.3495,
"predicted_H": 1.2863,
"predicted_HBP": 0.074,
"predicted_HR": 0.1986,
"predicted_OBP": 0.3392,
"predicted_R": 0.6932,
"predicted_RBI": 0.8651,
"predicted_SLG": 0.4591,
"predicted_SO": 0.9231
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3637,
"after": 0.3392,
"delta": -0.0245,
"percent_delta": -0.0674,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4761,
"after": 0.4591,
"delta": -0.017,
"percent_delta": -0.0357,
"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.3637,
"after": 0.3392,
"delta": -0.0245,
"percent_delta": -0.0674,
"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.88), rates preserved: AVG=0.233 HR/AB=0.041",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1705,
"after": 0.0,
"delta": -0.1705,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.4729,
"after": 4.0,
"delta": -0.4729,
"percent_delta": -0.1057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3495,
"after": 0.0,
"delta": -0.3495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2863,
"after": 1.0,
"delta": -0.2863,
"percent_delta": -0.2226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.0,
"delta": -0.074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1986,
"after": 0.0,
"delta": -0.1986,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8651,
"after": 1.0,
"delta": 0.1349,
"percent_delta": 0.1559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9231,
"after": 1.0,
"delta": 0.0769,
"percent_delta": 0.0833,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.8651,
"after": 1.0,
"delta": 0.1349,
"percent_delta": 0.1559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4729,
"after": 4.0,
"delta": -0.4729,
"percent_delta": -0.1057,
"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.182)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 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.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": 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.6932,
"after": 1.0,
"delta": 0.3068,
"percent_delta": 0.4426,
"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.6932,
"after": 1.0,
"delta": 0.3068,
"percent_delta": 0.4426,
"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.1693,
"predicted_3B": 0.0063,
"predicted_BB": 0.3316,
"predicted_H": 0.9445,
"predicted_HR": 0.1828,
"predicted_RBI": 0.5879,
"predicted_SO": 1.2821
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1693,
"delta": 0.1693,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3316,
"delta": 0.3316,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9445,
"delta": -0.0555,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1828,
"delta": 0.1828,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5879,
"delta": -0.4121,
"percent_delta": -0.4121,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.2821,
"delta": 0.2821,
"percent_delta": 0.2821,
"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.3316,
"delta": 0.3316,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5879,
"delta": -0.4121,
"percent_delta": -0.4121,
"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.231,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.295,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.41,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1693,
"after": 0.0,
"delta": -0.1693,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2876,
"after": 0.231,
"delta": -0.0566,
"percent_delta": -0.1968,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3316,
"after": 0.0,
"delta": -0.3316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9445,
"after": 1.0,
"delta": 0.0555,
"percent_delta": 0.0588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1828,
"after": 1.0,
"delta": 0.8172,
"percent_delta": 4.4705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3392,
"after": 0.295,
"delta": -0.0442,
"percent_delta": -0.1303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5879,
"after": 1.0,
"delta": 0.4121,
"percent_delta": 0.701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4591,
"after": 0.41,
"delta": -0.0491,
"percent_delta": -0.1069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2821,
"after": 1.0,
"delta": -0.2821,
"percent_delta": -0.22,
"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_HR",
"before": 0.1828,
"after": 1.0,
"delta": 0.8172,
"percent_delta": 4.4705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3316,
"after": 0.0,
"delta": -0.3316,
"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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.295,
"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": "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": 5.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 2.0,
"predicted_SF": 0.0,
"predicted_SO": 2.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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"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_HR",
"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": 5.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 2.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": 5.0,
"predicted_AVG": 0.237,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.295,
"predicted_R": 0.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.411,
"predicted_SO": 2.0,
"predicted_TB": 2.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.237,
"delta": 0.006,
"percent_delta": 0.026,
"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.231,
"after": 0.237,
"delta": 0.006,
"percent_delta": 0.026,
"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.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.88,
"after": 5.0,
"delta": 0.12,
"percent_delta": 0.0246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.28,
"after": 0.237,
"delta": -0.043,
"percent_delta": -0.1536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.369,
"after": 0.0,
"delta": -0.369,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.37,
"after": 2.0,
"delta": 0.63,
"percent_delta": 0.4599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.0,
"delta": -0.074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.369,
"after": 0.295,
"delta": -0.074,
"percent_delta": -0.2005,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.746,
"after": 0.0,
"delta": -0.746,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.89,
"after": 2.0,
"delta": 1.11,
"percent_delta": 1.2472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.411,
"delta": -0.061,
"percent_delta": -0.1292,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.046,
"after": 2.0,
"delta": 0.954,
"percent_delta": 0.912,
"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_RBI",
"before": 0.89,
"after": 2.0,
"delta": 1.11,
"percent_delta": 1.2472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.746,
"after": 0.0,
"delta": -0.746,
"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.208 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.880 | - |
| predicted_AVG | 0.280 | - |
| predicted_BB | 0.369 | - |
| predicted_H | 1.370 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.369 | - |
| predicted_R | 0.746 | - |
| predicted_RBI | 0.890 | - |
| predicted_SLG | 0.472 | - |
| predicted_SO | 1.046 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | -0.037 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.473 | -0.407 |
| predicted_AVG | 0.288 | 0.008 |
| predicted_BB | 0.347 | -0.022 |
| predicted_H | 1.288 | -0.082 |
| predicted_HBP | 0.074 | - |
| predicted_HR | 0.199 | -0.001 |
| predicted_OBP | 0.364 | -0.005 |
| predicted_R | 0.693 | -0.053 |
| predicted_RBI | 0.865 | -0.025 |
| predicted_SLG | 0.476 | 0.004 |
| predicted_SO | 0.929 | -0.117 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.473 | 0.000 |
| predicted_AVG | 0.288 | -0.001 |
| predicted_BB | 0.349 | 0.002 |
| predicted_H | 1.286 | -0.002 |
| predicted_HBP | 0.074 | 0.000 |
| predicted_HR | 0.199 | -0.001 |
| predicted_OBP | 0.339 | -0.025 |
| predicted_R | 0.693 | -0.000 |
| predicted_RBI | 0.865 | -0.000 |
| predicted_SLG | 0.459 | -0.017 |
| predicted_SO | 0.923 | -0.006 |
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.88), rates preserved: AVG=0.233 HR/AB=0.041
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 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.169 | 0.169 |
| 3B | 0.006 | 0.006 |
| BB | 0.332 | 0.332 |
| H | 0.945 | -0.055 |
| HR | 0.183 | 0.183 |
| RBI | 0.588 | -0.412 |
| SO | 1.282 | 0.282 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.169 |
| 3B | 0.000 | -0.006 |
| AB | 4.000 | 0.000 |
| AVG | 0.231 | - |
| BB | 0.000 | -0.332 |
| H | 1.000 | 0.055 |
| HR | 1.000 | 0.817 |
| OBP | 0.295 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.412 |
| SLG | 0.410 | - |
| SO | 1.000 | -0.282 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.171 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.473 |
| predicted_AVG | 0.231 | -0.057 |
| predicted_BB | 0.000 | -0.349 |
| predicted_H | 1.000 | -0.286 |
| predicted_HR | 1.000 | 0.801 |
| predicted_OBP | 0.295 | -0.044 |
| predicted_R | 1.000 | 0.307 |
| predicted_RBI | 1.000 | 0.135 |
| predicted_SLG | 0.410 | -0.049 |
| predicted_SO | 1.000 | 0.077 |
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 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 2.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 | 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 | 0.000 | 0.000 |
| RBI | 2.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 | 5.000 | 0.000 | 0.000 | 1.000 | 6.000 | 1.000 | 1.000 | 2.000 | 0.2500 | 0.3043 | 0.4000 | 0.2500 | 0.0500 | 0.3000 | 0.0500 | 0.1000 |
| last_10 | 0.20 | 10 | - | 34.000 | 13.000 | 0.000 | 0.000 | 2.000 | 11.000 | 7.000 | 3.000 | 4.000 | 0.3824 | 0.4359 | 0.5588 | 0.3824 | 0.0588 | 0.3235 | 0.0882 | 0.1177 |
| season | 0.60 | 130 | - | 536.000 | 157.000 | 27.000 | 0.000 | 26.000 | 81.000 | 97.000 | 48.000 | 136.000 | 0.2929 | 0.3525 | 0.4888 | 0.2929 | 0.0485 | 0.1511 | 0.0896 | 0.2537 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1220 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9460 |
| predicted_AVG | 0.2996 |
| predicted_BB | 0.3190 |
| predicted_H | 1.1820 |
| predicted_HBP | 0.0740 |
| predicted_HR | 0.1980 |
| predicted_OBP | 0.3569 |
| predicted_R | 0.6250 |
| predicted_RBI | 0.8330 |
| predicted_SLG | 0.4813 |
| predicted_SO | 0.7780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2080 | 0.1220 | 0.1705 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.8800 | 3.9460 | 4.4729 | model_form_blend |
| predicted_AVG | 0.2800 | 0.2996 | 0.2885 | model_form_blend |
| predicted_BB | 0.3690 | 0.3190 | 0.3472 | model_form_blend |
| predicted_H | 1.3700 | 1.1820 | 1.2881 | model_form_blend |
| predicted_HBP | - | 0.0740 | 0.0740 | form_only |
| predicted_HR | 0.2000 | 0.1980 | 0.1991 | model_form_blend |
| predicted_OBP | 0.3690 | 0.3569 | 0.3637 | model_form_blend |
| predicted_R | 0.7460 | 0.6250 | 0.6933 | model_form_blend |
| predicted_RBI | 0.8900 | 0.8330 | 0.8652 | model_form_blend |
| predicted_SLG | 0.4720 | 0.4813 | 0.4761 | model_form_blend |
| predicted_SO | 1.0460 | 0.7780 | 0.9292 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 546 |
| Season rows before report date | 546 |
| Report year | 2026 |
| Profile rows used | 130 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 2 |
| 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.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 694192 |
| playerID | 694192 |
| playerName | Jackson Chourio |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-11 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.361 |
| sl_xwoba | 0.344 |
| sl_xba | 0.265 |
| sl_xslg | 0.475 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 47.0 |
| sl_exit_velocity_avg | 91.6 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 47.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.243 | 0.000 | 0.000 | Hitting_2B | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 4.050 | 4.000 | 4.000 | Hitting_AB | 3.959 | 2.000 | 0.041 | 2.000 |
| predicted_AVG | 0.232 | 0.000 | 0.000 | Hitting_AVG | 0.277 | 0.500 | -0.277 | -0.500 |
| predicted_BB | 0.586 | 1.000 | 1.000 | Hitting_BB | 0.588 | 1.000 | 0.412 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 0.940 | 0.000 | 0.000 | Hitting_H | 1.096 | 1.000 | -1.096 | -1.000 |
| predicted_HR | 0.260 | 0.000 | 0.000 | Hitting_HR | 0.143 | 1.000 | -0.143 | -1.000 |
| predicted_OBP | 0.345 | 0.200 | 0.200 | Hitting_OBP | 0.370 | 0.667 | -0.170 | -0.467 |
| predicted_R | 0.678 | 1.000 | 1.000 | Hitting_R | 0.712 | 1.000 | 0.288 | 0.000 |
| predicted_RBI | 0.620 | 0.000 | 0.000 | Hitting_RBI | 0.733 | 1.000 | -0.733 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_SLG | 0.556 | 0.000 | 0.000 | Hitting_SLG | 0.465 | 2.000 | -0.465 | -2.000 |
| predicted_SO | 1.105 | 1.000 | 1.000 | Hitting_SO | 1.078 | 0.000 | -0.078 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.5860 -> 1.0000 (boost 0.4140, better) |
| Biggest Deboost | predicted_H: 0.9400 -> 0.0000 (deboost -0.9400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 2 | 3 | predicted_AVG: 0.2320 -> 0.2410 (boost 0.0090, better) | predicted_AB: 4.0500 -> 3.9511 (deboost -0.0989, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5124 -> 0.4779 (deboost -0.0345, 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 | 4 | 1 | 3 | 1 | 3 | predicted_RBI: 0.6076 -> 1.0000 (boost 0.3924, better) | predicted_BB: 0.5696 -> 0.0000 (deboost -0.5696, worse) | AB rounded to 4 (raw=4.05), rates preserved: AVG=0.207 HR/AB=0.056 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6258 -> 1.0000 (boost 0.3742, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.0000 -> 0.4988 (boost 0.4988, better) | predicted_RBI: 1.0000 -> 0.5565 (deboost -0.4435, 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_2B: 0.1818 -> 1.0000 (boost 0.8182, better) | predicted_SO: 1.1892 -> 1.0000 (deboost -0.1892, 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 | 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 | 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 |
| 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.3170 -> 0.3000 (deboost -0.0170, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "668930",
"player_name": "Brice Turang",
"position": "2B",
"team": "MIL",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.243,
"predicted_3B": 0.02,
"predicted_AB": 4.05,
"predicted_AVG": 0.232,
"predicted_BB": 0.586,
"predicted_H": 0.94,
"predicted_HR": 0.26,
"predicted_OBP": 0.345,
"predicted_R": 0.678,
"predicted_RBI": 0.62,
"predicted_SLG": 0.556,
"predicted_SO": 1.105
},
"changed_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.2251,
"predicted_3B": 0.0165,
"predicted_AB": 3.9511,
"predicted_AVG": 0.241,
"predicted_BB": 0.5659,
"predicted_H": 0.9514,
"predicted_HBP": 0.005,
"predicted_HR": 0.2272,
"predicted_OBP": 0.3452,
"predicted_R": 0.6259,
"predicted_RBI": 0.6077,
"predicted_SLG": 0.5124,
"predicted_SO": 1.0306
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.05,
"after": 3.9511,
"delta": -0.0989,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.241,
"delta": 0.009,
"percent_delta": 0.0388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.678,
"after": 0.6259,
"delta": -0.0521,
"percent_delta": -0.0768,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.556,
"after": 0.5124,
"delta": -0.0436,
"percent_delta": -0.0784,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.105,
"after": 1.0306,
"delta": -0.0744,
"percent_delta": -0.0673,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.241,
"delta": 0.009,
"percent_delta": 0.0388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.05,
"after": 3.9511,
"delta": -0.0989,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2251,
"predicted_3B": 0.0165,
"predicted_AB": 3.9511,
"predicted_AVG": 0.2405,
"predicted_BB": 0.5696,
"predicted_H": 0.9501,
"predicted_HBP": 0.005,
"predicted_HR": 0.2267,
"predicted_OBP": 0.3362,
"predicted_R": 0.6258,
"predicted_RBI": 0.6076,
"predicted_SLG": 0.4779,
"predicted_SO": 1.0238
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3452,
"after": 0.3362,
"delta": -0.009,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5124,
"after": 0.4779,
"delta": -0.0345,
"percent_delta": -0.0673,
"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.5124,
"after": 0.4779,
"delta": -0.0345,
"percent_delta": -0.0673,
"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.207 HR/AB=0.056",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2251,
"after": 0.0,
"delta": -0.2251,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5696,
"after": 0.0,
"delta": -0.5696,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2267,
"after": 0.0,
"delta": -0.2267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6076,
"after": 1.0,
"delta": 0.3924,
"percent_delta": 0.6458,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6076,
"after": 1.0,
"delta": 0.3924,
"percent_delta": 0.6458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5696,
"after": 0.0,
"delta": -0.5696,
"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.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"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": 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.6258,
"after": 1.0,
"delta": 0.3742,
"percent_delta": 0.598,
"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.6258,
"after": 1.0,
"delta": 0.3742,
"percent_delta": 0.598,
"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.1818,
"predicted_3B": 0.011,
"predicted_BB": 0.4988,
"predicted_H": 0.8347,
"predicted_HR": 0.1203,
"predicted_RBI": 0.5565,
"predicted_SO": 1.1892
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1818,
"delta": 0.1818,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4988,
"delta": 0.4988,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8347,
"delta": -0.1653,
"percent_delta": -0.1653,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1203,
"delta": 0.1203,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5565,
"delta": -0.4435,
"percent_delta": -0.4435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.1892,
"delta": 0.1892,
"percent_delta": 0.1892,
"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.4988,
"delta": 0.4988,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5565,
"delta": -0.4435,
"percent_delta": -0.4435,
"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.22,
"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.37,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1818,
"after": 1.0,
"delta": 0.8182,
"percent_delta": 4.5006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2405,
"after": 0.22,
"delta": -0.0205,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4988,
"after": 1.0,
"delta": 0.5012,
"percent_delta": 1.0048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8347,
"after": 1.0,
"delta": 0.1653,
"percent_delta": 0.198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1203,
"after": 0.0,
"delta": -0.1203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3362,
"after": 0.317,
"delta": -0.0192,
"percent_delta": -0.0571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5565,
"after": 1.0,
"delta": 0.4435,
"percent_delta": 0.7969,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4779,
"after": 0.37,
"delta": -0.1079,
"percent_delta": -0.2258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1892,
"after": 1.0,
"delta": -0.1892,
"percent_delta": -0.1591,
"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_2B",
"before": 0.1818,
"after": 1.0,
"delta": 0.8182,
"percent_delta": 4.5006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.1892,
"after": 1.0,
"delta": -0.1892,
"percent_delta": -0.1591,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.22,
"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.37,
"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": 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_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_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": 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": 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": 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": 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.214,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.357,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.214,
"delta": -0.006,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3,
"delta": -0.017,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.357,
"delta": -0.013,
"percent_delta": -0.0351,
"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.317,
"after": 0.3,
"delta": -0.017,
"percent_delta": -0.0536,
"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.243,
"after": 0.0,
"delta": -0.243,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.214,
"delta": -0.018,
"percent_delta": -0.0776,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.586,
"after": 1.0,
"delta": 0.414,
"percent_delta": 0.7065,
"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.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3,
"delta": -0.045,
"percent_delta": -0.1304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.678,
"after": 1.0,
"delta": 0.322,
"percent_delta": 0.4749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.556,
"after": 0.357,
"delta": -0.199,
"percent_delta": -0.3579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.105,
"after": 1.0,
"delta": -0.105,
"percent_delta": -0.095,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.586,
"after": 1.0,
"delta": 0.414,
"percent_delta": 0.7065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.243 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.050 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.586 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.260 | - |
| predicted_OBP | 0.345 | - |
| predicted_R | 0.678 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.556 | - |
| predicted_SO | 1.105 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.225 | -0.018 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 3.951 | -0.099 |
| predicted_AVG | 0.241 | 0.009 |
| predicted_BB | 0.566 | -0.020 |
| predicted_H | 0.951 | 0.011 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.227 | -0.033 |
| predicted_OBP | 0.345 | 0.000 |
| predicted_R | 0.626 | -0.052 |
| predicted_RBI | 0.608 | -0.012 |
| predicted_SLG | 0.512 | -0.044 |
| predicted_SO | 1.031 | -0.074 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.225 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.951 | 0.000 |
| predicted_AVG | 0.240 | -0.001 |
| predicted_BB | 0.570 | 0.004 |
| predicted_H | 0.950 | -0.001 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.227 | -0.001 |
| predicted_OBP | 0.336 | -0.009 |
| predicted_R | 0.626 | -0.000 |
| predicted_RBI | 0.608 | -0.000 |
| predicted_SLG | 0.478 | -0.034 |
| predicted_SO | 1.024 | -0.007 |
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.207 HR/AB=0.056
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.182 | 0.182 |
| 3B | 0.011 | 0.011 |
| BB | 0.499 | 0.499 |
| H | 0.835 | -0.165 |
| HR | 0.120 | 0.120 |
| RBI | 0.556 | -0.444 |
| SO | 1.189 | 0.189 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.818 |
| 3B | 0.000 | -0.011 |
| AB | 4.000 | 0.000 |
| AVG | 0.220 | - |
| BB | 1.000 | 0.501 |
| H | 1.000 | 0.165 |
| HR | 0.000 | -0.120 |
| OBP | 0.317 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.444 |
| SLG | 0.370 | - |
| SO | 1.000 | -0.189 |
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.775 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | 0.049 |
| predicted_AVG | 0.220 | -0.020 |
| predicted_BB | 1.000 | 0.430 |
| predicted_H | 1.000 | 0.050 |
| predicted_HR | 0.000 | -0.227 |
| predicted_OBP | 0.317 | -0.019 |
| predicted_R | 1.000 | 0.374 |
| predicted_RBI | 1.000 | 0.392 |
| predicted_SLG | 0.370 | -0.108 |
| predicted_SO | 1.000 | -0.024 |
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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -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 | 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 | 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 | - | 18.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 3.000 | 3.000 | 0.1667 | 0.2857 | 0.3333 | 0.1667 | 0.0556 | 0.0556 | 0.1667 | 0.1667 |
| last_10 | 0.20 | 10 | - | 39.000 | 11.000 | 3.000 | 0.000 | 3.000 | 8.000 | 6.000 | 4.000 | 8.000 | 0.2821 | 0.3488 | 0.5897 | 0.2821 | 0.0769 | 0.2051 | 0.1026 | 0.2051 |
| season | 0.60 | 152 | - | 589.000 | 160.000 | 37.000 | 3.000 | 22.000 | 102.000 | 103.000 | 89.000 | 168.000 | 0.2716 | 0.3671 | 0.4567 | 0.2717 | 0.0374 | 0.1732 | 0.1511 | 0.2852 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2020 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.8240 |
| predicted_AVG | 0.2525 |
| predicted_BB | 0.5400 |
| predicted_H | 0.9660 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.1850 |
| predicted_OBP | 0.3454 |
| predicted_R | 0.5590 |
| predicted_RBI | 0.5920 |
| predicted_SLG | 0.4564 |
| predicted_SO | 0.9350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2430 | 0.2020 | 0.2251 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0165 | model_form_blend |
| predicted_AB | 4.0500 | 3.8240 | 3.9511 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2525 | 0.2410 | model_form_blend |
| predicted_BB | 0.5860 | 0.5400 | 0.5659 | model_form_blend |
| predicted_H | 0.9400 | 0.9660 | 0.9514 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.2600 | 0.1850 | 0.2272 | model_form_blend |
| predicted_OBP | 0.3450 | 0.3454 | 0.3452 | model_form_blend |
| predicted_R | 0.6780 | 0.5590 | 0.6259 | model_form_blend |
| predicted_RBI | 0.6200 | 0.5920 | 0.6077 | model_form_blend |
| predicted_SLG | 0.5560 | 0.4564 | 0.5124 | model_form_blend |
| predicted_SO | 1.1050 | 0.9350 | 1.0306 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 656 |
| Season rows before report date | 656 |
| 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 | 5 |
| AB | 4 |
| H | 0 |
| 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 | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 668930 |
| playerID | 668930 |
| playerName | Brice Turang |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-11 |
| sl_k_percent | 25.1 |
| sl_bb_percent | 13.2 |
| sl_woba | 0.358 |
| sl_xwoba | 0.344 |
| sl_xba | 0.255 |
| sl_xslg | 0.428 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 41.6 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 8.8 |
| sl_whiff_percent | 23.1 |
| 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.185 | 0.000 | -0.185 | 0.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 4.540 | 3.000 | 3.000 | Hitting_AB | 3.984 | 3.000 | -0.984 | 0.000 |
| predicted_AVG | 0.244 | 0.333 | 0.333 | Hitting_AVG | 0.275 | 0.000 | 0.059 | 0.333 |
| predicted_BB | 0.420 | 1.000 | 1.000 | Hitting_BB | 0.440 | 1.000 | 0.560 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 1.110 | 1.000 | 1.000 | Hitting_H | 1.095 | 0.000 | -0.095 | 1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.131 | 0.000 | -0.131 | 0.000 |
| predicted_OBP | 0.351 | 0.500 | 0.500 | Hitting_OBP | 0.346 | 0.250 | 0.154 | 0.250 |
| predicted_R | 0.560 | 0.000 | 0.000 | Hitting_R | 0.609 | 0.000 | -0.609 | 0.000 |
| predicted_RBI | 0.630 | 0.000 | 0.000 | Hitting_RBI | 0.676 | 0.000 | -0.676 | 0.000 |
| predicted_SLG | 0.456 | 0.333 | 0.333 | Hitting_SLG | 0.424 | 0.000 | -0.090 | 0.333 |
| predicted_SO | 0.640 | 1.000 | 1.000 | Hitting_SO | 0.642 | 2.000 | 0.358 | -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.4200 -> 1.0000 (boost 0.5800, better) |
| Biggest Deboost | predicted_AB: 4.5400 -> 3.0000 (deboost -1.5400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2440 -> 0.2596 (boost 0.0156, better) | predicted_AB: 4.5400 -> 4.2165 (deboost -0.3235, worse) | Final model input calibrated with local 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.4603 -> 0.4321 (deboost -0.0282, 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_RBI: 0.6238 -> 1.0000 (boost 0.3762, better) | predicted_BB: 0.4421 -> 0.0000 (deboost -0.4421, worse) | AB rounded to 4 (raw=4.54), rates preserved: AVG=0.212 HR/AB=0.043 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5394 -> 1.0000 (boost 0.4606, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 0.3543 (boost 0.3543, better) | predicted_RBI: 1.0000 -> 0.5497 (deboost -0.4503, 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 | 10 | 3 | 7 | 2 | 8 | predicted_RBI: 0.5497 -> 1.0000 (boost 0.4503, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, 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 | 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 |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3480 -> 0.3630 (boost 0.0150, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "661388",
"player_name": "William Contreras",
"position": "C",
"team": "MIL",
"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.007,
"predicted_AB": 4.54,
"predicted_AVG": 0.244,
"predicted_BB": 0.42,
"predicted_H": 1.11,
"predicted_HR": 0.19,
"predicted_OBP": 0.351,
"predicted_R": 0.56,
"predicted_RBI": 0.63,
"predicted_SLG": 0.456,
"predicted_SO": 0.64
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1433,
"predicted_3B": 0.0057,
"predicted_AB": 4.2165,
"predicted_AVG": 0.2596,
"predicted_BB": 0.4392,
"predicted_H": 1.0895,
"predicted_HBP": 0.016,
"predicted_HR": 0.1935,
"predicted_OBP": 0.3531,
"predicted_R": 0.5395,
"predicted_RBI": 0.6239,
"predicted_SLG": 0.4603,
"predicted_SO": 0.6461
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.54,
"after": 4.2165,
"delta": -0.3235,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2596,
"delta": 0.0156,
"percent_delta": 0.0639,
"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_AVG",
"before": 0.244,
"after": 0.2596,
"delta": 0.0156,
"percent_delta": 0.0639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.54,
"after": 4.2165,
"delta": -0.3235,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1433,
"predicted_3B": 0.0057,
"predicted_AB": 4.2165,
"predicted_AVG": 0.258,
"predicted_BB": 0.4421,
"predicted_H": 1.088,
"predicted_HBP": 0.016,
"predicted_HR": 0.193,
"predicted_OBP": 0.3284,
"predicted_R": 0.5394,
"predicted_RBI": 0.6238,
"predicted_SLG": 0.4321,
"predicted_SO": 0.6418
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3531,
"after": 0.3284,
"delta": -0.0247,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4603,
"after": 0.4321,
"delta": -0.0282,
"percent_delta": -0.0613,
"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.4603,
"after": 0.4321,
"delta": -0.0282,
"percent_delta": -0.0613,
"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.54), rates preserved: AVG=0.212 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1433,
"after": 0.0,
"delta": -0.1433,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.2165,
"after": 4.0,
"delta": -0.2165,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4421,
"after": 0.0,
"delta": -0.4421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.088,
"after": 1.0,
"delta": -0.088,
"percent_delta": -0.0809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.193,
"after": 0.0,
"delta": -0.193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6238,
"after": 1.0,
"delta": 0.3762,
"percent_delta": 0.6031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6418,
"after": 1.0,
"delta": 0.3582,
"percent_delta": 0.5581,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6238,
"after": 1.0,
"delta": 0.3762,
"percent_delta": 0.6031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4421,
"after": 0.0,
"delta": -0.4421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.9077,
"bvp": 0.0923
}
},
{
"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.5394,
"after": 1.0,
"delta": 0.4606,
"percent_delta": 0.8539,
"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.5394,
"after": 1.0,
"delta": 0.4606,
"percent_delta": 0.8539,
"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.1497,
"predicted_3B": 0.0073,
"predicted_BB": 0.3543,
"predicted_H": 0.8167,
"predicted_HR": 0.1134,
"predicted_RBI": 0.5497,
"predicted_SO": 0.7352
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1497,
"delta": 0.1497,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3543,
"delta": 0.3543,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8167,
"delta": -0.1833,
"percent_delta": -0.1833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1134,
"delta": 0.1134,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5497,
"delta": -0.4503,
"percent_delta": -0.4503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7352,
"delta": -0.2648,
"percent_delta": -0.2648,
"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.3543,
"delta": 0.3543,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5497,
"delta": -0.4503,
"percent_delta": -0.4503,
"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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.288,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.348,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1497,
"after": 0.0,
"delta": -0.1497,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.215,
"delta": -0.043,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3543,
"after": 0.0,
"delta": -0.3543,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8167,
"after": 1.0,
"delta": 0.1833,
"percent_delta": 0.2244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1134,
"after": 0.0,
"delta": -0.1134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3284,
"after": 0.288,
"delta": -0.0404,
"percent_delta": -0.123,
"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.5497,
"after": 1.0,
"delta": 0.4503,
"percent_delta": 0.8192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4321,
"after": 0.348,
"delta": -0.0841,
"percent_delta": -0.1946,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7352,
"after": 1.0,
"delta": 0.2648,
"percent_delta": 0.3602,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5497,
"after": 1.0,
"delta": 0.4503,
"percent_delta": 0.8192,
"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": 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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.288,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.348,
"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": 3.0,
"predicted_BB": 1.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": 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": 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": 3.0,
"predicted_BB": 1.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": 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": 3.0,
"predicted_AVG": 0.228,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.302,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.363,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.228,
"delta": 0.013,
"percent_delta": 0.0605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.302,
"delta": 0.014,
"percent_delta": 0.0486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.363,
"delta": 0.015,
"percent_delta": 0.0431,
"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.348,
"after": 0.363,
"delta": 0.015,
"percent_delta": 0.0431,
"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.173,
"after": 0.0,
"delta": -0.173,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.54,
"after": 3.0,
"delta": -1.54,
"percent_delta": -0.3392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.228,
"delta": -0.016,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.42,
"after": 1.0,
"delta": 0.58,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 1.0,
"delta": -0.11,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.302,
"delta": -0.049,
"percent_delta": -0.1396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.363,
"delta": -0.093,
"percent_delta": -0.2039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.64,
"after": 1.0,
"delta": 0.36,
"percent_delta": 0.5625,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.42,
"after": 1.0,
"delta": 0.58,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.54,
"after": 3.0,
"delta": -1.54,
"percent_delta": -0.3392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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.007 | - |
| predicted_AB | 4.540 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.420 | - |
| predicted_H | 1.110 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.351 | - |
| predicted_R | 0.560 | - |
| predicted_RBI | 0.630 | - |
| predicted_SLG | 0.456 | - |
| predicted_SO | 0.640 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.143 | -0.030 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 4.216 | -0.324 |
| predicted_AVG | 0.260 | 0.016 |
| predicted_BB | 0.439 | 0.019 |
| predicted_H | 1.089 | -0.021 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.194 | 0.004 |
| predicted_OBP | 0.353 | 0.002 |
| predicted_R | 0.539 | -0.021 |
| predicted_RBI | 0.624 | -0.006 |
| predicted_SLG | 0.460 | 0.004 |
| predicted_SO | 0.646 | 0.006 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.143 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 4.216 | 0.000 |
| predicted_AVG | 0.258 | -0.002 |
| predicted_BB | 0.442 | 0.003 |
| predicted_H | 1.088 | -0.001 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.193 | -0.001 |
| predicted_OBP | 0.328 | -0.025 |
| predicted_R | 0.539 | -0.000 |
| predicted_RBI | 0.624 | -0.000 |
| predicted_SLG | 0.432 | -0.028 |
| predicted_SO | 0.642 | -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=4.54), rates preserved: AVG=0.212 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 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.150 | 0.150 |
| 3B | 0.007 | 0.007 |
| BB | 0.354 | 0.354 |
| H | 0.817 | -0.183 |
| HR | 0.113 | 0.113 |
| RBI | 0.550 | -0.450 |
| SO | 0.735 | -0.265 |
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.007 |
| AB | 4.000 | 0.000 |
| AVG | 0.215 | - |
| BB | 0.000 | -0.354 |
| H | 1.000 | 0.183 |
| HR | 0.000 | -0.113 |
| OBP | 0.288 | - |
| R | 0.000 | -1.000 |
| RBI | 1.000 | 0.450 |
| SLG | 0.348 | - |
| SO | 1.000 | 0.265 |
Player 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.006 |
| predicted_AB | 4.000 | -0.216 |
| predicted_AVG | 0.215 | -0.043 |
| predicted_BB | 0.000 | -0.442 |
| predicted_H | 1.000 | -0.088 |
| predicted_HR | 0.000 | -0.193 |
| predicted_OBP | 0.288 | -0.040 |
| predicted_R | 0.000 | -0.539 |
| predicted_RBI | 1.000 | 0.376 |
| predicted_SLG | 0.348 | -0.084 |
| predicted_SO | 1.000 | 0.358 |
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 | 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 | 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 | 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 | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 6.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 3.000 | 3.000 | 0.3158 | 0.4091 | 0.6316 | 0.3158 | 0.1053 | 0.1053 | 0.1579 | 0.1579 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 0.000 | 0.000 | 2.000 | 8.000 | 3.000 | 5.000 | 7.000 | 0.2778 | 0.3571 | 0.4444 | 0.2778 | 0.0556 | 0.2222 | 0.1389 | 0.1944 |
| season | 0.60 | 150 | - | 580.000 | 157.000 | 26.000 | 1.000 | 20.000 | 95.000 | 84.000 | 63.000 | 96.000 | 0.2707 | 0.3415 | 0.4224 | 0.2707 | 0.0345 | 0.1638 | 0.1086 | 0.1655 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1050 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.8000 |
| predicted_AVG | 0.2797 |
| predicted_BB | 0.4640 |
| predicted_H | 1.0630 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.1980 |
| predicted_OBP | 0.3558 |
| predicted_R | 0.5130 |
| predicted_RBI | 0.6160 |
| predicted_SLG | 0.4659 |
| predicted_SO | 0.6540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1730 | 0.1050 | 0.1433 | model_form_blend |
| predicted_3B | 0.0070 | 0.0040 | 0.0057 | model_form_blend |
| predicted_AB | 4.5400 | 3.8000 | 4.2165 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2797 | 0.2596 | model_form_blend |
| predicted_BB | 0.4200 | 0.4640 | 0.4392 | model_form_blend |
| predicted_H | 1.1100 | 1.0630 | 1.0895 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1900 | 0.1980 | 0.1935 | model_form_blend |
| predicted_OBP | 0.3510 | 0.3558 | 0.3531 | model_form_blend |
| predicted_R | 0.5600 | 0.5130 | 0.5395 | model_form_blend |
| predicted_RBI | 0.6300 | 0.6160 | 0.6239 | model_form_blend |
| predicted_SLG | 0.4560 | 0.4659 | 0.4603 | model_form_blend |
| predicted_SO | 0.6400 | 0.6540 | 0.6461 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 612 |
| Season rows before report date | 612 |
| 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 | 3 |
| H | 1 |
| 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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 1 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | C |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 661388 |
| playerID | 661388 |
| playerName | William Contreras |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-11 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.33 |
| sl_xwoba | 0.334 |
| sl_xba | 0.261 |
| sl_xslg | 0.441 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 44.1 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 13.2 |
| sl_whiff_percent | 20.7 |
| sl_swing_percent | 47.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.140 | 0.000 | 0.000 | Hitting_2B | 0.141 | 0.000 | -0.141 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.378 | 3.000 | 3.000 | Hitting_AB | 3.505 | 3.000 | -0.505 | 0.000 |
| predicted_AVG | 0.315 | 0.333 | 0.333 | Hitting_AVG | 0.269 | 0.333 | 0.064 | 0.000 |
| predicted_BB | 0.657 | 0.000 | 0.000 | Hitting_BB | 0.741 | 1.000 | -0.741 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 1.000 | -0.036 | -1.000 |
| predicted_H | 0.920 | 1.000 | 1.000 | Hitting_H | 0.944 | 1.000 | 0.056 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.201 | 0.000 | -0.201 | 0.000 |
| predicted_OBP | 0.405 | 0.500 | 0.500 | Hitting_OBP | 0.399 | 0.500 | 0.101 | 0.000 |
| predicted_R | 0.643 | 0.000 | 0.000 | Hitting_R | 0.701 | 0.000 | -0.701 | 0.000 |
| predicted_RBI | 0.380 | 1.000 | 1.000 | Hitting_RBI | 0.663 | 0.000 | 0.337 | 1.000 |
| predicted_SLG | 0.432 | 0.333 | 0.333 | Hitting_SLG | 0.491 | 0.333 | -0.158 | 0.000 |
| predicted_SO | 1.133 | 1.000 | 1.000 | Hitting_SO | 1.127 | 2.000 | -0.127 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 9 |
| Better Metrics | 4 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_HBP: 0.0820 -> 1.0000 (boost 0.9180, better) |
| Biggest Deboost | predicted_BB: 0.6570 -> 0.0000 (deboost -0.6570, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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: 1.1330 -> 1.2254 (boost 0.0924, worse) | predicted_R: 0.6430 -> 0.5811 (deboost -0.0619, worse) | Final model input calibrated with local 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.2900 -> 0.2656 (deboost -0.0244, 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 | 3 | 5 | 4 | 4 | predicted_AB: 3.3658 -> 4.0000 (boost 0.6342, better) | predicted_RBI: 0.3922 -> 0.0000 (deboost -0.3922, worse) | AB rounded to 4 (raw=3.38), rates preserved: AVG=0.234 HR/AB=0.030 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5810 -> 1.0000 (boost 0.4190, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_RBI: 0.0000 -> 0.5064 (boost 0.5064, better) | predicted_BB: 1.0000 -> 0.5635 (deboost -0.4365, 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_RBI: 0.5064 -> 1.0000 (boost 0.4936, better) | predicted_SO: 1.2496 -> 1.0000 (deboost -0.2496, 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 | 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 | 1 | 3 | 1 | 3 | predicted_HBP: 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 |
| 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.3240 -> 0.2930 (deboost -0.0310, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "1B",
"team": "MIL",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.14,
"predicted_3B": 0.014,
"predicted_AB": 3.378,
"predicted_AVG": 0.315,
"predicted_BB": 0.657,
"predicted_H": 0.92,
"predicted_HR": 0.1,
"predicted_OBP": 0.405,
"predicted_R": 0.643,
"predicted_RBI": 0.38,
"predicted_SLG": 0.432,
"predicted_SO": 1.133
},
"changed_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.1247,
"predicted_3B": 0.0118,
"predicted_AB": 3.3658,
"predicted_AVG": 0.29,
"predicted_BB": 0.6779,
"predicted_H": 0.8952,
"predicted_HBP": 0.082,
"predicted_HR": 0.1022,
"predicted_OBP": 0.3999,
"predicted_R": 0.5811,
"predicted_RBI": 0.3922,
"predicted_SLG": 0.4127,
"predicted_SO": 1.2254
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.315,
"after": 0.29,
"delta": -0.025,
"percent_delta": -0.0794,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.405,
"after": 0.3999,
"delta": -0.0051,
"percent_delta": -0.0126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.643,
"after": 0.5811,
"delta": -0.0619,
"percent_delta": -0.0963,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.4127,
"delta": -0.0193,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.133,
"after": 1.2254,
"delta": 0.0924,
"percent_delta": 0.0816,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.133,
"after": 1.2254,
"delta": 0.0924,
"percent_delta": 0.0816,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.643,
"after": 0.5811,
"delta": -0.0619,
"percent_delta": -0.0963,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 143
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1247,
"predicted_3B": 0.0118,
"predicted_AB": 3.3658,
"predicted_AVG": 0.2656,
"predicted_BB": 0.6824,
"predicted_H": 0.8939,
"predicted_HBP": 0.082,
"predicted_HR": 0.102,
"predicted_OBP": 0.3894,
"predicted_R": 0.581,
"predicted_RBI": 0.3922,
"predicted_SLG": 0.4005,
"predicted_SO": 1.2173
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.2656,
"delta": -0.0244,
"percent_delta": -0.0841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3999,
"after": 0.3894,
"delta": -0.0105,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4127,
"after": 0.4005,
"delta": -0.0122,
"percent_delta": -0.0296,
"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.29,
"after": 0.2656,
"delta": -0.0244,
"percent_delta": -0.0841,
"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.38), rates preserved: AVG=0.234 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1247,
"after": 0.0,
"delta": -0.1247,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.3658,
"after": 4.0,
"delta": 0.6342,
"percent_delta": 0.1884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6824,
"after": 1.0,
"delta": 0.3176,
"percent_delta": 0.4654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8939,
"after": 1.0,
"delta": 0.1061,
"percent_delta": 0.1187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.082,
"after": 0.0,
"delta": -0.082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.102,
"after": 0.0,
"delta": -0.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3922,
"after": 0.0,
"delta": -0.3922,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2173,
"after": 1.0,
"delta": -0.2173,
"percent_delta": -0.1785,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.3658,
"after": 4.0,
"delta": 0.6342,
"percent_delta": 0.1884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3922,
"after": 0.0,
"delta": -0.3922,
"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.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"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": 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.581,
"after": 1.0,
"delta": 0.419,
"percent_delta": 0.7212,
"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.581,
"after": 1.0,
"delta": 0.419,
"percent_delta": 0.7212,
"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.1432,
"predicted_3B": 0.0094,
"predicted_BB": 0.5635,
"predicted_H": 0.7619,
"predicted_HR": 0.1397,
"predicted_RBI": 0.5064,
"predicted_SO": 1.2496
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1432,
"delta": 0.1432,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5635,
"delta": -0.4365,
"percent_delta": -0.4365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7619,
"delta": -0.2381,
"percent_delta": -0.2381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1397,
"delta": 0.1397,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5064,
"delta": 0.5064,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.2496,
"delta": 0.2496,
"percent_delta": 0.2496,
"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.5064,
"delta": 0.5064,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5635,
"delta": -0.4365,
"percent_delta": -0.4365,
"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.212,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.324,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.374,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1432,
"after": 0.0,
"delta": -0.1432,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2656,
"after": 0.212,
"delta": -0.0536,
"percent_delta": -0.2018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5635,
"after": 1.0,
"delta": 0.4365,
"percent_delta": 0.7746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7619,
"after": 1.0,
"delta": 0.2381,
"percent_delta": 0.3125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1397,
"after": 0.0,
"delta": -0.1397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3894,
"after": 0.324,
"delta": -0.0654,
"percent_delta": -0.168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5064,
"after": 1.0,
"delta": 0.4936,
"percent_delta": 0.9747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4005,
"after": 0.374,
"delta": -0.0265,
"percent_delta": -0.0662,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2496,
"after": 1.0,
"delta": -0.2496,
"percent_delta": -0.1997,
"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.5064,
"after": 1.0,
"delta": 0.4936,
"percent_delta": 0.9747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.2496,
"after": 1.0,
"delta": -0.2496,
"percent_delta": -0.1997,
"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.212,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.324,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.374,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"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": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.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": 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": 3.0,
"predicted_AVG": 0.188,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.293,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.35,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.188,
"delta": -0.024,
"percent_delta": -0.1132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.293,
"delta": -0.031,
"percent_delta": -0.0957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.35,
"delta": -0.024,
"percent_delta": -0.0642,
"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.324,
"after": 0.293,
"delta": -0.031,
"percent_delta": -0.0957,
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.378,
"after": 3.0,
"delta": -0.378,
"percent_delta": -0.1119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.315,
"after": 0.188,
"delta": -0.127,
"percent_delta": -0.4032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.657,
"after": 0.0,
"delta": -0.657,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 1.0,
"delta": 0.08,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.082,
"after": 1.0,
"delta": 0.918,
"percent_delta": 11.1951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.405,
"after": 0.293,
"delta": -0.112,
"percent_delta": -0.2765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.643,
"after": 0.0,
"delta": -0.643,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 1.0,
"delta": 0.62,
"percent_delta": 1.6316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.35,
"delta": -0.082,
"percent_delta": -0.1898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.133,
"after": 1.0,
"delta": -0.133,
"percent_delta": -0.1174,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 3,
"deboosted_metrics": 9,
"better_metrics": 4,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.082,
"after": 1.0,
"delta": 0.918,
"percent_delta": 11.1951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.657,
"after": 0.0,
"delta": -0.657,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.378 | - |
| predicted_AVG | 0.315 | - |
| predicted_BB | 0.657 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.405 | - |
| predicted_R | 0.643 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.432 | - |
| predicted_SO | 1.133 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | -0.015 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 3.366 | -0.012 |
| predicted_AVG | 0.290 | -0.025 |
| predicted_BB | 0.678 | 0.021 |
| predicted_H | 0.895 | -0.025 |
| predicted_HBP | 0.082 | - |
| predicted_HR | 0.102 | 0.002 |
| predicted_OBP | 0.400 | -0.005 |
| predicted_R | 0.581 | -0.062 |
| predicted_RBI | 0.392 | 0.012 |
| predicted_SLG | 0.413 | -0.019 |
| predicted_SO | 1.225 | 0.092 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 3.366 | 0.000 |
| predicted_AVG | 0.266 | -0.024 |
| predicted_BB | 0.682 | 0.005 |
| predicted_H | 0.894 | -0.001 |
| predicted_HBP | 0.082 | 0.000 |
| predicted_HR | 0.102 | -0.000 |
| predicted_OBP | 0.389 | -0.010 |
| predicted_R | 0.581 | -0.000 |
| predicted_RBI | 0.392 | 0.000 |
| predicted_SLG | 0.401 | -0.012 |
| predicted_SO | 1.217 | -0.008 |
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.38), rates preserved: AVG=0.234 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.143 | 0.143 |
| 3B | 0.009 | 0.009 |
| BB | 0.564 | -0.436 |
| H | 0.762 | -0.238 |
| HR | 0.140 | 0.140 |
| RBI | 0.506 | 0.506 |
| SO | 1.250 | 0.250 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.143 |
| 3B | 0.000 | -0.009 |
| AB | 4.000 | 0.000 |
| AVG | 0.212 | - |
| BB | 1.000 | 0.436 |
| H | 1.000 | 0.238 |
| HR | 0.000 | -0.140 |
| OBP | 0.324 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.494 |
| SLG | 0.374 | - |
| SO | 1.000 | -0.250 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.125 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | 0.634 |
| predicted_AVG | 0.212 | -0.054 |
| predicted_BB | 1.000 | 0.318 |
| predicted_H | 1.000 | 0.106 |
| predicted_HR | 0.000 | -0.102 |
| predicted_OBP | 0.324 | -0.065 |
| predicted_R | 1.000 | 0.419 |
| predicted_RBI | 1.000 | 0.608 |
| predicted_SLG | 0.374 | -0.027 |
| predicted_SO | 1.000 | -0.217 |
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 | 0.000 | -1.000 |
| H | 1.000 | 0.000 |
| HBP | 1.000 | 1.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 | 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 | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 1.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 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 8.000 | 0.2667 | 0.4762 | 0.2667 | 0.2667 | 0.0000 | 0.0000 | 0.3333 | 0.5333 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 1.000 | 0.000 | 0.000 | 3.000 | 4.000 | 6.000 | 18.000 | 0.2286 | 0.3488 | 0.2571 | 0.2286 | 0.0000 | 0.0857 | 0.1714 | 0.5143 |
| season | 0.60 | 143 | - | 483.000 | 128.000 | 20.000 | 2.000 | 25.000 | 84.000 | 92.000 | 94.000 | 162.000 | 0.2650 | 0.3880 | 0.4700 | 0.2650 | 0.0518 | 0.1739 | 0.1946 | 0.3354 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1050 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.3500 |
| predicted_AVG | 0.2576 |
| predicted_BB | 0.7050 |
| predicted_H | 0.8630 |
| predicted_HBP | 0.0820 |
| predicted_HR | 0.1050 |
| predicted_OBP | 0.3933 |
| predicted_R | 0.5010 |
| predicted_RBI | 0.4080 |
| predicted_SLG | 0.3877 |
| predicted_SO | 1.3450 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1400 | 0.1050 | 0.1247 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0118 | model_form_blend |
| predicted_AB | 3.3780 | 3.3500 | 3.3658 | model_form_blend |
| predicted_AVG | 0.3150 | 0.2576 | 0.2900 | model_form_blend |
| predicted_BB | 0.6570 | 0.7050 | 0.6779 | model_form_blend |
| predicted_H | 0.9200 | 0.8630 | 0.8952 | model_form_blend |
| predicted_HBP | - | 0.0820 | 0.0820 | form_only |
| predicted_HR | 0.1000 | 0.1050 | 0.1022 | model_form_blend |
| predicted_OBP | 0.4050 | 0.3933 | 0.3999 | model_form_blend |
| predicted_R | 0.6430 | 0.5010 | 0.5811 | model_form_blend |
| predicted_RBI | 0.3800 | 0.4080 | 0.3922 | model_form_blend |
| predicted_SLG | 0.4320 | 0.3877 | 0.4127 | model_form_blend |
| predicted_SO | 1.1330 | 1.3450 | 1.2254 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 552 |
| Season rows before report date | 552 |
| Report year | 2026 |
| Profile rows used | 143 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 1 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 641343 |
| playerID | 641343 |
| playerName | Jake Bauers |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-11 |
| sl_k_percent | 27.0 |
| sl_bb_percent | 16.3 |
| sl_woba | 0.381 |
| sl_xwoba | 0.371 |
| sl_xba | 0.253 |
| sl_xslg | 0.467 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 14.0 |
| sl_hard_hit_percent | 51.9 |
| sl_exit_velocity_avg | 92.1 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 29.8 |
| sl_swing_percent | 40.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.186 | 0.000 | 0.000 | Hitting_2B | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 4.280 | 4.000 | 4.000 | Hitting_AB | 3.973 | 4.000 | 0.027 | 0.000 |
| predicted_AVG | 0.246 | 0.000 | 0.000 | Hitting_AVG | 0.239 | 0.250 | -0.239 | -0.250 |
| predicted_BB | 0.432 | 0.000 | 0.000 | Hitting_BB | 0.458 | 0.000 | -0.458 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_H | 1.050 | 0.000 | 0.000 | Hitting_H | 0.948 | 1.000 | -0.948 | -1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.104 | 0.000 | -0.104 | 0.000 |
| predicted_OBP | 0.348 | 0.000 | 0.000 | Hitting_OBP | 0.323 | 0.400 | -0.323 | -0.400 |
| predicted_R | 0.585 | 0.000 | 0.000 | Hitting_R | 0.635 | 0.000 | -0.635 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 0.000 | Hitting_RBI | 0.525 | 0.000 | -0.525 | 0.000 |
| predicted_SLG | 0.366 | 0.000 | 0.000 | Hitting_SLG | 0.378 | 0.250 | -0.378 | -0.250 |
| predicted_SO | 1.127 | 0.000 | 0.000 | Hitting_SO | 1.181 | 1.000 | -1.181 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 12 |
| Better Metrics | 1 |
| Worse Metrics | 11 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.1270 -> 0.0000 (deboost -1.1270, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.2800 -> 3.9991 (deboost -0.2809, worse) | Final model input calibrated with local 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.3470 -> 0.3224 (deboost -0.0246, 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 | 0 | 6 | 1 | 5 | - | predicted_RBI: 0.4662 -> 0.0000 (deboost -0.4662, worse) | AB rounded to 4 (raw=4.28), rates preserved: AVG=0.205 HR/AB=0.023 |
| 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 | 1 | 0 | 1 | 0 | predicted_R: 0.5606 -> 1.0000 (boost 0.4394, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.4433 (boost 0.4433, better) | predicted_H: 1.0000 -> 0.7202 (deboost -0.2798, 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.7202 -> 1.0000 (boost 0.2798, better) | predicted_RBI: 0.4433 -> 0.0000 (deboost -0.4433, 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 | 0 | 3 | 1 | 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 |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2770 -> 0.2980 (boost 0.0210, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "592885",
"player_name": "Christian Yelich",
"position": "DH",
"team": "MIL",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.186,
"predicted_3B": 0.017,
"predicted_AB": 4.28,
"predicted_AVG": 0.246,
"predicted_BB": 0.432,
"predicted_H": 1.05,
"predicted_HR": 0.11,
"predicted_OBP": 0.348,
"predicted_R": 0.585,
"predicted_RBI": 0.49,
"predicted_SLG": 0.366,
"predicted_SO": 1.127
},
"changed_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.1795,
"predicted_3B": 0.014,
"predicted_AB": 3.9991,
"predicted_AVG": 0.2499,
"predicted_BB": 0.432,
"predicted_H": 0.9962,
"predicted_HBP": 0.084,
"predicted_HR": 0.0987,
"predicted_OBP": 0.347,
"predicted_R": 0.5607,
"predicted_RBI": 0.4662,
"predicted_SLG": 0.3707,
"predicted_SO": 1.0923
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.28,
"after": 3.9991,
"delta": -0.2809,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.9962,
"delta": -0.0538,
"percent_delta": -0.0512,
"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_AB",
"before": 4.28,
"after": 3.9991,
"delta": -0.2809,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1795,
"predicted_3B": 0.014,
"predicted_AB": 3.9991,
"predicted_AVG": 0.2488,
"predicted_BB": 0.4349,
"predicted_H": 0.9948,
"predicted_HBP": 0.084,
"predicted_HR": 0.0985,
"predicted_OBP": 0.3224,
"predicted_R": 0.5606,
"predicted_RBI": 0.4662,
"predicted_SLG": 0.3745,
"predicted_SO": 1.0851
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3224,
"delta": -0.0246,
"percent_delta": -0.0709,
"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.347,
"after": 0.3224,
"delta": -0.0246,
"percent_delta": -0.0709,
"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.28), rates preserved: AVG=0.205 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1795,
"after": 0.0,
"delta": -0.1795,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4349,
"after": 0.0,
"delta": -0.4349,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.084,
"after": 0.0,
"delta": -0.084,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0985,
"after": 0.0,
"delta": -0.0985,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4662,
"after": 0.0,
"delta": -0.4662,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0851,
"after": 1.0,
"delta": -0.0851,
"percent_delta": -0.0784,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4662,
"after": 0.0,
"delta": -0.4662,
"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": 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.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": 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.5606,
"after": 1.0,
"delta": 0.4394,
"percent_delta": 0.7838,
"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.5606,
"after": 1.0,
"delta": 0.4394,
"percent_delta": 0.7838,
"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.1606,
"predicted_3B": 0.0102,
"predicted_BB": 0.388,
"predicted_H": 0.7202,
"predicted_HR": 0.0965,
"predicted_RBI": 0.4433,
"predicted_SO": 1.2649
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1606,
"delta": 0.1606,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.388,
"delta": 0.388,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7202,
"delta": -0.2798,
"percent_delta": -0.2798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0965,
"delta": 0.0965,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4433,
"delta": 0.4433,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.2649,
"delta": 0.2649,
"percent_delta": 0.2649,
"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.4433,
"delta": 0.4433,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7202,
"delta": -0.2798,
"percent_delta": -0.2798,
"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.195,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.277,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.323,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1606,
"after": 0.0,
"delta": -0.1606,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2488,
"after": 0.195,
"delta": -0.0538,
"percent_delta": -0.2162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 0.0,
"delta": -0.388,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7202,
"after": 1.0,
"delta": 0.2798,
"percent_delta": 0.3885,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0965,
"after": 0.0,
"delta": -0.0965,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3224,
"after": 0.277,
"delta": -0.0454,
"percent_delta": -0.1408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4433,
"after": 0.0,
"delta": -0.4433,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3745,
"after": 0.323,
"delta": -0.0515,
"percent_delta": -0.1375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2649,
"after": 1.0,
"delta": -0.2649,
"percent_delta": -0.2094,
"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.7202,
"after": 1.0,
"delta": 0.2798,
"percent_delta": 0.3885,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4433,
"after": 0.0,
"delta": -0.4433,
"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.195,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.277,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.323,
"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_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_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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.214,
"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.298,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.34,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.195,
"after": 0.214,
"delta": 0.019,
"percent_delta": 0.0974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.298,
"delta": 0.021,
"percent_delta": 0.0758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.34,
"delta": 0.017,
"percent_delta": 0.0526,
"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.277,
"after": 0.298,
"delta": 0.021,
"percent_delta": 0.0758,
"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.186,
"after": 0.0,
"delta": -0.186,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.28,
"after": 4.0,
"delta": -0.28,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.214,
"delta": -0.032,
"percent_delta": -0.1301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.432,
"after": 0.0,
"delta": -0.432,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.084,
"after": 0.0,
"delta": -0.084,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.298,
"delta": -0.05,
"percent_delta": -0.1437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.585,
"after": 0.0,
"delta": -0.585,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.34,
"delta": -0.026,
"percent_delta": -0.071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.127,
"after": 0.0,
"delta": -1.127,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 0,
"deboosted_metrics": 12,
"better_metrics": 1,
"worse_metrics": 11,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.127,
"after": 0.0,
"delta": -1.127,
"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.186 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 4.280 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.432 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.348 | - |
| predicted_R | 0.585 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.366 | - |
| predicted_SO | 1.127 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.007 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.999 | -0.281 |
| predicted_AVG | 0.250 | 0.004 |
| predicted_BB | 0.432 | 0.000 |
| predicted_H | 0.996 | -0.054 |
| predicted_HBP | 0.084 | - |
| predicted_HR | 0.099 | -0.011 |
| predicted_OBP | 0.347 | -0.001 |
| predicted_R | 0.561 | -0.024 |
| predicted_RBI | 0.466 | -0.024 |
| predicted_SLG | 0.371 | 0.005 |
| predicted_SO | 1.092 | -0.035 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.999 | 0.000 |
| predicted_AVG | 0.249 | -0.001 |
| predicted_BB | 0.435 | 0.003 |
| predicted_H | 0.995 | -0.001 |
| predicted_HBP | 0.084 | 0.000 |
| predicted_HR | 0.099 | -0.000 |
| predicted_OBP | 0.322 | -0.025 |
| predicted_R | 0.561 | -0.000 |
| predicted_RBI | 0.466 | 0.000 |
| predicted_SLG | 0.374 | 0.004 |
| predicted_SO | 1.085 | -0.007 |
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.28), rates preserved: AVG=0.205 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.161 | 0.161 |
| 3B | 0.010 | 0.010 |
| BB | 0.388 | 0.388 |
| H | 0.720 | -0.280 |
| HR | 0.097 | 0.097 |
| RBI | 0.443 | 0.443 |
| SO | 1.265 | 0.265 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.161 |
| 3B | 0.000 | -0.010 |
| AB | 4.000 | 0.000 |
| AVG | 0.195 | - |
| BB | 0.000 | -0.388 |
| H | 1.000 | 0.280 |
| HR | 0.000 | -0.097 |
| OBP | 0.277 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.443 |
| SLG | 0.323 | - |
| SO | 1.000 | -0.265 |
Player 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.014 |
| predicted_AB | 4.000 | 0.001 |
| predicted_AVG | 0.195 | -0.054 |
| predicted_BB | 0.000 | -0.435 |
| predicted_H | 1.000 | 0.005 |
| predicted_HR | 0.000 | -0.099 |
| predicted_OBP | 0.277 | -0.045 |
| predicted_R | 1.000 | 0.439 |
| predicted_RBI | 0.000 | -0.466 |
| predicted_SLG | 0.323 | -0.051 |
| predicted_SO | 1.000 | -0.085 |
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 | 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 | 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 | - | 18.000 | 6.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 4.000 | 0.3333 | 0.4286 | 0.3889 | 0.3333 | 0.0000 | 0.1111 | 0.1111 | 0.2222 |
| last_10 | 0.20 | 10 | - | 33.000 | 8.000 | 1.000 | 0.000 | 1.000 | 3.000 | 5.000 | 5.000 | 11.000 | 0.2424 | 0.3590 | 0.3636 | 0.2424 | 0.0303 | 0.0909 | 0.1515 | 0.3333 |
| season | 0.60 | 118 | - | 441.000 | 103.000 | 22.000 | 2.000 | 12.000 | 58.000 | 69.000 | 51.000 | 133.000 | 0.2336 | 0.3174 | 0.3741 | 0.2336 | 0.0272 | 0.1315 | 0.1157 | 0.3016 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1710 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.6320 |
| predicted_AVG | 0.2549 |
| predicted_BB | 0.4320 |
| predicted_H | 0.9260 |
| predicted_HBP | 0.0840 |
| predicted_HR | 0.0840 |
| predicted_OBP | 0.3456 |
| predicted_R | 0.5290 |
| predicted_RBI | 0.4350 |
| predicted_SLG | 0.3768 |
| predicted_SO | 1.0470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.1710 | 0.1795 | model_form_blend |
| predicted_3B | 0.0170 | 0.0100 | 0.0140 | model_form_blend |
| predicted_AB | 4.2800 | 3.6320 | 3.9991 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2549 | 0.2499 | model_form_blend |
| predicted_BB | 0.4320 | 0.4320 | 0.4320 | model_form_blend |
| predicted_H | 1.0500 | 0.9260 | 0.9962 | model_form_blend |
| predicted_HBP | - | 0.0840 | 0.0840 | form_only |
| predicted_HR | 0.1100 | 0.0840 | 0.0987 | model_form_blend |
| predicted_OBP | 0.3480 | 0.3456 | 0.3470 | model_form_blend |
| predicted_R | 0.5850 | 0.5290 | 0.5607 | model_form_blend |
| predicted_RBI | 0.4900 | 0.4350 | 0.4662 | model_form_blend |
| predicted_SLG | 0.3660 | 0.3768 | 0.3707 | model_form_blend |
| predicted_SO | 1.1270 | 1.0470 | 1.0923 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 480 |
| Season rows before report date | 480 |
| Report year | 2026 |
| Profile rows used | 118 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| 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.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20261007_MIL@SD |
| game_type | full |
| mlbID | 592885 |
| playerID | 592885 |
| playerName | Christian Yelich |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-07 |
| sl_k_percent | 27.0 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.305 |
| sl_xwoba | 0.308 |
| sl_xba | 0.23 |
| sl_xslg | 0.385 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 42.9 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 4.0 |
| sl_whiff_percent | 29.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.197 | 0.000 | 0.000 | Hitting_2B | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_3B | 0.035 | 0.000 | 0.000 | Hitting_3B | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_AB | 4.140 | 4.000 | 4.000 | Hitting_AB | 3.540 | 3.000 | 0.460 | 1.000 |
| predicted_AVG | 0.232 | 0.000 | 0.000 | Hitting_AVG | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_BB | 0.401 | 0.000 | 0.000 | Hitting_BB | 0.430 | 1.000 | -0.430 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_H | 0.960 | 0.000 | 0.000 | Hitting_H | 0.966 | 0.000 | -0.966 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_OBP | 0.311 | 0.000 | 0.000 | Hitting_OBP | 0.357 | 0.250 | -0.357 | -0.250 |
| predicted_R | 0.528 | 0.000 | 0.000 | Hitting_R | 0.584 | 1.000 | -0.584 | -1.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.525 | 0.000 | -0.525 | 0.000 |
| predicted_SLG | 0.375 | 0.000 | 0.000 | Hitting_SLG | 0.428 | 0.000 | -0.428 | 0.000 |
| predicted_SO | 1.190 | 2.000 | 2.000 | Hitting_SO | 1.181 | 1.000 | 0.819 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 1.1900 -> 2.0000 (boost 0.8100, worse) |
| Biggest Deboost | predicted_H: 0.9600 -> 0.0000 (deboost -0.9600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.1400 -> 3.8268 (deboost -0.3132, worse) | Final model input calibrated with local 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.3157 -> 0.3068 (deboost -0.0089, 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_AB: 3.8268 -> 4.0000 (boost 0.1732, better) | predicted_BB: 0.4010 -> 0.0000 (deboost -0.4010, worse) | AB rounded to 4 (raw=4.14), rates preserved: AVG=0.191 HR/AB=0.017 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5709 -> 1.0000 (boost 0.4291, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_SO: 1.0000 -> 1.5044 (boost 0.5044, worse) | predicted_H: 1.0000 -> 0.7522 (deboost -0.2478, 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 | 2 | 7 | predicted_BB: 0.3896 -> 1.0000 (boost 0.6104, better) | predicted_RBI: 0.4175 -> 0.0000 (deboost -0.4175, 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 | 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 |
| 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.2960 -> 0.2710 (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": "669003",
"player_name": "Garrett Mitchell",
"position": "CF",
"team": "MIL",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.197,
"predicted_3B": 0.035,
"predicted_AB": 4.14,
"predicted_AVG": 0.232,
"predicted_BB": 0.401,
"predicted_H": 0.96,
"predicted_HR": 0.09,
"predicted_OBP": 0.311,
"predicted_R": 0.528,
"predicted_RBI": 0.38,
"predicted_SLG": 0.375,
"predicted_SO": 1.19
},
"changed_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.1657,
"predicted_3B": 0.0528,
"predicted_AB": 3.8268,
"predicted_AVG": 0.235,
"predicted_BB": 0.3984,
"predicted_H": 0.8974,
"predicted_HBP": 0.026,
"predicted_HR": 0.0718,
"predicted_OBP": 0.3157,
"predicted_R": 0.571,
"predicted_RBI": 0.3548,
"predicted_SLG": 0.3692,
"predicted_SO": 1.2091
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.14,
"after": 3.8268,
"delta": -0.3132,
"percent_delta": -0.0757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.8974,
"delta": -0.0626,
"percent_delta": -0.0652,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.3692,
"delta": -0.0058,
"percent_delta": -0.0155,
"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_AB",
"before": 4.14,
"after": 3.8268,
"delta": -0.3132,
"percent_delta": -0.0757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 142
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1657,
"predicted_3B": 0.0528,
"predicted_AB": 3.8268,
"predicted_AVG": 0.2342,
"predicted_BB": 0.401,
"predicted_H": 0.8961,
"predicted_HBP": 0.026,
"predicted_HR": 0.0716,
"predicted_OBP": 0.3068,
"predicted_R": 0.5709,
"predicted_RBI": 0.3548,
"predicted_SLG": 0.3612,
"predicted_SO": 1.2011
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3157,
"after": 0.3068,
"delta": -0.0089,
"percent_delta": -0.0282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3692,
"after": 0.3612,
"delta": -0.008,
"percent_delta": -0.0217,
"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.3157,
"after": 0.3068,
"delta": -0.0089,
"percent_delta": -0.0282,
"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.14), rates preserved: AVG=0.191 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1657,
"after": 0.0,
"delta": -0.1657,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0528,
"after": 0.0,
"delta": -0.0528,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.8268,
"after": 4.0,
"delta": 0.1732,
"percent_delta": 0.0453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.401,
"after": 0.0,
"delta": -0.401,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8961,
"after": 1.0,
"delta": 0.1039,
"percent_delta": 0.1159,
"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.3548,
"after": 0.0,
"delta": -0.3548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2011,
"after": 1.0,
"delta": -0.2011,
"percent_delta": -0.1674,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.8268,
"after": 4.0,
"delta": 0.1732,
"percent_delta": 0.0453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.401,
"after": 0.0,
"delta": -0.401,
"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": 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.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": 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.5709,
"after": 1.0,
"delta": 0.4291,
"percent_delta": 0.7516,
"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.5709,
"after": 1.0,
"delta": 0.4291,
"percent_delta": 0.7516,
"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.1671,
"predicted_3B": 0.0151,
"predicted_BB": 0.3896,
"predicted_H": 0.7522,
"predicted_HR": 0.0809,
"predicted_RBI": 0.4175,
"predicted_SO": 1.5044
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1671,
"delta": 0.1671,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3896,
"delta": 0.3896,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7522,
"delta": -0.2478,
"percent_delta": -0.2478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0809,
"delta": 0.0809,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4175,
"delta": 0.4175,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.5044,
"delta": 0.5044,
"percent_delta": 0.5044,
"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_SO",
"before": 1.0,
"after": 1.5044,
"delta": 0.5044,
"percent_delta": 0.5044,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7522,
"delta": -0.2478,
"percent_delta": -0.2478,
"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.212,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.296,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.336,
"predicted_SO": 2.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_AVG",
"before": 0.2342,
"after": 0.212,
"delta": -0.0222,
"percent_delta": -0.0948,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3896,
"after": 1.0,
"delta": 0.6104,
"percent_delta": 1.5667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7522,
"after": 1.0,
"delta": 0.2478,
"percent_delta": 0.3294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0809,
"after": 0.0,
"delta": -0.0809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3068,
"after": 0.296,
"delta": -0.0108,
"percent_delta": -0.0352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4175,
"after": 0.0,
"delta": -0.4175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3612,
"after": 0.336,
"delta": -0.0252,
"percent_delta": -0.0698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5044,
"after": 2.0,
"delta": 0.4956,
"percent_delta": 0.3294,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.3896,
"after": 1.0,
"delta": 0.6104,
"percent_delta": 1.5667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4175,
"after": 0.0,
"delta": -0.4175,
"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.212,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.296,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.336,
"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": 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_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": 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": 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.189,
"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.271,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.312,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.189,
"delta": -0.023,
"percent_delta": -0.1085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.271,
"delta": -0.025,
"percent_delta": -0.0845,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.312,
"delta": -0.024,
"percent_delta": -0.0714,
"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.296,
"after": 0.271,
"delta": -0.025,
"percent_delta": -0.0845,
"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.197,
"after": 0.0,
"delta": -0.197,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0,
"delta": -0.14,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.189,
"delta": -0.043,
"percent_delta": -0.1853,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.401,
"after": 0.0,
"delta": -0.401,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.271,
"delta": -0.04,
"percent_delta": -0.1286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.528,
"after": 0.0,
"delta": -0.528,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.312,
"delta": -0.063,
"percent_delta": -0.168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.19,
"after": 2.0,
"delta": 0.81,
"percent_delta": 0.6807,
"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.19,
"after": 2.0,
"delta": 0.81,
"percent_delta": 0.6807,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.197 | - |
| predicted_3B | 0.035 | - |
| predicted_AB | 4.140 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.401 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.528 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.375 | - |
| predicted_SO | 1.190 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.166 | -0.031 |
| predicted_3B | 0.053 | 0.018 |
| predicted_AB | 3.827 | -0.313 |
| predicted_AVG | 0.235 | 0.003 |
| predicted_BB | 0.398 | -0.003 |
| predicted_H | 0.897 | -0.063 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.072 | -0.018 |
| predicted_OBP | 0.316 | 0.005 |
| predicted_R | 0.571 | 0.043 |
| predicted_RBI | 0.355 | -0.025 |
| predicted_SLG | 0.369 | -0.006 |
| predicted_SO | 1.209 | 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.166 | 0.000 |
| predicted_3B | 0.053 | 0.000 |
| predicted_AB | 3.827 | 0.000 |
| predicted_AVG | 0.234 | -0.001 |
| predicted_BB | 0.401 | 0.003 |
| predicted_H | 0.896 | -0.001 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.072 | -0.000 |
| predicted_OBP | 0.307 | -0.009 |
| predicted_R | 0.571 | -0.000 |
| predicted_RBI | 0.355 | 0.000 |
| predicted_SLG | 0.361 | -0.008 |
| predicted_SO | 1.201 | -0.008 |
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.14), rates preserved: AVG=0.191 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.167 | 0.167 |
| 3B | 0.015 | 0.015 |
| BB | 0.390 | 0.390 |
| H | 0.752 | -0.248 |
| HR | 0.081 | 0.081 |
| RBI | 0.417 | 0.417 |
| SO | 1.504 | 0.504 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.167 |
| 3B | 0.000 | -0.015 |
| AB | 4.000 | 0.000 |
| AVG | 0.212 | - |
| BB | 1.000 | 0.610 |
| H | 1.000 | 0.248 |
| HR | 0.000 | -0.081 |
| OBP | 0.296 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.417 |
| SLG | 0.336 | - |
| SO | 2.000 | 0.496 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.166 |
| predicted_3B | 0.000 | -0.053 |
| predicted_AB | 4.000 | 0.173 |
| predicted_AVG | 0.212 | -0.022 |
| predicted_BB | 1.000 | 0.599 |
| predicted_H | 1.000 | 0.104 |
| predicted_HR | 0.000 | -0.072 |
| predicted_OBP | 0.296 | -0.011 |
| predicted_R | 1.000 | 0.429 |
| predicted_RBI | 0.000 | -0.355 |
| predicted_SLG | 0.336 | -0.025 |
| predicted_SO | 2.000 | 0.799 |
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 | -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 | 0.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 | 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 | 4.000 | 0.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 7.000 | 0.2222 | 0.3000 | 0.3333 | 0.2222 | 0.0000 | 0.0556 | 0.1111 | 0.3889 |
| last_10 | 0.20 | 10 | - | 35.000 | 7.000 | 0.000 | 1.000 | 0.000 | 1.000 | 8.000 | 4.000 | 13.000 | 0.2000 | 0.2821 | 0.2571 | 0.2000 | 0.0000 | 0.0286 | 0.1143 | 0.3714 |
| season | 0.60 | 142 | - | 468.000 | 120.000 | 28.000 | 5.000 | 10.000 | 59.000 | 75.000 | 57.000 | 169.000 | 0.2564 | 0.3440 | 0.4017 | 0.2564 | 0.0214 | 0.1261 | 0.1218 | 0.3611 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1250 |
| predicted_3B | 0.0760 |
| predicted_AB | 3.4190 |
| predicted_AVG | 0.2388 |
| predicted_BB | 0.3950 |
| predicted_H | 0.8160 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.0480 |
| predicted_OBP | 0.3219 |
| predicted_R | 0.6270 |
| predicted_RBI | 0.3220 |
| predicted_SLG | 0.3617 |
| predicted_SO | 1.2340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1970 | 0.1250 | 0.1657 | model_form_blend |
| predicted_3B | 0.0350 | 0.0760 | 0.0528 | model_form_blend |
| predicted_AB | 4.1400 | 3.4190 | 3.8268 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2388 | 0.2350 | model_form_blend |
| predicted_BB | 0.4010 | 0.3950 | 0.3984 | model_form_blend |
| predicted_H | 0.9600 | 0.8160 | 0.8974 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.0900 | 0.0480 | 0.0718 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3219 | 0.3157 | model_form_blend |
| predicted_R | 0.5280 | 0.6270 | 0.5710 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3220 | 0.3548 | model_form_blend |
| predicted_SLG | 0.3750 | 0.3617 | 0.3692 | model_form_blend |
| predicted_SO | 1.1900 | 1.2340 | 1.2091 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 507 |
| Season rows before report date | 507 |
| Report year | 2026 |
| Profile rows used | 142 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 669003 |
| playerID | 669003 |
| playerName | Garrett Mitchell |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-11 |
| sl_k_percent | 31.5 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.34 |
| sl_xwoba | 0.353 |
| sl_xba | 0.268 |
| sl_xslg | 0.447 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 11.7 |
| sl_hard_hit_percent | 52.7 |
| sl_exit_velocity_avg | 93.2 |
| sl_launch_angle_avg | 2.2 |
| sl_whiff_percent | 35.8 |
| 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.093 | 0.000 | 0.000 | Hitting_2B | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_AB | 3.187 | 3.000 | 3.000 | Hitting_AB | 3.312 | 2.000 | -0.312 | 1.000 |
| predicted_AVG | 0.249 | 0.333 | 0.333 | Hitting_AVG | 0.286 | 0.000 | 0.047 | 0.333 |
| predicted_BB | 0.320 | 1.000 | 1.000 | Hitting_BB | 0.372 | 0.000 | 0.628 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_H | 0.720 | 1.000 | 1.000 | Hitting_H | 0.949 | 0.000 | 0.051 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_OBP | 0.294 | 0.500 | 0.500 | Hitting_OBP | 0.355 | 0.000 | 0.145 | 0.500 |
| predicted_R | 0.413 | 2.000 | 2.000 | Hitting_R | 0.534 | 0.000 | 1.466 | 2.000 |
| predicted_RBI | 0.260 | 0.000 | 0.000 | Hitting_RBI | 0.549 | 0.000 | -0.549 | 0.000 |
| predicted_SLG | 0.338 | 0.333 | 0.333 | Hitting_SLG | 0.395 | 0.000 | -0.062 | 0.333 |
| predicted_SO | 0.667 | 1.000 | 1.000 | Hitting_SO | 0.648 | 2.000 | 0.352 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_R: 0.4130 -> 2.0000 (boost 1.5870, better) |
| Biggest Deboost | predicted_RBI: 0.2600 -> 0.0000 (deboost -0.2600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_H: 0.7200 -> 0.7785 (boost 0.0585, 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.3406 -> 0.3187 (deboost -0.0219, 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.6823 -> 1.0000 (boost 0.3177, worse) | predicted_BB: 0.2874 -> 0.0000 (deboost -0.2874, worse) | AB rounded to 3 (raw=3.23), rates preserved: AVG=0.213 HR/AB=0.010 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3768 -> 0.0000 (deboost -0.3768, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4468 (boost 0.4468, better) | predicted_H: 1.0000 -> 0.7406 (deboost -0.2594, 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 | 2 | 7 | predicted_H: 0.7406 -> 1.0000 (boost 0.2594, better) | predicted_RBI: 0.4468 -> 0.0000 (deboost -0.4468, 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_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_SLG: 0.3290 -> 0.3440 (boost 0.0150, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "806198",
"player_name": "Cooper Pratt",
"position": "SS",
"team": "MIL",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.093,
"predicted_3B": 0.027,
"predicted_AB": 3.187,
"predicted_AVG": 0.249,
"predicted_BB": 0.32,
"predicted_H": 0.72,
"predicted_HR": 0.03,
"predicted_OBP": 0.294,
"predicted_R": 0.413,
"predicted_RBI": 0.26,
"predicted_SLG": 0.338,
"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.1124,
"predicted_3B": 0.0224,
"predicted_AB": 3.2299,
"predicted_AVG": 0.2542,
"predicted_BB": 0.2855,
"predicted_H": 0.7785,
"predicted_HBP": 0.018,
"predicted_HR": 0.0317,
"predicted_OBP": 0.3001,
"predicted_R": 0.3768,
"predicted_RBI": 0.2789,
"predicted_SLG": 0.3406,
"predicted_SO": 0.6868
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2542,
"delta": 0.0052,
"percent_delta": 0.0209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.7785,
"delta": 0.0585,
"percent_delta": 0.0813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.3001,
"delta": 0.0061,
"percent_delta": 0.0207,
"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_H",
"before": 0.72,
"after": 0.7785,
"delta": 0.0585,
"percent_delta": 0.0813,
"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.1124,
"predicted_3B": 0.0224,
"predicted_AB": 3.2299,
"predicted_AVG": 0.2407,
"predicted_BB": 0.2874,
"predicted_H": 0.7774,
"predicted_HBP": 0.018,
"predicted_HR": 0.0316,
"predicted_OBP": 0.3027,
"predicted_R": 0.3768,
"predicted_RBI": 0.2789,
"predicted_SLG": 0.3187,
"predicted_SO": 0.6823
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2542,
"after": 0.2407,
"delta": -0.0135,
"percent_delta": -0.0531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3406,
"after": 0.3187,
"delta": -0.0219,
"percent_delta": -0.0643,
"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.3406,
"after": 0.3187,
"delta": -0.0219,
"percent_delta": -0.0643,
"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.23), rates preserved: AVG=0.213 HR/AB=0.010",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1124,
"after": 0.0,
"delta": -0.1124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.2299,
"after": 3.0,
"delta": -0.2299,
"percent_delta": -0.0712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2874,
"after": 0.0,
"delta": -0.2874,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7774,
"after": 1.0,
"delta": 0.2226,
"percent_delta": 0.2863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2789,
"after": 0.0,
"delta": -0.2789,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6823,
"after": 1.0,
"delta": 0.3177,
"percent_delta": 0.4656,
"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.6823,
"after": 1.0,
"delta": 0.3177,
"percent_delta": 0.4656,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2874,
"after": 0.0,
"delta": -0.2874,
"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_R",
"before": 0.3768,
"after": 0.0,
"delta": -0.3768,
"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.3768,
"after": 0.0,
"delta": -0.3768,
"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.1321,
"predicted_3B": 0.0112,
"predicted_BB": 0.2931,
"predicted_H": 0.7406,
"predicted_HR": 0.072,
"predicted_RBI": 0.4468,
"predicted_SO": 0.8687
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1321,
"delta": 0.1321,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2931,
"delta": 0.2931,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7406,
"delta": -0.2594,
"percent_delta": -0.2594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.072,
"delta": 0.072,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4468,
"delta": 0.4468,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8687,
"delta": -0.1313,
"percent_delta": -0.1313,
"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.4468,
"delta": 0.4468,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7406,
"delta": -0.2594,
"percent_delta": -0.2594,
"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.219,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.287,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.329,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1321,
"after": 0.0,
"delta": -0.1321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2407,
"after": 0.219,
"delta": -0.0217,
"percent_delta": -0.0902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2931,
"after": 0.0,
"delta": -0.2931,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7406,
"after": 1.0,
"delta": 0.2594,
"percent_delta": 0.3503,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.072,
"after": 0.0,
"delta": -0.072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3027,
"after": 0.287,
"delta": -0.0157,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4468,
"after": 0.0,
"delta": -0.4468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3187,
"after": 0.329,
"delta": 0.0103,
"percent_delta": 0.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8687,
"after": 1.0,
"delta": 0.1313,
"percent_delta": 0.1511,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7406,
"after": 1.0,
"delta": 0.2594,
"percent_delta": 0.3503,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4468,
"after": 0.0,
"delta": -0.4468,
"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": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.287,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.329,
"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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 2.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
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 2.0,
"delta": 2.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_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": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 2.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.233,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.296,
"predicted_R": 2.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.344,
"predicted_SO": 1.0,
"predicted_SS": 0.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.233,
"delta": 0.014,
"percent_delta": 0.0639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.296,
"delta": 0.009,
"percent_delta": 0.0314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.329,
"after": 0.344,
"delta": 0.015,
"percent_delta": 0.0456,
"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.329,
"after": 0.344,
"delta": 0.015,
"percent_delta": 0.0456,
"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.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.187,
"after": 3.0,
"delta": -0.187,
"percent_delta": -0.0587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.233,
"delta": -0.016,
"percent_delta": -0.0643,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.32,
"after": 1.0,
"delta": 0.68,
"percent_delta": 2.125,
"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_R",
"before": 0.413,
"after": 2.0,
"delta": 1.587,
"percent_delta": 3.8426,
"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.338,
"after": 0.344,
"delta": 0.006,
"percent_delta": 0.0178,
"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": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.413,
"after": 2.0,
"delta": 1.587,
"percent_delta": 3.8426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.093 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.187 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.320 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.413 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.338 | - |
| 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.112 | 0.019 |
| predicted_3B | 0.022 | -0.005 |
| predicted_AB | 3.230 | 0.043 |
| predicted_AVG | 0.254 | 0.005 |
| predicted_BB | 0.285 | -0.035 |
| predicted_H | 0.778 | 0.058 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.032 | 0.002 |
| predicted_OBP | 0.300 | 0.006 |
| predicted_R | 0.377 | -0.036 |
| predicted_RBI | 0.279 | 0.019 |
| predicted_SLG | 0.341 | 0.003 |
| predicted_SO | 0.687 | 0.020 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.112 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.230 | 0.000 |
| predicted_AVG | 0.241 | -0.013 |
| predicted_BB | 0.287 | 0.002 |
| predicted_H | 0.777 | -0.001 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.032 | -0.000 |
| predicted_OBP | 0.303 | 0.003 |
| predicted_R | 0.377 | 0.000 |
| predicted_RBI | 0.279 | 0.000 |
| predicted_SLG | 0.319 | -0.022 |
| predicted_SO | 0.682 | -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.23), rates preserved: AVG=0.213 HR/AB=0.010
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.132 | 0.132 |
| 3B | 0.011 | 0.011 |
| BB | 0.293 | 0.293 |
| H | 0.741 | -0.259 |
| HR | 0.072 | 0.072 |
| RBI | 0.447 | 0.447 |
| SO | 0.869 | -0.131 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.132 |
| 3B | 0.000 | -0.011 |
| AB | 3.000 | 0.000 |
| AVG | 0.219 | - |
| BB | 0.000 | -0.293 |
| H | 1.000 | 0.259 |
| HR | 0.000 | -0.072 |
| OBP | 0.287 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.447 |
| SLG | 0.329 | - |
| SO | 1.000 | 0.131 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.112 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | -0.230 |
| predicted_AVG | 0.219 | -0.022 |
| predicted_BB | 0.000 | -0.287 |
| predicted_H | 1.000 | 0.223 |
| predicted_HR | 0.000 | -0.032 |
| predicted_OBP | 0.287 | -0.016 |
| predicted_R | 0.000 | -0.377 |
| predicted_RBI | 0.000 | -0.279 |
| predicted_SLG | 0.329 | 0.010 |
| predicted_SO | 1.000 | 0.318 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 2.000 | 2.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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 2.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 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 4.000 | 0.2353 | 0.2353 | 0.2941 | 0.2353 | 0.0000 | 0.0000 | 0.0000 | 0.2353 |
| last_10 | 0.20 | 10 | - | 32.000 | 8.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 7.000 | 0.2500 | 0.2941 | 0.3125 | 0.2500 | 0.0000 | 0.0312 | 0.0625 | 0.2188 |
| season | 0.60 | 75 | - | 239.000 | 66.000 | 7.000 | 2.000 | 3.000 | 33.000 | 31.000 | 24.000 | 50.000 | 0.2762 | 0.3382 | 0.3598 | 0.2762 | 0.0126 | 0.1381 | 0.1004 | 0.2092 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1390 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.2890 |
| predicted_AVG | 0.2613 |
| predicted_BB | 0.2380 |
| predicted_H | 0.8590 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0340 |
| predicted_OBP | 0.3085 |
| predicted_R | 0.3270 |
| predicted_RBI | 0.3050 |
| predicted_SLG | 0.3441 |
| predicted_SO | 0.7140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0930 | 0.1390 | 0.1124 | model_form_blend |
| predicted_3B | 0.0270 | 0.0160 | 0.0224 | model_form_blend |
| predicted_AB | 3.1870 | 3.2890 | 3.2299 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2613 | 0.2542 | model_form_blend |
| predicted_BB | 0.3200 | 0.2380 | 0.2855 | model_form_blend |
| predicted_H | 0.7200 | 0.8590 | 0.7785 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0300 | 0.0340 | 0.0317 | model_form_blend |
| predicted_OBP | 0.2940 | 0.3085 | 0.3001 | model_form_blend |
| predicted_R | 0.4130 | 0.3270 | 0.3768 | model_form_blend |
| predicted_RBI | 0.2600 | 0.3050 | 0.2789 | model_form_blend |
| predicted_SLG | 0.3380 | 0.3441 | 0.3406 | model_form_blend |
| predicted_SO | 0.6670 | 0.7140 | 0.6868 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 253 |
| Season rows before report date | 253 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 2 |
| 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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | SS |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 806198 |
| playerID | 806198 |
| playerName | Cooper Pratt |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-11 |
| sl_k_percent | 18.0 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.32 |
| sl_xwoba | 0.315 |
| sl_xba | 0.266 |
| sl_xslg | 0.362 |
| sl_sweet_spot_percent | 41.1 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 27.4 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 9.1 |
| sl_whiff_percent | 21.8 |
| sl_swing_percent | 46.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.165 | 0.000 | 0.000 | Hitting_2B | 0.208 | 0.000 | -0.208 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.128 | 4.000 | 4.000 | Hitting_AB | 3.493 | 3.000 | 0.507 | 1.000 |
| predicted_AVG | 0.226 | 0.250 | 0.250 | Hitting_AVG | 0.240 | 0.333 | 0.010 | -0.083 |
| predicted_BB | 0.275 | 0.000 | 0.000 | Hitting_BB | 0.325 | 0.000 | -0.325 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_H | 0.670 | 1.000 | 1.000 | Hitting_H | 0.837 | 1.000 | 0.163 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_OBP | 0.292 | 0.250 | 0.250 | Hitting_OBP | 0.304 | 0.250 | -0.054 | 0.000 |
| predicted_R | 0.349 | 0.000 | 0.000 | Hitting_R | 0.395 | 1.000 | -0.395 | -1.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.437 | 1.000 | -0.437 | -1.000 |
| predicted_SLG | 0.304 | 0.250 | 0.250 | Hitting_SLG | 0.340 | 0.333 | -0.090 | -0.083 |
| predicted_SO | 0.358 | 0.000 | 0.000 | Hitting_SO | 0.421 | 1.000 | -0.421 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 8 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_AB: 3.1280 -> 4.0000 (boost 0.8720, better) |
| Biggest Deboost | predicted_RBI: 0.3900 -> 0.0000 (deboost -0.3900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.2920 -> 0.2997 (boost 0.0077, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2312 -> 0.2239 (deboost -0.0073, 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 | 2 | 4 | predicted_H: 0.6900 -> 1.0000 (boost 0.3100, better) | predicted_RBI: 0.3994 -> 0.0000 (deboost -0.3994, worse) | AB rounded to 3 (raw=3.13), rates preserved: AVG=0.195 HR/AB=0.009 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3447 -> 0.0000 (deboost -0.3447, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_SO: 0.0000 -> 0.4920 (boost 0.4920, worse) | predicted_H: 1.0000 -> 0.6991 (deboost -0.3009, 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 | 1 | 8 | predicted_SO: 0.4920 -> 1.0000 (boost 0.5080, worse) | predicted_H: 0.6991 -> 0.0000 (deboost -0.6991, 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 | 3 | 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 |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2120 -> 0.2220 (boost 0.0100, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "686217",
"player_name": "Sal Frelick",
"position": "RF",
"team": "MIL",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.165,
"predicted_3B": 0.0,
"predicted_AB": 3.128,
"predicted_AVG": 0.226,
"predicted_BB": 0.275,
"predicted_H": 0.67,
"predicted_HR": 0.03,
"predicted_OBP": 0.292,
"predicted_R": 0.349,
"predicted_RBI": 0.39,
"predicted_SLG": 0.304,
"predicted_SO": 0.358
},
"changed_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.1457,
"predicted_3B": 0.0004,
"predicted_AB": 3.0813,
"predicted_AVG": 0.2312,
"predicted_BB": 0.3076,
"predicted_H": 0.691,
"predicted_HBP": 0.012,
"predicted_HR": 0.0287,
"predicted_OBP": 0.2997,
"predicted_R": 0.3447,
"predicted_RBI": 0.3994,
"predicted_SLG": 0.3049,
"predicted_SO": 0.3344
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2312,
"delta": 0.0052,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2997,
"delta": 0.0077,
"percent_delta": 0.0264,
"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.292,
"after": 0.2997,
"delta": 0.0077,
"percent_delta": 0.0264,
"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": 109
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1457,
"predicted_3B": 0.0004,
"predicted_AB": 3.0813,
"predicted_AVG": 0.2239,
"predicted_BB": 0.3096,
"predicted_H": 0.69,
"predicted_HBP": 0.012,
"predicted_HR": 0.0286,
"predicted_OBP": 0.2948,
"predicted_R": 0.3447,
"predicted_RBI": 0.3994,
"predicted_SLG": 0.2994,
"predicted_SO": 0.3322
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2312,
"after": 0.2239,
"delta": -0.0073,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3049,
"after": 0.2994,
"delta": -0.0055,
"percent_delta": -0.018,
"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.2312,
"after": 0.2239,
"delta": -0.0073,
"percent_delta": -0.0316,
"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.13), rates preserved: AVG=0.195 HR/AB=0.009",
"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.1457,
"after": 0.0,
"delta": -0.1457,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.0813,
"after": 3.0,
"delta": -0.0813,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3096,
"after": 0.0,
"delta": -0.3096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3994,
"after": 0.0,
"delta": -0.3994,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3322,
"after": 0.0,
"delta": -0.3322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3994,
"after": 0.0,
"delta": -0.3994,
"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.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"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": 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.3447,
"after": 0.0,
"delta": -0.3447,
"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.3447,
"after": 0.0,
"delta": -0.3447,
"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.17,
"predicted_3B": 0.0064,
"predicted_BB": 0.2865,
"predicted_H": 0.6991,
"predicted_HR": 0.062,
"predicted_RBI": 0.4004,
"predicted_SO": 0.492
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.17,
"delta": 0.17,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2865,
"delta": 0.2865,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6991,
"delta": -0.3009,
"percent_delta": -0.3009,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.062,
"delta": 0.062,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4004,
"delta": 0.4004,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.492,
"delta": 0.492,
"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_SO",
"before": 0.0,
"after": 0.492,
"delta": 0.492,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.6991,
"delta": -0.3009,
"percent_delta": -0.3009,
"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.212,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.28,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.323,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2239,
"after": 0.212,
"delta": -0.0119,
"percent_delta": -0.0531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2865,
"after": 0.0,
"delta": -0.2865,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6991,
"after": 0.0,
"delta": -0.6991,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.2948,
"after": 0.28,
"delta": -0.0148,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4004,
"after": 0.0,
"delta": -0.4004,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2994,
"after": 0.323,
"delta": 0.0236,
"percent_delta": 0.0788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.492,
"after": 1.0,
"delta": 0.508,
"percent_delta": 1.0325,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.492,
"after": 1.0,
"delta": 0.508,
"percent_delta": 1.0325,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6991,
"after": 0.0,
"delta": -0.6991,
"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.212,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.28,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.323,
"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": 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_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_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"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": 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": 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.222,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.29,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.222,
"delta": 0.01,
"percent_delta": 0.0472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.29,
"delta": 0.01,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.333,
"delta": 0.01,
"percent_delta": 0.031,
"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.212,
"after": 0.222,
"delta": 0.01,
"percent_delta": 0.0472,
"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.165,
"after": 0.0,
"delta": -0.165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.128,
"after": 4.0,
"delta": 0.872,
"percent_delta": 0.2788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.275,
"after": 0.0,
"delta": -0.275,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.0,
"delta": 0.33,
"percent_delta": 0.4925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.349,
"after": 0.0,
"delta": -0.349,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.304,
"after": 0.333,
"delta": 0.029,
"percent_delta": 0.0954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.358,
"after": 0.0,
"delta": -0.358,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.128,
"after": 4.0,
"delta": 0.872,
"percent_delta": 0.2788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.165 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.128 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.275 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.349 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.304 | - |
| predicted_SO | 0.358 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | -0.019 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.081 | -0.047 |
| predicted_AVG | 0.231 | 0.005 |
| predicted_BB | 0.308 | 0.033 |
| predicted_H | 0.691 | 0.021 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.029 | -0.001 |
| predicted_OBP | 0.300 | 0.008 |
| predicted_R | 0.345 | -0.004 |
| predicted_RBI | 0.399 | 0.009 |
| predicted_SLG | 0.305 | 0.001 |
| predicted_SO | 0.334 | -0.024 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.081 | 0.000 |
| predicted_AVG | 0.224 | -0.007 |
| predicted_BB | 0.310 | 0.002 |
| predicted_H | 0.690 | -0.001 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.029 | -0.000 |
| predicted_OBP | 0.295 | -0.005 |
| predicted_R | 0.345 | 0.000 |
| predicted_RBI | 0.399 | 0.000 |
| predicted_SLG | 0.299 | -0.006 |
| predicted_SO | 0.332 | -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.13), rates preserved: AVG=0.195 HR/AB=0.009
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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.170 | 0.170 |
| 3B | 0.006 | 0.006 |
| BB | 0.286 | 0.286 |
| H | 0.699 | -0.301 |
| HR | 0.062 | 0.062 |
| RBI | 0.400 | 0.400 |
| SO | 0.492 | 0.492 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.170 |
| 3B | 0.000 | -0.006 |
| AB | 3.000 | 0.000 |
| AVG | 0.212 | - |
| BB | 0.000 | -0.286 |
| H | 0.000 | -0.699 |
| HR | 0.000 | -0.062 |
| OBP | 0.280 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.400 |
| SLG | 0.323 | - |
| SO | 1.000 | 0.508 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.146 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.081 |
| predicted_AVG | 0.212 | -0.012 |
| predicted_BB | 0.000 | -0.310 |
| predicted_H | 0.000 | -0.690 |
| predicted_HR | 0.000 | -0.029 |
| predicted_OBP | 0.280 | -0.015 |
| predicted_R | 0.000 | -0.345 |
| predicted_RBI | 0.000 | -0.399 |
| predicted_SLG | 0.323 | 0.024 |
| predicted_SO | 1.000 | 0.668 |
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 | 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 | 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 | - | 14.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 1.000 | 0.2143 | 0.2941 | 0.2143 | 0.2143 | 0.0000 | 0.1429 | 0.1429 | 0.0714 |
| last_10 | 0.20 | 10 | - | 26.000 | 7.000 | 1.000 | 0.000 | 0.000 | 5.000 | 2.000 | 5.000 | 1.000 | 0.2692 | 0.3636 | 0.3077 | 0.2692 | 0.0000 | 0.1923 | 0.1923 | 0.0385 |
| season | 0.60 | 109 | - | 341.000 | 80.000 | 18.000 | 0.000 | 4.000 | 40.000 | 38.000 | 30.000 | 39.000 | 0.2346 | 0.2979 | 0.3226 | 0.2346 | 0.0117 | 0.1173 | 0.0880 | 0.1144 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1200 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.0190 |
| predicted_AVG | 0.2382 |
| predicted_BB | 0.3510 |
| predicted_H | 0.7190 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0270 |
| predicted_OBP | 0.3099 |
| predicted_R | 0.3390 |
| predicted_RBI | 0.4120 |
| predicted_SLG | 0.3060 |
| predicted_SO | 0.3030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1650 | 0.1200 | 0.1457 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.1280 | 3.0190 | 3.0813 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2382 | 0.2312 | model_form_blend |
| predicted_BB | 0.2750 | 0.3510 | 0.3076 | model_form_blend |
| predicted_H | 0.6700 | 0.7190 | 0.6910 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0300 | 0.0270 | 0.0287 | model_form_blend |
| predicted_OBP | 0.2920 | 0.3099 | 0.2997 | model_form_blend |
| predicted_R | 0.3490 | 0.3390 | 0.3447 | model_form_blend |
| predicted_RBI | 0.3900 | 0.4120 | 0.3994 | model_form_blend |
| predicted_SLG | 0.3040 | 0.3060 | 0.3049 | model_form_blend |
| predicted_SO | 0.3580 | 0.3030 | 0.3344 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 375 |
| Season rows before report date | 375 |
| Report year | 2026 |
| Profile rows used | 109 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20261007_MIL@SD |
| game_type | full |
| mlbID | 686217 |
| playerID | 686217 |
| playerName | Sal Frelick |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-07 |
| sl_k_percent | 9.9 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.275 |
| sl_xwoba | 0.281 |
| sl_xba | 0.241 |
| sl_xslg | 0.324 |
| sl_sweet_spot_percent | 27.4 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 26.8 |
| sl_exit_velocity_avg | 85.7 |
| sl_launch_angle_avg | 9.8 |
| sl_whiff_percent | 10.1 |
| sl_swing_percent | 42.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.114 | 0.000 | 0.000 | Hitting_2B | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 2.991 | 4.000 | 4.000 | Hitting_AB | 3.181 | 1.000 | 0.819 | 3.000 |
| predicted_AVG | 0.301 | 0.250 | 0.250 | Hitting_AVG | 0.256 | 1.000 | -0.006 | -0.750 |
| predicted_BB | 0.254 | 0.000 | 0.000 | Hitting_BB | 0.311 | 0.000 | -0.311 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 0.310 | 1.000 | 1.000 | Hitting_H | 0.814 | 1.000 | 0.186 | 0.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_OBP | 0.331 | 0.250 | 0.250 | Hitting_OBP | 0.324 | 1.000 | -0.074 | -0.750 |
| predicted_R | 0.421 | 0.000 | 0.000 | Hitting_R | 0.489 | 0.000 | -0.489 | 0.000 |
| predicted_RBI | 0.150 | 0.000 | 0.000 | Hitting_RBI | 0.282 | 0.000 | -0.282 | 0.000 |
| predicted_SLG | 0.362 | 0.250 | 0.250 | Hitting_SLG | 0.356 | 1.000 | -0.106 | -0.750 |
| predicted_SO | 0.754 | 2.000 | 2.000 | Hitting_SO | 0.761 | 0.000 | 1.239 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.7540 -> 2.0000 (boost 1.2460, worse) |
| Biggest Deboost | predicted_R: 0.4210 -> 0.0000 (deboost -0.4210, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_H: 0.3100 -> 0.5198 (boost 0.2098, better) | predicted_AB: 2.9910 -> 2.9392 (deboost -0.0518, worse) | Final model input calibrated with local 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.2915 -> 0.1766 (deboost -0.1149, 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_SO: 0.7375 -> 1.0000 (boost 0.2625, worse) | predicted_H: 0.5191 -> 0.0000 (deboost -0.5191, worse) | AB rounded to 3 (raw=2.99), rates preserved: AVG=0.153 HR/AB=0.008 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 7 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4120 -> 0.0000 (deboost -0.4120, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 4 | 1 | 4 | 1 | predicted_RBI: 0.0000 -> 0.2913 (boost 0.2913, better) | predicted_H: 1.0000 -> 0.6762 (deboost -0.3238, 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_SLG: 0.2650 -> 0.3180 (boost 0.0530, better) | predicted_H: 0.6762 -> 0.0000 (deboost -0.6762, 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 | - | - | Market blend not applied: no props for this hitter |
| 13 | play_by_play_realization | 3 | 3 | 0 | 2 | 1 | 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 |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | 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": "666152",
"player_name": "David Hamilton",
"position": "3B",
"team": "MIL",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.114,
"predicted_3B": 0.026,
"predicted_AB": 2.991,
"predicted_AVG": 0.301,
"predicted_BB": 0.254,
"predicted_H": 0.31,
"predicted_HR": 0.02,
"predicted_OBP": 0.331,
"predicted_R": 0.421,
"predicted_RBI": 0.15,
"predicted_SLG": 0.362,
"predicted_SO": 0.754
},
"changed_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.1495,
"predicted_3B": 0.0213,
"predicted_AB": 2.9392,
"predicted_AVG": 0.2915,
"predicted_BB": 0.2189,
"predicted_H": 0.5198,
"predicted_HBP": 0.074,
"predicted_HR": 0.0226,
"predicted_OBP": 0.3333,
"predicted_R": 0.412,
"predicted_RBI": 0.159,
"predicted_SLG": 0.3719,
"predicted_SO": 0.7424
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 2.991,
"after": 2.9392,
"delta": -0.0518,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.301,
"after": 0.2915,
"delta": -0.0095,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.5198,
"delta": 0.2098,
"percent_delta": 0.6768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3719,
"delta": 0.0099,
"percent_delta": 0.0273,
"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_H",
"before": 0.31,
"after": 0.5198,
"delta": 0.2098,
"percent_delta": 0.6768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.991,
"after": 2.9392,
"delta": -0.0518,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 114
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1495,
"predicted_3B": 0.0213,
"predicted_AB": 2.9392,
"predicted_AVG": 0.1766,
"predicted_BB": 0.2203,
"predicted_H": 0.5191,
"predicted_HBP": 0.074,
"predicted_HR": 0.0225,
"predicted_OBP": 0.234,
"predicted_R": 0.412,
"predicted_RBI": 0.159,
"predicted_SLG": 0.265,
"predicted_SO": 0.7375
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2915,
"after": 0.1766,
"delta": -0.1149,
"percent_delta": -0.3942,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3333,
"after": 0.234,
"delta": -0.0993,
"percent_delta": -0.2979,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3719,
"after": 0.265,
"delta": -0.1069,
"percent_delta": -0.2874,
"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.2915,
"after": 0.1766,
"delta": -0.1149,
"percent_delta": -0.3942,
"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.153 HR/AB=0.008",
"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.1495,
"after": 0.0,
"delta": -0.1495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.9392,
"after": 3.0,
"delta": 0.0608,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2203,
"after": 0.0,
"delta": -0.2203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5191,
"after": 0.0,
"delta": -0.5191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.0,
"delta": -0.074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.159,
"after": 0.0,
"delta": -0.159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7375,
"after": 1.0,
"delta": 0.2625,
"percent_delta": 0.3559,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7375,
"after": 1.0,
"delta": 0.2625,
"percent_delta": 0.3559,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.5191,
"after": 0.0,
"delta": -0.5191,
"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": 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.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": 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.412,
"after": 0.0,
"delta": -0.412,
"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.412,
"after": 0.0,
"delta": -0.412,
"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.1324,
"predicted_3B": 0.0117,
"predicted_BB": 0.272,
"predicted_H": 0.6762,
"predicted_HR": 0.0609,
"predicted_RBI": 0.2913,
"predicted_SO": 0.9884
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1324,
"delta": 0.1324,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.272,
"delta": 0.272,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6762,
"delta": -0.3238,
"percent_delta": -0.3238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0609,
"delta": 0.0609,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.2913,
"delta": 0.2913,
"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.2913,
"delta": 0.2913,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.6762,
"delta": -0.3238,
"percent_delta": -0.3238,
"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.212,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.28,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.318,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1324,
"after": 0.0,
"delta": -0.1324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.1766,
"after": 0.212,
"delta": 0.0354,
"percent_delta": 0.2005,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.272,
"after": 0.0,
"delta": -0.272,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6762,
"after": 0.0,
"delta": -0.6762,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0609,
"after": 0.0,
"delta": -0.0609,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.234,
"after": 0.28,
"delta": 0.046,
"percent_delta": 0.1966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2913,
"after": 0.0,
"delta": -0.2913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.265,
"after": 0.318,
"delta": 0.053,
"percent_delta": 0.2,
"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.265,
"after": 0.318,
"delta": 0.053,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6762,
"after": 0.0,
"delta": -0.6762,
"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.212,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.28,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.318,
"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": "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": 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": 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_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_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"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": 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": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.212,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.28,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.318,
"predicted_SO": 2.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.114,
"after": 0.0,
"delta": -0.114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.991,
"after": 4.0,
"delta": 1.009,
"percent_delta": 0.3373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.301,
"after": 0.212,
"delta": -0.089,
"percent_delta": -0.2957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.254,
"after": 0.0,
"delta": -0.254,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.0,
"delta": -0.074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.28,
"delta": -0.051,
"percent_delta": -0.1541,
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.318,
"delta": -0.044,
"percent_delta": -0.1215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.754,
"after": 2.0,
"delta": 1.246,
"percent_delta": 1.6525,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.754,
"after": 2.0,
"delta": 1.246,
"percent_delta": 1.6525,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.421,
"after": 0.0,
"delta": -0.421,
"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.114 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 2.991 | - |
| predicted_AVG | 0.301 | - |
| predicted_BB | 0.254 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.421 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.362 | - |
| predicted_SO | 0.754 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.149 | 0.035 |
| predicted_3B | 0.021 | -0.005 |
| predicted_AB | 2.939 | -0.052 |
| predicted_AVG | 0.291 | -0.010 |
| predicted_BB | 0.219 | -0.035 |
| predicted_H | 0.520 | 0.210 |
| predicted_HBP | 0.074 | - |
| predicted_HR | 0.023 | 0.003 |
| predicted_OBP | 0.333 | 0.002 |
| predicted_R | 0.412 | -0.009 |
| predicted_RBI | 0.159 | 0.009 |
| predicted_SLG | 0.372 | 0.010 |
| predicted_SO | 0.742 | -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.149 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 2.939 | 0.000 |
| predicted_AVG | 0.177 | -0.115 |
| predicted_BB | 0.220 | 0.001 |
| predicted_H | 0.519 | -0.001 |
| predicted_HBP | 0.074 | 0.000 |
| predicted_HR | 0.022 | -0.000 |
| predicted_OBP | 0.234 | -0.099 |
| predicted_R | 0.412 | 0.000 |
| predicted_RBI | 0.159 | 0.000 |
| predicted_SLG | 0.265 | -0.107 |
| predicted_SO | 0.738 | -0.005 |
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.153 HR/AB=0.008
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.132 | 0.132 |
| 3B | 0.012 | 0.012 |
| BB | 0.272 | 0.272 |
| H | 0.676 | -0.324 |
| HR | 0.061 | 0.061 |
| RBI | 0.291 | 0.291 |
| SO | 0.988 | -0.012 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.132 |
| 3B | 0.000 | -0.012 |
| AB | 3.000 | 0.000 |
| AVG | 0.212 | - |
| BB | 0.000 | -0.272 |
| H | 0.000 | -0.676 |
| HR | 0.000 | -0.061 |
| OBP | 0.280 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.291 |
| SLG | 0.318 | - |
| SO | 1.000 | 0.012 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.149 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 3.000 | 0.061 |
| predicted_AVG | 0.212 | 0.035 |
| predicted_BB | 0.000 | -0.220 |
| predicted_H | 0.000 | -0.519 |
| predicted_HR | 0.000 | -0.022 |
| predicted_OBP | 0.280 | 0.046 |
| predicted_R | 0.000 | -0.412 |
| predicted_RBI | 0.000 | -0.159 |
| predicted_SLG | 0.318 | 0.053 |
| predicted_SO | 1.000 | 0.262 |
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 | 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 | 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 | 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 | - | 13.000 | 5.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 3.000 | 0.3846 | 0.4286 | 0.5385 | 0.3846 | 0.0000 | 0.0000 | 0.0000 | 0.2308 |
| last_10 | 0.20 | 10 | - | 24.000 | 7.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 7.000 | 0.2917 | 0.3462 | 0.3750 | 0.2917 | 0.0000 | 0.0417 | 0.0417 | 0.2917 |
| season | 0.60 | 114 | - | 341.000 | 83.000 | 13.000 | 3.000 | 4.000 | 26.000 | 48.000 | 29.000 | 86.000 | 0.2434 | 0.3065 | 0.3343 | 0.2434 | 0.0117 | 0.0762 | 0.0850 | 0.2522 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1970 |
| predicted_3B | 0.0150 |
| predicted_AB | 2.8700 |
| predicted_AVG | 0.2788 |
| predicted_BB | 0.1720 |
| predicted_H | 0.8000 |
| predicted_HBP | 0.0740 |
| predicted_HR | 0.0260 |
| predicted_OBP | 0.3364 |
| predicted_R | 0.4000 |
| predicted_RBI | 0.1710 |
| predicted_SLG | 0.3851 |
| predicted_SO | 0.7270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1140 | 0.1970 | 0.1495 | model_form_blend |
| predicted_3B | 0.0260 | 0.0150 | 0.0213 | model_form_blend |
| predicted_AB | 2.9910 | 2.8700 | 2.9392 | model_form_blend |
| predicted_AVG | 0.3010 | 0.2788 | 0.2915 | model_form_blend |
| predicted_BB | 0.2540 | 0.1720 | 0.2189 | model_form_blend |
| predicted_H | 0.3100 | 0.8000 | 0.5198 | model_form_blend |
| predicted_HBP | - | 0.0740 | 0.0740 | form_only |
| predicted_HR | 0.0200 | 0.0260 | 0.0226 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3364 | 0.3333 | model_form_blend |
| predicted_R | 0.4210 | 0.4000 | 0.4120 | model_form_blend |
| predicted_RBI | 0.1500 | 0.1710 | 0.1590 | model_form_blend |
| predicted_SLG | 0.3620 | 0.3851 | 0.3719 | model_form_blend |
| predicted_SO | 0.7540 | 0.7270 | 0.7424 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 376 |
| Season rows before report date | 376 |
| Report year | 2026 |
| Profile rows used | 114 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-3B |
| gameID | 20261006_MIL@SD |
| game_type | ph |
| mlbID | 666152 |
| note | Singled for Ortiz, J in the 8th. |
| playerID | 666152 |
| playerName | David Hamilton |
| pos | 3B |
| started | False |
| startingPosition | PH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-06 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.293 |
| sl_xwoba | 0.276 |
| sl_xba | 0.225 |
| sl_xslg | 0.316 |
| sl_sweet_spot_percent | 29.3 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 27.9 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 45.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.158 | 3.000 | 1.842 | 0.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 1.474 | 1.000 | 2.526 | 3.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 3.474 | 2.000 | 1.526 | 3.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 5.389 | 5.000 | -0.389 | 0.000 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 6.000 | 4.000 | -1.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 4 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_BB: 0.0000 -> 3.0000 (boost 3.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 | 5 | 3 | 2 | 0 | 5 | predicted_BB: 0.0000 -> 3.0000 (boost 3.0000, worse) | predicted_IP: 6.0000 -> 5.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 |
| 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": "701656",
"player_name": "Logan Henderson",
"position": "Starter",
"team": "MIL",
"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": 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": 0.0,
"predicted_ER": 2.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": 4.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 4.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.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_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": 5.0,
"delta": -1.0,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"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
}
}
},
{
"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": 4.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.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_IP",
"before": 6.0,
"after": 5.0,
"delta": -1.0,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"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 | 0.000 | - |
| predicted_ER | 2.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 | 0.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 | 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 | 4.000 | - |
| H | 5.000 | - |
| HR | 0.000 | - |
| IP | 5.000 | - |
| Pitches | 106.000 | - |
| R | 4.000 | - |
| SO | 5.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 27.000 | 7.000 | 17.000 | 8.000 | 28.000 | 3.000 | 2.3333 | 0.9259 | 0.2593 | 0.6296 | 0.2963 | 1.0370 | 0.1111 |
| last_10 | 0.35 | 10 | 59.100 | 15.000 | 35.000 | 13.000 | 60.000 | 9.000 | 2.2753 | 0.8090 | 0.2528 | 0.5899 | 0.2191 | 1.0112 | 0.1517 |
| season | 0.20 | 19 | 103.100 | 28.000 | 66.000 | 22.000 | 114.000 | 14.000 | 2.4387 | 0.8516 | 0.2710 | 0.6387 | 0.2129 | 1.1032 | 0.1355 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5810 |
| predicted_ER | 1.7670 |
| predicted_ERA | 2.8113 |
| predicted_H | 3.9270 |
| predicted_HR | 0.7570 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.7640 |
| predicted_WHIP | 0.9737 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.5810 | 0.8885 | model_form_blend |
| predicted_ER | 2.0000 | 1.7670 | 1.8691 | model_form_blend |
| predicted_ERA | - | 2.8113 | 2.8113 | form_only |
| predicted_H | 4.0000 | 3.9270 | 3.9590 | model_form_blend |
| predicted_HR | 0.0000 | 0.7570 | 0.4254 | model_form_blend |
| predicted_IP | 6.0000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 5.0000 | 5.7640 | 5.4294 | model_form_blend |
| predicted_WHIP | - | 0.9737 | 0.9737 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 19 |
| Season rows before report date | 19 |
| Report year | 2026 |
| Profile rows used | 19 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 5 |
| R | 4 |
| ER | 4 |
| BB | 3 |
| SO | 5 |
| HR | 0 |
| BF | 24 |
| Pitches | 106 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.80 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 4 |
| Pitching_H | 2 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 72 |
| Pitching_R | 2 |
| Pitching_SO | 4 |
| Pitching_Strikes | 46 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20261004_SD@MIL |
| game_type | full |
| mlbID | 701656 |
| playerID | 701656 |
| playerName | Logan Henderson |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-04 |
| sl_k_percent | 29.6 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.252 |
| sl_xwoba | 0.257 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 36.9 |
| sl_whiff_percent | 26.5 |
| sl_swing_percent | 53.2 |
| sl_avg_best_speed | 77.233269412 |
| sl_avg_hyper_speed | 93.814807899 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.462 | 1.000 | -0.462 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.923 | 1.000 | 0.077 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.900 | 1.200 | 0.200 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.154 | 2.000 | -0.154 | -1.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_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 | 3 | 0 | 3 | 2 | 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": "668941",
"player_name": "JoJo Romero",
"position": "Long Reliever",
"team": "MIL",
"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": 2.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_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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": 0,
"deboosted_metrics": 3,
"better_metrics": 2,
"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": 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_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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": 0,
"deboosted_metrics": 3,
"better_metrics": 2,
"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 | 2.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 | 20.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 | 7.000 | 1.000 | 3.000 | 1.000 | 9.000 | 1.000 | 1.2857 | 0.5714 | 0.1429 | 0.4286 | 0.1429 | 1.2857 | 0.1429 |
| last_10 | 0.35 | 10 | 13.000 | 5.000 | 9.000 | 3.000 | 14.000 | 2.000 | 3.4615 | 0.9231 | 0.3846 | 0.6923 | 0.2308 | 1.0769 | 0.1538 |
| season | 0.20 | 57 | 58.200 | 22.000 | 52.000 | 19.000 | 58.000 | 8.000 | 3.3750 | 1.2102 | 0.3750 | 0.8864 | 0.3239 | 0.9886 | 0.1364 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3340 |
| predicted_ER | 0.4420 |
| predicted_ERA | 3.0956 |
| predicted_H | 0.9280 |
| predicted_HR | 0.1880 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.4010 |
| predicted_WHIP | 0.9814 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3340 | 0.1759 | model_form_blend |
| predicted_ER | 1.0000 | 0.4420 | 0.7061 | model_form_blend |
| predicted_ERA | - | 3.0956 | 3.0956 | form_only |
| predicted_H | 2.0000 | 0.9280 | 1.4354 | model_form_blend |
| predicted_HR | 0.0000 | 0.1880 | 0.0990 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.4010 | 1.2112 | model_form_blend |
| predicted_WHIP | - | 0.9814 | 0.9814 | 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 | 57 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.86 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 30 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 22 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20261006_MIL@SD |
| game_type | full |
| mlbID | 668941 |
| playerID | 668941 |
| playerName | JoJo Romero |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-06 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.305 |
| sl_xwoba | 0.323 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 38.9 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 41.8 |
| sl_avg_best_speed | 79.261308481 |
| sl_avg_hyper_speed | 94.932814051 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.480 | 0.000 | -0.480 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.720 | 1.000 | 0.280 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.600 | 1.000 | 0.400 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, 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 | 1 | 1 | 0 | 1 | 0 | predicted_SO: 0.0000 -> 1.0000 (boost 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": "622608",
"player_name": "Antonio Senzatela",
"position": "Middle Reliever (High Leverage)",
"team": "MIL",
"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": 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.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"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": 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": 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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"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": null,
"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 | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| 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 | 3.000 | - |
| ER | 0.000 | - |
| H | 0.000 | - |
| HR | 0.000 | - |
| IP | 1.000 | - |
| 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 | 4.100 | 0.000 | 4.000 | 2.000 | 3.000 | 0.000 | 0.0000 | 1.3846 | 0.0000 | 0.9231 | 0.4615 | 0.6923 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 2.000 | 9.000 | 2.000 | 6.000 | 1.000 | 2.1600 | 1.3200 | 0.2400 | 1.0800 | 0.2400 | 0.7200 | 0.1200 |
| season | 0.20 | 59 | 75.000 | 33.000 | 76.000 | 27.000 | 61.000 | 6.000 | 3.9600 | 1.3733 | 0.4400 | 1.0133 | 0.3600 | 0.8133 | 0.0800 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3540 |
| predicted_ER | 0.2460 |
| predicted_ERA | 2.2982 |
| predicted_H | 0.9560 |
| predicted_HR | 0.0770 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7470 |
| predicted_WHIP | 1.3616 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3540 | 0.1936 | model_form_blend |
| predicted_ER | 0.0000 | 0.2460 | 0.1346 | model_form_blend |
| predicted_ERA | - | 2.2982 | 2.2982 | form_only |
| predicted_H | 0.0000 | 0.9560 | 0.5229 | model_form_blend |
| predicted_HR | 0.0000 | 0.0770 | 0.0421 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7470 | 0.4086 | model_form_blend |
| predicted_WHIP | - | 1.3616 | 1.3616 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 59 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 10 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20261006_MIL@SD |
| game_type | full |
| mlbID | 622608 |
| playerID | 622608 |
| playerName | Antonio Senzatela |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-06 |
| sl_k_percent | 19.3 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.31 |
| sl_xwoba | 0.31 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 40.4 |
| sl_whiff_percent | 23.5 |
| sl_swing_percent | 49.4 |
| sl_avg_best_speed | 77.021888727 |
| sl_avg_hyper_speed | 94.288859455 |
| 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.740 | 0.000 | -0.740 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.600 | 0.000 | -0.600 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 1.156 | 0.200 | 0.044 | 1.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.300 | 0.000 | 0.700 | 2.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: 1.0000 -> 2.0000 (boost 1.0000, better) |
| 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 | 2 | 1 | 3 | 0 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, better) | 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": "669084",
"player_name": "DL Hall",
"position": "Middle Reliever (High Leverage)",
"team": "MIL",
"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": 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": 1.2,
"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_IP",
"before": 0.6667,
"after": 1.2,
"delta": 0.5333,
"percent_delta": 0.8,
"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": "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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.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": "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.2,
"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_IP",
"before": 0.6667,
"after": 1.2,
"delta": 0.5333,
"percent_delta": 0.8,
"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": "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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.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": "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 | 0.000 | - |
| predicted_H | 0.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 | 5.000 | - |
| ER | 0.000 | - |
| H | 0.000 | - |
| HR | 0.000 | - |
| IP | 1.200 | - |
| Pitches | 23.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 | 6.200 | 0.000 | 2.000 | 4.000 | 4.000 | 0.000 | 0.0000 | 0.9000 | 0.0000 | 0.3000 | 0.6000 | 0.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 13.100 | 1.000 | 7.000 | 6.000 | 10.000 | 1.000 | 0.6750 | 0.9750 | 0.0750 | 0.5250 | 0.4500 | 0.7500 | 0.0750 |
| season | 0.20 | 50 | 64.100 | 13.000 | 30.000 | 37.000 | 65.000 | 5.000 | 1.8187 | 1.0415 | 0.2021 | 0.4663 | 0.5751 | 1.0104 | 0.0777 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5740 |
| predicted_ER | 0.2170 |
| predicted_ERA | 1.6997 |
| predicted_H | 0.6550 |
| predicted_HR | 0.0810 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9080 |
| predicted_WHIP | 1.0674 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.5740 | 0.7723 | model_form_blend |
| predicted_ER | 0.0000 | 0.2170 | 0.1160 | model_form_blend |
| predicted_ERA | - | 1.6997 | 1.6997 | form_only |
| predicted_H | 0.0000 | 0.6550 | 0.3501 | model_form_blend |
| predicted_HR | 0.0000 | 0.0810 | 0.0433 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9080 | 0.9508 | model_form_blend |
| predicted_WHIP | - | 1.0674 | 1.0674 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 50 |
| Season rows before report date | 50 |
| Report year | 2026 |
| Profile rows used | 50 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 1 |
| 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 | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 4 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 3 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20261011_LAD@MIL |
| game_type | full |
| mlbID | 669084 |
| playerID | 669084 |
| playerName | DL Hall |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-11 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 14.5 |
| sl_woba | 0.246 |
| sl_xwoba | 0.286 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 32.9 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 42.2 |
| sl_avg_best_speed | 78.682148955 |
| sl_avg_hyper_speed | 93.283887687 |