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 | LAD 2 - 4 MIL | MIL | 0.548 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | LAD 2 - 4 MIL | MIL | - | organic_simulation_realized_target | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.
| Priority | Change | Runtime status | Evidence |
|---|---|---|---|
| P1 | Empirical confidence blend | applied | raw=0.5310; empirical=0.5751; weight=0.4500; final=0.5508 |
| 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.3000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5482 |
| 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.160 | 4.808 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 3 | 4 | 0.5482 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | kpi_layer | 3 | 4 | - | Savant KPI blend computed and withheld; baseline kept |
| 5 | embedded_savant_run_environment | 2 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 6 | fundamental_edge_target_review | 2 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 7 | capped_target | 2 | 4 | - | Capped at max 12 realistic runs |
| 8 | simulation_result | 2 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.7331323058989426,
"base_low_score_probability": 0.4281237759498629,
"low_score_signal_threshold": 0.5081237759498629,
"low_score_signal_strength": 0.30500852994907973,
"confidence": 0.9,
"factors": {
"environmental": 1.05,
"pitcher_form": 1.4520000000000002,
"team_form": 1.08,
"situational": 1.04,
"combined": 1.7124307200000004
},
"prediction": "low_scoring",
"expected_total_runs": 6,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.3,
"low_score_model_expected_total_runs": 6.3,
"final_simulation_total_runs": 6,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 699,
"near_bucket_sample_size": 699,
"medium_bucket_sample_size": 1011,
"wide_bucket_sample_size": 1117,
"global_sample_size": 1141,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5751,
"bayesian_hit_rate": 0.5732,
"prior_strength": 18.0,
"raw_pick_probability": 0.5713,
"raw_pick_probability_unclamped": 0.5713,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.5219,
"margin_implied_pick_probability": 0.5219,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.549,
"score_implied_floor_pick_probability": 0.5215,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.571271,
"uncapped_away_win_probability": 0.428729,
"calibrated_pick_probability": 0.5482,
"predicted_side": "home",
"reliability": 0.974895,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.983682
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.530967,
"sample_size": 699,
"empirical_hit_rate": 0.5751,
"empirical_weight": 0.45,
"empirical_max_weight": 0.45,
"empirical_sample_scale": 200.0,
"blended_confidence": 0.550827,
"published_confidence": 0.548241,
"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.03048065635123685
},
{
"home_runs": 3,
"away_runs": 2,
"probability": 0.02971535938338882
},
{
"home_runs": 2,
"away_runs": 3,
"probability": 0.028474146349854255
},
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.028068515824689066
},
{
"home_runs": 2,
"away_runs": 2,
"probability": 0.027759228087842477
}
],
"home_distribution": {
"0": 0.0883022901355031,
"1": 0.12773282088661514,
"2": 0.15894781869253627,
"3": 0.170148519285485,
"4": 0.1566835159676033,
"5": 0.12411948811684768,
"6": 0.08458204397897527,
"7": 0.0495835832699874,
"8": 0.025004557568802155,
"9": 0.010847308031820524,
"10": 0.004048054065823897
},
"away_distribution": {
"0": 0.10039091841867395,
"1": 0.14398554966485957,
"2": 0.17464365548506877,
"3": 0.17914147286873916,
"4": 0.15539924025947524,
"5": 0.1140016310590986,
"6": 0.07072658059672843,
"7": 0.03710766966550577,
"8": 0.016464711487228424,
"9": 0.006178086592985461,
"10": 0.001960483901636488
},
"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": "MIL",
"opponent_team": "LAD",
"h2h_net_margin": 5,
"recent_h2h": [
{
"date": "2026-08-16",
"predicted_team_runs": 6,
"opponent_runs": 2,
"margin_for_predicted_team": 4,
"winner": "MIL"
},
{
"date": "2026-08-15",
"predicted_team_runs": 4,
"opponent_runs": 1,
"margin_for_predicted_team": 3,
"winner": "MIL"
},
{
"date": "2026-08-14",
"predicted_team_runs": 1,
"opponent_runs": 3,
"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": 4,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"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": "MIL",
"guardrail_opponent_team": "LAD",
"output_pre_simulation_winner": "MIL",
"output_opponent_team": "LAD",
"simulation_score_winner": "MIL",
"final_score_winner": "MIL",
"pre_simulation_winner": "MIL",
"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": "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.3006,
"final_margin": 0.3006,
"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.550827,
"final_confidence": 0.5482,
"calibrated_pick_probability": 0.5482,
"shrinkage_weight": 0.983682,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.3006,
"calibration_sample_size": 699,
"calibration_empirical_hit_rate": 0.5751,
"calibration_bayesian_hit_rate": 0.5732,
"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": 3,
"home_runs": 4
},
"margin": 1,
"probability_before": 0.548241,
"margin_implied_home_probability": 0.572388,
"shrinkage_weight": 0.983682,
"side_flipped": false,
"applied": false,
"magnitude_pull_suppressed": true,
"probability_after": 0.548241,
"aligned_pick_probability": 0.548241
},
"starter_experience": {
"applied": false,
"min_starter_games": 27,
"shrink_factor": 1.0
}
}{
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "LAD 2 - 4 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "LAD 2 - 4 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.0718,
"recent_form_edge_home_minus_away": -0.122,
"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": 2,
"home_runs": 4,
"winner": "MIL",
"model_winner": "MIL",
"simulation_winner": "MIL",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 6,
"published_winner": "MIL",
"published_winner_draw_share": 0.1667,
"draw_majority_team": "LAD",
"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": 2,
"simulation_margin": 2,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 2,
"home_runs": 4
},
"simulation_score": {
"away_runs": 2,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 0.003,
"winner": "MIL",
"score_reviewed": {
"away_runs": 2,
"home_runs": 4,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 2,
"home_runs": 4,
"confidence": 0.548241,
"home_win_probability": 0.548241,
"away_win_probability": 0.451759,
"predicted_score_text": "LAD 2 - 4 MIL",
"uncapped_home_win_probability": 0.548241,
"uncapped_away_win_probability": 0.451759,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.548241,
"discount_factor": 1.0,
"published_confidence": 0.548241,
"guardrail_confidence_cap": null,
"guardrail_cap_enforced": false,
"guardrail_soft_ceiling_applied": false,
"confidence_before_ceiling": 0.548241,
"applied_discounts": []
},
"score_probability_reconciliation": {
"policy": "published_probability_follows_published_score_v1",
"incoming_home_win_probability": 0.7,
"incoming_favoured_side": "home",
"score_winner_side": "home",
"published_home_win_probability": 0.548241,
"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.",
"pre_simulation_target": {
"away_runs": 2,
"home_runs": 4,
"predicted_score_text": "LAD 2 - 4 MIL",
"confidence": 0.548241,
"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": 2,
"home_runs": 4,
"score_text": "LAD 2 - 4 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "LAD 2 - 4 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.0718,
"recent_form_edge_home_minus_away": -0.122,
"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": 2,
"home_runs": 4,
"winner": "MIL",
"model_winner": "MIL",
"simulation_winner": "MIL",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 6,
"published_winner": "MIL",
"published_winner_draw_share": 0.1667,
"draw_majority_team": "LAD",
"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": 2,
"simulation_margin": 2,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 2,
"home_runs": 4
},
"simulation_score": {
"away_runs": 2,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 0.003,
"winner": "MIL",
"score_reviewed": {
"away_runs": 2,
"home_runs": 4,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away LAD | True | 1.0680 | 1.0680 | 1 | 9 | 0 |
| Home MIL | True | 1.0409 | 1.0409 | 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 |
| 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 |
| 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 |
| 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 |
| 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 | Enrique Hernández | - | 0.9921 | -0.1058 | neutral | 0.2790 | 0.2200 | 0.3670 | 8.10 | 40.30 | 89 | 10.90 | 25 | 29.20 | 6.30 | -0.4000 |
| 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 | Andrew Vaughn | - | 1.0222 | 0.2966 | negative_batter_regression | 0.3290 | 0.2640 | 0.3800 | 5.10 | 43.50 | 90.10 | 11.30 | 19.50 | 16 | 10.60 | -1.1143 |
| 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 | Luis Lara | - | 0.9964 | -0.0475 | neutral | 0.2930 | 0.2560 | 0.3310 | 3.40 | 41.50 | 88 | 5.30 | 17 | 21.70 | 8.50 | 0.2000 |
| 3B | Joey Ortiz | - | 0.9858 | -0.1888 | neutral | 0.2970 | 0.2430 | 0.3460 | 4 | 37.60 | 89.20 | 6.40 | 19.90 | 19.80 | 8.40 | -0.6857 |
{
"home": {
"applied": true,
"offense_factor": 1.0409,
"raw_average_factor": 1.0409,
"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": "683734",
"player_name": "Andrew Vaughn",
"offense_factor": 1.0222,
"quality_score": 0.2966,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "683734",
"espn_rank": null
},
"metrics": {
"pa": 320.0,
"k_percent": 16.0,
"bb_percent": 10.6,
"woba": 0.368,
"xwoba": 0.329,
"xba": 0.264,
"xslg": 0.38,
"sweet_spot_percent": 30.4,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 43.5,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 11.3,
"whiff_percent": 19.5,
"swing_percent": 38.3
},
"components": {
"expected_quality": 0.5263,
"regression_edge": -1.1143,
"xwoba_edge": 0.8571,
"xba_edge": 0.8,
"xslg_edge": 0.2429,
"barrel_edge": -0.3333,
"hard_hit_edge": 0.8429,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": -0.4833,
"launch_angle_hr_bonus": 0.2
}
},
{
"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": "800325",
"player_name": "Luis Lara",
"offense_factor": 0.9964,
"quality_score": -0.0475,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "800325",
"espn_rank": null
},
"metrics": {
"pa": 184.0,
"k_percent": 21.7,
"bb_percent": 8.5,
"woba": 0.286,
"xwoba": 0.293,
"xba": 0.256,
"xslg": 0.331,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 41.5,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 5.3,
"whiff_percent": 17.0,
"swing_percent": 42.1
},
"components": {
"expected_quality": -0.0986,
"regression_edge": 0.2,
"xwoba_edge": -0.1714,
"xba_edge": 0.5714,
"xslg_edge": -0.4571,
"barrel_edge": -0.7111,
"hard_hit_edge": 0.5571,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "687401",
"player_name": "Joey Ortiz",
"offense_factor": 0.9858,
"quality_score": -0.1888,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "687401",
"espn_rank": null
},
"metrics": {
"pa": 378.0,
"k_percent": 19.8,
"bb_percent": 8.4,
"woba": 0.321,
"xwoba": 0.297,
"xba": 0.243,
"xslg": 0.346,
"sweet_spot_percent": 29.2,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 37.6,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 6.4,
"whiff_percent": 19.9,
"swing_percent": 44.8
},
"components": {
"expected_quality": -0.1079,
"regression_edge": -0.6857,
"xwoba_edge": -0.0571,
"xba_edge": 0.2,
"xslg_edge": -0.2429,
"barrel_edge": -0.5778,
"hard_hit_edge": 0.0,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -0.6833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.068,
"raw_average_factor": 1.068,
"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": "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": "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": "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": "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": "571771",
"player_name": "Enrique Hernández",
"offense_factor": 0.9921,
"quality_score": -0.1058,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "571771",
"espn_rank": null
},
"metrics": {
"pa": 80.0,
"k_percent": 29.2,
"bb_percent": 6.3,
"woba": 0.293,
"xwoba": 0.279,
"xba": 0.22,
"xslg": 0.367,
"sweet_spot_percent": 27.4,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 40.3,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 10.9,
"whiff_percent": 25.0,
"swing_percent": 52.6
},
"components": {
"expected_quality": -0.2084,
"regression_edge": -0.4,
"xwoba_edge": -0.5714,
"xba_edge": -0.4571,
"xslg_edge": 0.0571,
"barrel_edge": 0.3333,
"hard_hit_edge": 0.3857,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.9833,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away LAD | Tarik Skubal | True | - | 0.7622 | 1 | 0.9352 | 1.0823 | 0.9040 | 0.9340 | neutral | 0.2660 | 0.2640 | 30 | 4.40 | 31.70 | 6.70 | 34.80 |
| Home MIL | Jacob Misiorowski | True | - | 1.3589 | 1 | 0.8845 | 1.1594 | 0.9480 | 0.8360 | neutral | 0.2260 | 0.2160 | 37.90 | 6.60 | 37.30 | 3.60 | 33.30 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away LAD | Tarik Skubal | True | None | 95 | 92.63 | 2173 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1550 |
| Home MIL | Jacob Misiorowski | True | None | 92 | 97.54 | 2569 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.2800 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9283 |
| home_runs_vs_away_pitcher | 0.9610 |
| home_pitcher_starter_only_factor | 0.8845 |
| away_pitcher_starter_only_factor | 0.9352 |
| home_pitcher_workload_share | 0.6667 |
| away_pitcher_workload_share | 0.7037 |
| home_pitcher_quality_edge | 0.3696 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "694819",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 614.0,
"k_percent": 37.9,
"bb_percent": 6.6,
"woba": 0.216,
"xwoba": 0.226,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 33.3,
"avg_best_speed": 76.4985,
"avg_hyper_speed": 92.9527,
"whiff_percent": 37.3,
"swing_percent": 51.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.6247,
"command_and_miss": 1.7507,
"regression_edge": -0.2857,
"xwoba_edge": 2.4571,
"barrel_edge": 0.8,
"hard_hit_edge": 0.6571,
"whiff_edge": 1.7286,
"bb_edge": 0.65,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694819",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 97.5350871630707,
"release_spin_rate": 2568.640260744372,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 97.5350871630707,
"release_spin_rate": 2568.640260744372,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 97.5351,
"release_spin_rate": 2568.6403,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 1.3589,
"sample_weight": 1.0,
"run_prevention_factor": 0.8845,
"strikeout_factor": 1.1594,
"walk_factor": 0.948,
"homer_factor": 0.836,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "694819",
"espn_rank": null
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "669373",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 569.0,
"k_percent": 30.0,
"bb_percent": 4.4,
"woba": 0.264,
"xwoba": 0.266,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 34.8,
"avg_best_speed": 75.3556,
"avg_hyper_speed": 93.4848,
"whiff_percent": 31.7,
"swing_percent": 53.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.851,
"command_and_miss": 1.0729,
"regression_edge": -0.0571,
"xwoba_edge": 1.3143,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.4429,
"whiff_edge": 0.9286,
"bb_edge": 1.2,
"pitch_design_score": 0.155
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669373",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 95,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 92.63147798168428,
"release_spin_rate": 2173.3742821287633,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 92.63147798168428,
"release_spin_rate": 2173.3742821287633,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6315,
"release_spin_rate": 2173.3743,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.155,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1069,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.7622,
"sample_weight": 1.0,
"run_prevention_factor": 0.9352,
"strikeout_factor": 1.0823,
"walk_factor": 0.904,
"homer_factor": 0.934,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "669373",
"espn_rank": null
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9283,
"home_runs_vs_away_pitcher": 0.961,
"home_pitcher_starter_only_factor": 0.8845,
"away_pitcher_starter_only_factor": 0.9352,
"home_pitcher_workload_share": 0.6667,
"away_pitcher_workload_share": 0.7037,
"home_pitcher_quality_edge": 0.3696
},
"score_before": {
"away_runs": 3.0,
"home_runs": 3.0
},
"score_after": {
"away_runs": 2.7848,
"home_runs": 2.8831,
"home_win_probability": 0.515
},
"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 | - | - | 2 | - | - | - | - |
| Game target MIL | - | - | 4 | - | - | - | - |
| Player finalized LAD | 31 | 4 | 2 | 1 | 2 | 4 | 9 |
| Player finalized MIL | 30 | 6 | 4 | 0 | 4 | 4 | 9 |
| Player model fractional LAD | 33.96 | 6.86 | 4.49 | 1.60 | 4.38 | 3.10 | 9.26 |
| Player model fractional MIL | 33.87 | 8.30 | 4.49 | 0.92 | 4.64 | 2.95 | 9.06 |
| Simulation box LAD | 31 | 4 | 2 | 1 | 2 | 4 | 9 |
| Simulation box MIL | 30 | 6 | 4 | 0 | 4 | 4 | 9 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away LAD | Starter | Tarik Skubal | 6.10 | 4 | 6 | 6 | 3 | 2.64 | 0.99 | True |
| Away LAD | Middle Reliever (High Leverage) | Alex Vesia | 1.20 | 0 | 3 | 0 | 1 | 1.70 | 0.77 | True |
| Home MIL | Starter | Jacob Misiorowski | 5.10 | 1 | 6 | 3 | 2 | 2.14 | 0.99 | True |
| Home MIL | Long Reliever | JoJo Romero | 1.10 | 1 | 2 | 1 | 0 | 3.10 | 0.98 | True |
| Home MIL | Middle Reliever | Antonio Senzatela | 1 | 0 | 0 | 0 | 1 | 2.30 | 1.36 | True |
| Home MIL | Middle Reliever (High Leverage) | Aaron Ashby | 1.10 | 0 | 1 | 0 | 1 | 1.74 | 0.83 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | MIL | batter | 2B | Brice Turang | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | -2.2000 | deboost | worse |
| home | MIL | batter | C | William Contreras | worse | 11 | 5 | 6 | 4 | 7 | predicted_AB | -2.1200 | deboost | worse |
| away | LAD | pitcher | Middle Reliever (High Leverage) | Alex Vesia | better | 4 | 3 | 1 | 3 | 1 | predicted_SO | 2.0000 | boost | better |
| home | MIL | pitcher | Starter | Jacob Misiorowski | neutral | 6 | 3 | 3 | 3 | 3 | predicted_BB | 2.0000 | boost | worse |
| home | MIL | pitcher | Middle Reliever (High Leverage) | Aaron Ashby | neutral | 4 | 2 | 2 | 2 | 2 | predicted_H | -2.0000 | deboost | better |
| home | MIL | batter | CF | Garrett Mitchell | worse | 11 | 1 | 10 | 0 | 11 | predicted_SO | 1.8090 | boost | worse |
| away | LAD | batter | CF | Andy Pages | worse | 12 | 5 | 7 | 4 | 8 | predicted_AB | -1.7300 | deboost | worse |
| away | LAD | batter | SS | Mookie Betts | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | -1.6900 | deboost | worse |
| away | LAD | batter | 1B | Freddie Freeman | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | -1.3200 | deboost | worse |
| home | MIL | batter | LF | Jackson Chourio | worse | 12 | 0 | 12 | 1 | 11 | predicted_AB | -1.1000 | deboost | worse |
| away | LAD | batter | DH | Shohei Ohtani | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -1.0430 | deboost | worse |
| home | MIL | batter | DH | Andrew Vaughn | worse | 12 | 4 | 8 | 2 | 9 | predicted_SF | 1.0000 | boost | higher |
| home | MIL | pitcher | Long Reliever | JoJo Romero | worse | 6 | 4 | 2 | 2 | 4 | predicted_BB | -1.0000 | deboost | better |
| home | MIL | pitcher | Middle Reliever | Antonio Senzatela | deboosted | 2 | 0 | 2 | 1 | 1 | predicted_H | -1.0000 | deboost | better |
| away | LAD | batter | 3B | Max Muncy | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -0.9400 | deboost | better |
| away | LAD | batter | LF | Teoscar Hernández | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.9200 | deboost | worse |
| away | LAD | batter | 2B | Enrique Hernández | worse | 10 | 5 | 5 | 4 | 6 | predicted_2B | 0.8950 | boost | better |
| away | LAD | batter | RF | Kyle Tucker | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.8600 | deboost | worse |
| home | MIL | batter | RF | Luis Lara | worse | 10 | 4 | 6 | 3 | 7 | predicted_H | -0.8210 | deboost | worse |
| home | MIL | batter | SS | Cooper Pratt | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | 0.7300 | boost | better |
| home | MIL | batter | 3B | Joey Ortiz | worse | 11 | 4 | 7 | 3 | 8 | predicted_BB | 0.7140 | boost | better |
| home | MIL | batter | 1B | Jake Bauers | worse | 12 | 2 | 10 | 3 | 9 | predicted_R | -0.6480 | deboost | worse |
| away | LAD | batter | C | Will Smith | worse | 9 | 3 | 6 | 2 | 7 | predicted_RBI | 0.5600 | boost | better |
| away | LAD | pitcher | Starter | Tarik Skubal | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Tarik Skubal |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.7622 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1550 |
| Avg Velo | 92.6315 |
| Avg Spin | 2173.3743 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.1000 |
| Pre ER | 4 |
| Pre H | 6 |
| Pre BB | 3 |
| Pre SO | 6 |
| Season ERA | 2.6781 |
| Season WHIP | 0.9534 |
| Role Avg IP | 6.0990 |
| Recent Avg IP | 6.4670 |
| Last Start IP | 6 |
{
"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.102,
"defense_index": 1.2114,
"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.1447,
"defense_index": 1.1761,
"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.102,
"opponent_offense_edge": 0.1447,
"defense_strength": 0.2114,
"opponent_defense_weakness": -0.1761,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9995,
"run_prevention": 1.0033,
"strikeout": 0.9877
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669373",
"profile": {
"available": true,
"pitcher_id": "669373",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 569.0,
"k_percent": 30.0,
"bb_percent": 4.4,
"woba": 0.264,
"xwoba": 0.266,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 34.8,
"avg_best_speed": 75.3556,
"avg_hyper_speed": 93.4848,
"whiff_percent": 31.7,
"swing_percent": 53.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.851,
"command_and_miss": 1.0729,
"regression_edge": -0.0571,
"xwoba_edge": 1.3143,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.4429,
"whiff_edge": 0.9286,
"bb_edge": 1.2,
"pitch_design_score": 0.155
},
"quality_score": 0.7622,
"sample_weight": 1.0,
"run_prevention_factor": 0.9352,
"strikeout_factor": 1.0823,
"walk_factor": 0.904,
"homer_factor": 0.934,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "669373",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9352,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9352,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.904,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.934,
"adjusted": 1
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0823,
"adjusted": 8
}
}
},
"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.0,
"ER": 17,
"H": 50,
"BB": 13,
"SO": 71,
"HR": 4,
"ERA": 2.467741935483871,
"WHIP": 1.0161290322580645,
"K9": 10.306451612903226,
"HR9": 0.5806451612903226,
"games_pitched": 10,
"quality_starts": 7,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-03T00:00:00"
}{
"available": true,
"pitcher_id": "669373",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 95,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 92.63147798168428,
"release_spin_rate": 2173.3742821287633,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 92.63147798168428,
"release_spin_rate": 2173.3742821287633,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6315,
"release_spin_rate": 2173.3743,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.155,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1069,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 27.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8438,
"prior_weight": 0.1562
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "669373",
"report_date": "20261011",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 32.1,
"ER": 7.0,
"R": 7.0,
"H": 20.0,
"BB": 7.0,
"SO": 34.0,
"HR": 3.0,
"BF": 121.0,
"Pitches": 439.0
},
"per_game": {
"IP": 6.1,
"ER": 1.4,
"R": 1.4,
"H": 4.0,
"BB": 1.4,
"SO": 6.8,
"HR": 0.6,
"BF": 24.2,
"Pitches": 87.8
},
"rates": {
"ERA": 1.9485,
"WHIP": 0.8351,
"ER_per_IP": 0.21649,
"H_per_IP": 0.61856,
"BB_per_IP": 0.21649,
"SO_per_IP": 1.05155,
"HR_per_IP": 0.09278
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 62.0,
"ER": 17.0,
"R": 18.0,
"H": 50.0,
"BB": 13.0,
"SO": 71.0,
"HR": 4.0,
"BF": 244.0,
"Pitches": 934.0
},
"per_game": {
"IP": 6.1,
"ER": 1.7,
"R": 1.8,
"H": 5.0,
"BB": 1.3,
"SO": 7.1,
"HR": 0.4,
"BF": 24.4,
"Pitches": 93.4
},
"rates": {
"ERA": 2.4677,
"WHIP": 1.0161,
"ER_per_IP": 0.27419,
"H_per_IP": 0.80645,
"BB_per_IP": 0.20968,
"SO_per_IP": 1.14516,
"HR_per_IP": 0.06452
}
},
"season": {
"games": 27,
"totals": {
"IP": 164.2,
"ER": 49.0,
"R": 53.0,
"H": 128.0,
"BB": 29.0,
"SO": 193.0,
"HR": 15.0,
"BF": 642.0,
"Pitches": 2450.0
},
"per_game": {
"IP": 6.0,
"ER": 1.8148,
"R": 1.963,
"H": 4.7407,
"BB": 1.0741,
"SO": 7.1481,
"HR": 0.5556,
"BF": 23.7778,
"Pitches": 90.7407
},
"rates": {
"ERA": 2.6781,
"WHIP": 0.9534,
"ER_per_IP": 0.29757,
"H_per_IP": 0.77733,
"BB_per_IP": 0.17611,
"SO_per_IP": 1.17206,
"HR_per_IP": 0.09109
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 1.844,
"predicted_H": 4.759,
"predicted_BB": 1.465,
"predicted_SO": 6.787,
"predicted_HR": 0.582,
"predicted_ERA": 2.6434,
"predicted_WHIP": 0.9916
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.416,
"form_weight": 0.584,
"form_reliability": 0.8438,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 27.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8438,
"prior_weight": 0.1562
},
"applied_metrics": {
"predicted_IP": {
"model": 6.1,
"form": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 1.844,
"final": 2.7409,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.759,
"final": 5.2752,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.465,
"final": 2.1036,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 6.787,
"final": 6.4596,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.582,
"final": 0.3399,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6434,
"final": 2.6434,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9916,
"final": 0.9916,
"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 (High Leverage) |
| 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.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 3 |
| Season ERA | 2.5642 |
| Season WHIP | 1.0559 |
| Role Avg IP | 0.8060 |
| 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.102,
"defense_index": 1.2114,
"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.1447,
"defense_index": 1.1761,
"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.102,
"opponent_offense_edge": 0.1447,
"defense_strength": 0.2114,
"opponent_defense_weakness": -0.1761,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9995,
"run_prevention": 1.0033,
"strikeout": 0.9877
},
"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": 8.2,
"ER": 0,
"H": 2,
"BB": 1,
"SO": 11,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.3461538461538462,
"K9": 11.423076923076923,
"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": "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.336,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7116,
"prior_weight": 0.2884
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "681911",
"report_date": "20261011",
"season_year": 2026,
"rows_used": 74,
"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": 16.0,
"Pitches": 67.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.2,
"Pitches": 13.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": 8.2,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 1.0,
"SO": 11.0,
"HR": 0.0,
"BF": 29.0,
"Pitches": 129.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.1,
"SO": 1.1,
"HR": 0.0,
"BF": 2.9,
"Pitches": 12.9
},
"rates": {
"ERA": 0.0,
"WHIP": 0.3462,
"ER_per_IP": 0.0,
"H_per_IP": 0.23077,
"BB_per_IP": 0.11538,
"SO_per_IP": 1.26923,
"HR_per_IP": 0.0
}
},
"season": {
"games": 74,
"totals": {
"IP": 59.2,
"ER": 17.0,
"R": 18.0,
"H": 31.0,
"BB": 32.0,
"SO": 75.0,
"HR": 4.0,
"BF": 243.0,
"Pitches": 1035.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2297,
"R": 0.2432,
"H": 0.4189,
"BB": 0.4324,
"SO": 1.0135,
"HR": 0.0541,
"BF": 3.2838,
"Pitches": 13.9865
},
"rates": {
"ERA": 2.5642,
"WHIP": 1.0559,
"ER_per_IP": 0.28492,
"H_per_IP": 0.51955,
"BB_per_IP": 0.53631,
"SO_per_IP": 1.25698,
"HR_per_IP": 0.06704
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.18,
"predicted_H": 0.461,
"predicted_BB": 0.27,
"predicted_SO": 1.12,
"predicted_HR": 0.05,
"predicted_ERA": 1.6994,
"predicted_WHIP": 0.7679
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4718,
"form_weight": 0.5282,
"form_reliability": 0.7116,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.336,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7116,
"prior_weight": 0.2884
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.18,
"final": 0.0951,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.461,
"final": 0.7153,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.27,
"final": 0.1426,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.12,
"final": 1.0634,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.05,
"final": 0.0264,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.6994,
"final": 1.6994,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.7679,
"final": 0.7679,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.200 | 0.000 | 0.000 | Hitting_2B | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.690 | 3.000 | 3.000 | Hitting_AB | 4.061 | 4.000 | -1.061 | -1.000 |
| predicted_AVG | 0.221 | 0.000 | 0.000 | Hitting_AVG | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_BB | 0.376 | 1.000 | 1.000 | Hitting_BB | 0.358 | 0.000 | 0.642 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.030 | 0.000 | 0.000 | Hitting_H | 1.055 | 0.000 | -1.055 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.196 | 0.000 | -0.196 | 0.000 |
| predicted_OBP | 0.322 | 0.250 | 0.250 | Hitting_OBP | 0.322 | 0.000 | -0.072 | 0.250 |
| predicted_R | 0.560 | 0.000 | 0.000 | Hitting_R | 0.619 | 0.000 | -0.619 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 0.000 | Hitting_RBI | 0.605 | 0.000 | -0.605 | 0.000 |
| predicted_SLG | 0.384 | 0.000 | 0.000 | Hitting_SLG | 0.452 | 0.000 | -0.452 | 0.000 |
| predicted_SO | 0.464 | 0.000 | 0.000 | Hitting_SO | 0.488 | 0.000 | -0.488 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3760 -> 1.0000 (boost 0.6240, better) |
| Biggest Deboost | predicted_AB: 4.6900 -> 3.0000 (deboost -1.6900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.4640 -> 0.5175 (boost 0.0535, worse) | predicted_AB: 4.6900 -> 4.2650 (deboost -0.4250, worse) | Final model input calibrated with local 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.3240 -> 0.2953 (deboost -0.0287, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.5158 -> 1.0000 (boost 0.4842, worse) | predicted_RBI: 0.4314 -> 0.0000 (deboost -0.4314, worse) | AB rounded to 4 (raw=4.69), rates preserved: AVG=0.172 HR/AB=0.028 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4811 -> 0.0000 (deboost -0.4811, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.5148 (boost 0.5148, better) | predicted_SO: 1.0000 -> 0.7702 (deboost -0.2298, better) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 8 | 3 | 5 | 2 | 6 | predicted_RBI: 0.5148 -> 1.0000 (boost 0.4852, better) | predicted_BB: 0.3488 -> 0.0000 (deboost -0.3488, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 5 | 1 | 4 | 2 | 3 | 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_OBP: 0.2750 -> 0.3110 (boost 0.0360, 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.2,
"predicted_3B": 0.0,
"predicted_AB": 4.69,
"predicted_AVG": 0.221,
"predicted_BB": 0.376,
"predicted_H": 1.03,
"predicted_HR": 0.14,
"predicted_OBP": 0.322,
"predicted_R": 0.56,
"predicted_RBI": 0.49,
"predicted_SLG": 0.384,
"predicted_SO": 0.464
},
"changed_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.1809,
"predicted_3B": 0.0004,
"predicted_AB": 4.265,
"predicted_AVG": 0.228,
"predicted_BB": 0.4234,
"predicted_H": 0.9648,
"predicted_HBP": 0.01,
"predicted_HR": 0.1339,
"predicted_OBP": 0.324,
"predicted_R": 0.4844,
"predicted_RBI": 0.4344,
"predicted_SLG": 0.3827,
"predicted_SO": 0.5175
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.69,
"after": 4.265,
"delta": -0.425,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.228,
"delta": 0.007,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 0.9648,
"delta": -0.0652,
"percent_delta": -0.0633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.56,
"after": 0.4844,
"delta": -0.0756,
"percent_delta": -0.135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4344,
"delta": -0.0556,
"percent_delta": -0.1135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.464,
"after": 0.5175,
"delta": 0.0535,
"percent_delta": 0.1153,
"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.464,
"after": 0.5175,
"delta": 0.0535,
"percent_delta": 0.1153,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.69,
"after": 4.265,
"delta": -0.425,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 125
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1809,
"predicted_3B": 0.0004,
"predicted_AB": 4.265,
"predicted_AVG": 0.2251,
"predicted_BB": 0.4248,
"predicted_H": 0.9601,
"predicted_HBP": 0.01,
"predicted_HR": 0.133,
"predicted_OBP": 0.2953,
"predicted_R": 0.4811,
"predicted_RBI": 0.4314,
"predicted_SLG": 0.3613,
"predicted_SO": 0.5158
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.2953,
"delta": -0.0287,
"percent_delta": -0.0886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3827,
"after": 0.3613,
"delta": -0.0214,
"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.324,
"after": 0.2953,
"delta": -0.0287,
"percent_delta": -0.0886,
"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.69), rates preserved: AVG=0.172 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1809,
"after": 0.0,
"delta": -0.1809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.265,
"after": 4.0,
"delta": -0.265,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4248,
"after": 0.0,
"delta": -0.4248,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4314,
"after": 0.0,
"delta": -0.4314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5158,
"after": 1.0,
"delta": 0.4842,
"percent_delta": 0.9387,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5158,
"after": 1.0,
"delta": 0.4842,
"percent_delta": 0.9387,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4314,
"after": 0.0,
"delta": -0.4314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.4811,
"after": 0.0,
"delta": -0.4811,
"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.4811,
"after": 0.0,
"delta": -0.4811,
"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.1643,
"predicted_3B": 0.0063,
"predicted_BB": 0.3488,
"predicted_H": 0.7892,
"predicted_HR": 0.1493,
"predicted_RBI": 0.5148,
"predicted_SO": 0.7702
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1643,
"delta": 0.1643,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3488,
"delta": 0.3488,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7892,
"delta": -0.2108,
"percent_delta": -0.2108,
"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.5148,
"delta": 0.5148,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7702,
"delta": -0.2298,
"percent_delta": -0.2298,
"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.5148,
"delta": 0.5148,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7702,
"delta": -0.2298,
"percent_delta": -0.2298,
"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.203,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.275,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.364,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1643,
"after": 0.0,
"delta": -0.1643,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2251,
"after": 0.203,
"delta": -0.0221,
"percent_delta": -0.0982,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3488,
"after": 0.0,
"delta": -0.3488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7892,
"after": 1.0,
"delta": 0.2108,
"percent_delta": 0.2671,
"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.2953,
"after": 0.275,
"delta": -0.0203,
"percent_delta": -0.0687,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5148,
"after": 1.0,
"delta": 0.4852,
"percent_delta": 0.9425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7702,
"after": 1.0,
"delta": 0.2298,
"percent_delta": 0.2984,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5148,
"after": 1.0,
"delta": 0.4852,
"percent_delta": 0.9425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3488,
"after": 0.0,
"delta": -0.3488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.203,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.275,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.364,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 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_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_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 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": 3.0,
"predicted_AVG": 0.233,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.311,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.391,
"predicted_SO": 0.0,
"predicted_SS": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.233,
"delta": 0.03,
"percent_delta": 0.1478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.311,
"delta": 0.036,
"percent_delta": 0.1309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.391,
"delta": 0.027,
"percent_delta": 0.0742,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.311,
"delta": 0.036,
"percent_delta": 0.1309,
"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.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.69,
"after": 3.0,
"delta": -1.69,
"percent_delta": -0.3603,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.233,
"delta": 0.012,
"percent_delta": 0.0543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.376,
"after": 1.0,
"delta": 0.624,
"percent_delta": 1.6596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.311,
"delta": -0.011,
"percent_delta": -0.0342,
"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.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.391,
"delta": 0.007,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.464,
"after": 0.0,
"delta": -0.464,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.376,
"after": 1.0,
"delta": 0.624,
"percent_delta": 1.6596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.69,
"after": 3.0,
"delta": -1.69,
"percent_delta": -0.3603,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.690 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.376 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.560 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.384 | - |
| predicted_SO | 0.464 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | -0.019 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.265 | -0.425 |
| predicted_AVG | 0.228 | 0.007 |
| predicted_BB | 0.423 | 0.047 |
| predicted_H | 0.965 | -0.065 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.134 | -0.006 |
| predicted_OBP | 0.324 | 0.002 |
| predicted_R | 0.484 | -0.076 |
| predicted_RBI | 0.434 | -0.056 |
| predicted_SLG | 0.383 | -0.001 |
| predicted_SO | 0.517 | 0.053 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.265 | 0.000 |
| predicted_AVG | 0.225 | -0.003 |
| predicted_BB | 0.425 | 0.001 |
| predicted_H | 0.960 | -0.005 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.133 | -0.001 |
| predicted_OBP | 0.295 | -0.029 |
| predicted_R | 0.481 | -0.003 |
| predicted_RBI | 0.431 | -0.003 |
| predicted_SLG | 0.361 | -0.021 |
| predicted_SO | 0.516 | -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.69), rates preserved: AVG=0.172 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.006 | 0.006 |
| BB | 0.349 | 0.349 |
| H | 0.789 | -0.211 |
| HR | 0.149 | 0.149 |
| RBI | 0.515 | 0.515 |
| SO | 0.770 | -0.230 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.164 |
| 3B | 0.000 | -0.006 |
| AB | 4.000 | 0.000 |
| AVG | 0.203 | - |
| BB | 0.000 | -0.349 |
| H | 1.000 | 0.211 |
| HR | 0.000 | -0.149 |
| OBP | 0.275 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.485 |
| SLG | 0.364 | - |
| SO | 1.000 | 0.230 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.181 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.265 |
| predicted_AVG | 0.203 | -0.022 |
| predicted_BB | 0.000 | -0.425 |
| predicted_H | 1.000 | 0.040 |
| predicted_HR | 0.000 | -0.133 |
| predicted_OBP | 0.275 | -0.020 |
| predicted_R | 0.000 | -0.481 |
| predicted_RBI | 1.000 | 0.569 |
| predicted_SLG | 0.364 | 0.003 |
| predicted_SO | 1.000 | 0.484 |
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 | 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 | 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 | - | 16.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 4.000 | 0.1875 | 0.3158 | 0.1875 | 0.1875 | 0.0000 | 0.0000 | 0.1875 | 0.2500 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 2.000 | 0.000 | 1.000 | 2.000 | 3.000 | 7.000 | 6.000 | 0.2222 | 0.3488 | 0.3611 | 0.2222 | 0.0278 | 0.0556 | 0.1944 | 0.1667 |
| season | 0.60 | 125 | - | 489.000 | 126.000 | 25.000 | 0.000 | 23.000 | 69.000 | 70.000 | 47.000 | 58.000 | 0.2577 | 0.3247 | 0.4499 | 0.2577 | 0.0470 | 0.1411 | 0.0961 | 0.1186 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1560 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7120 |
| predicted_AVG | 0.2372 |
| predicted_BB | 0.4850 |
| predicted_H | 0.8800 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.1260 |
| predicted_OBP | 0.3266 |
| predicted_R | 0.3860 |
| predicted_RBI | 0.3620 |
| predicted_SLG | 0.3811 |
| predicted_SO | 0.5870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1560 | 0.1809 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.6900 | 3.7120 | 4.2650 | model_form_blend |
| predicted_AVG | 0.2210 | 0.2372 | 0.2280 | model_form_blend |
| predicted_BB | 0.3760 | 0.4850 | 0.4234 | model_form_blend |
| predicted_H | 1.0300 | 0.8800 | 0.9648 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1400 | 0.1260 | 0.1339 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3266 | 0.3240 | model_form_blend |
| predicted_R | 0.5600 | 0.3860 | 0.4844 | model_form_blend |
| predicted_RBI | 0.4900 | 0.3620 | 0.4344 | model_form_blend |
| predicted_SLG | 0.3840 | 0.3811 | 0.3827 | model_form_blend |
| predicted_SO | 0.4640 | 0.5870 | 0.5175 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 125 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20261007_LAD@ATL |
| game_type | full |
| mlbID | 605141 |
| playerID | 605141 |
| playerName | Mookie Betts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-07 |
| 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.205 | 0.000 | 0.000 | Hitting_2B | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_3B | 0.006 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 4.320 | 3.000 | 3.000 | Hitting_AB | 3.806 | 4.000 | -0.806 | -1.000 |
| predicted_AVG | 0.233 | 0.000 | 0.000 | Hitting_AVG | 0.292 | 0.000 | -0.292 | 0.000 |
| predicted_BB | 0.436 | 1.000 | 1.000 | Hitting_BB | 0.492 | 0.000 | 0.508 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 0.000 | 0.000 | Hitting_H | 1.111 | 0.000 | -1.111 | 0.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.313 | 0.250 | 0.250 | Hitting_OBP | 0.375 | 0.000 | -0.125 | 0.250 |
| predicted_R | 0.494 | 0.000 | 0.000 | Hitting_R | 0.540 | 0.000 | -0.540 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 0.000 | Hitting_RBI | 0.490 | 0.000 | -0.490 | 0.000 |
| predicted_SLG | 0.431 | 0.000 | 0.000 | Hitting_SLG | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_SO | 0.744 | 2.000 | 2.000 | Hitting_SO | 0.752 | 0.000 | 1.248 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.7440 -> 2.0000 (boost 1.2560, worse) |
| Biggest Deboost | predicted_AB: 4.3200 -> 3.0000 (deboost -1.3200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2330 -> 0.2482 (boost 0.0152, better) | predicted_AB: 4.3200 -> 4.0798 (deboost -0.2402, worse) | Final model input calibrated with local 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.3227 -> 0.3141 (deboost -0.0086, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.7437 -> 1.0000 (boost 0.2563, worse) | predicted_RBI: 0.4916 -> 0.0000 (deboost -0.4916, worse) | AB rounded to 4 (raw=4.32), rates preserved: AVG=0.194 HR/AB=0.049 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4845 -> 0.0000 (deboost -0.4845, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.4407 (boost 0.4407, better) | predicted_H: 1.0000 -> 0.8168 (deboost -0.1832, 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_2B: 0.1788 -> 1.0000 (boost 0.8212, better) | predicted_RBI: 0.4407 -> 0.0000 (deboost -0.4407, 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 | 1 | 3 | 0 | 4 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | 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 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2920 -> 0.2840 (deboost -0.0080, 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.205,
"predicted_3B": 0.006,
"predicted_AB": 4.32,
"predicted_AVG": 0.233,
"predicted_BB": 0.436,
"predicted_H": 1.0,
"predicted_HR": 0.23,
"predicted_OBP": 0.313,
"predicted_R": 0.494,
"predicted_RBI": 0.53,
"predicted_SLG": 0.431,
"predicted_SO": 0.744
},
"changed_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.17,
"predicted_3B": 0.0051,
"predicted_AB": 4.0798,
"predicted_AVG": 0.2482,
"predicted_BB": 0.4106,
"predicted_H": 1.0039,
"predicted_HBP": 0.02,
"predicted_HR": 0.2121,
"predicted_OBP": 0.3227,
"predicted_R": 0.4879,
"predicted_RBI": 0.495,
"predicted_SLG": 0.4408,
"predicted_SO": 0.7462
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.32,
"after": 4.0798,
"delta": -0.2402,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2482,
"delta": 0.0152,
"percent_delta": 0.0652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3227,
"delta": 0.0097,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4408,
"delta": 0.0098,
"percent_delta": 0.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2482,
"delta": 0.0152,
"percent_delta": 0.0652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.32,
"after": 4.0798,
"delta": -0.2402,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.17,
"predicted_3B": 0.0051,
"predicted_AB": 4.0798,
"predicted_AVG": 0.2449,
"predicted_BB": 0.412,
"predicted_H": 0.999,
"predicted_HBP": 0.02,
"predicted_HR": 0.2107,
"predicted_OBP": 0.3141,
"predicted_R": 0.4845,
"predicted_RBI": 0.4916,
"predicted_SLG": 0.444,
"predicted_SO": 0.7437
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3227,
"after": 0.3141,
"delta": -0.0086,
"percent_delta": -0.0267,
"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.3227,
"after": 0.3141,
"delta": -0.0086,
"percent_delta": -0.0267,
"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.32), rates preserved: AVG=0.194 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": 0.0,
"predicted_SB": 0.0,
"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_AB",
"before": 4.0798,
"after": 4.0,
"delta": -0.0798,
"percent_delta": -0.0196,
"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_HR",
"before": 0.2107,
"after": 0.0,
"delta": -0.2107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4916,
"after": 0.0,
"delta": -0.4916,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7437,
"after": 1.0,
"delta": 0.2563,
"percent_delta": 0.3446,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7437,
"after": 1.0,
"delta": 0.2563,
"percent_delta": 0.3446,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4916,
"after": 0.0,
"delta": -0.4916,
"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": 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.4845,
"after": 0.0,
"delta": -0.4845,
"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.4845,
"after": 0.0,
"delta": -0.4845,
"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.1788,
"predicted_3B": 0.0081,
"predicted_BB": 0.4346,
"predicted_H": 0.8168,
"predicted_HR": 0.1103,
"predicted_RBI": 0.4407,
"predicted_SO": 1.1222
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1788,
"delta": 0.1788,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4346,
"delta": 0.4346,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8168,
"delta": -0.1832,
"percent_delta": -0.1832,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1103,
"delta": 0.1103,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4407,
"delta": 0.4407,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.1222,
"delta": 0.1222,
"percent_delta": 0.1222,
"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.4407,
"delta": 0.4407,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8168,
"delta": -0.1832,
"percent_delta": -0.1832,
"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.208,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.292,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.341,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1788,
"after": 1.0,
"delta": 0.8212,
"percent_delta": 4.5928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2449,
"after": 0.208,
"delta": -0.0369,
"percent_delta": -0.1507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4346,
"after": 1.0,
"delta": 0.5654,
"percent_delta": 1.301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8168,
"after": 1.0,
"delta": 0.1832,
"percent_delta": 0.2243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1103,
"after": 0.0,
"delta": -0.1103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3141,
"after": 0.292,
"delta": -0.0221,
"percent_delta": -0.0704,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4407,
"after": 0.0,
"delta": -0.4407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.341,
"delta": -0.103,
"percent_delta": -0.232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1222,
"after": 1.0,
"delta": -0.1222,
"percent_delta": -0.1089,
"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_2B",
"before": 0.1788,
"after": 1.0,
"delta": 0.8212,
"percent_delta": 4.5928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4407,
"after": 0.0,
"delta": -0.4407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.208,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.292,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.341,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 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": 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_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_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 3.0,
"predicted_BB": 1.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"reference_only": true
},
{
"index": 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.203,
"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.284,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.334,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.284,
"delta": -0.008,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.334,
"delta": -0.007,
"percent_delta": -0.0205,
"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.292,
"after": 0.284,
"delta": -0.008,
"percent_delta": -0.0274,
"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.205,
"after": 0.0,
"delta": -0.205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 3.0,
"delta": -1.32,
"percent_delta": -0.3056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.203,
"delta": -0.03,
"percent_delta": -0.1288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.436,
"after": 1.0,
"delta": 0.564,
"percent_delta": 1.2936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.284,
"delta": -0.029,
"percent_delta": -0.0927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 0.0,
"delta": -0.494,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.334,
"delta": -0.097,
"percent_delta": -0.2251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.744,
"after": 2.0,
"delta": 1.256,
"percent_delta": 1.6882,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.744,
"after": 2.0,
"delta": 1.256,
"percent_delta": 1.6882,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.32,
"after": 3.0,
"delta": -1.32,
"percent_delta": -0.3056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 4.320 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.436 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.494 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 0.744 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.170 | -0.035 |
| predicted_3B | 0.005 | -0.001 |
| predicted_AB | 4.080 | -0.240 |
| predicted_AVG | 0.248 | 0.015 |
| predicted_BB | 0.411 | -0.025 |
| predicted_H | 1.004 | 0.004 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.212 | -0.018 |
| predicted_OBP | 0.323 | 0.010 |
| predicted_R | 0.488 | -0.006 |
| predicted_RBI | 0.495 | -0.035 |
| predicted_SLG | 0.441 | 0.010 |
| predicted_SO | 0.746 | 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.170 | 0.000 |
| predicted_3B | 0.005 | 0.000 |
| predicted_AB | 4.080 | 0.000 |
| predicted_AVG | 0.245 | -0.003 |
| predicted_BB | 0.412 | 0.001 |
| predicted_H | 0.999 | -0.005 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.211 | -0.001 |
| predicted_OBP | 0.314 | -0.009 |
| predicted_R | 0.484 | -0.003 |
| predicted_RBI | 0.492 | -0.003 |
| predicted_SLG | 0.444 | 0.003 |
| predicted_SO | 0.744 | -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.32), rates preserved: AVG=0.194 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 | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.179 | 0.179 |
| 3B | 0.008 | 0.008 |
| BB | 0.435 | 0.435 |
| H | 0.817 | -0.183 |
| HR | 0.110 | 0.110 |
| RBI | 0.441 | 0.441 |
| SO | 1.122 | 0.122 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.821 |
| 3B | 0.000 | -0.008 |
| AB | 4.000 | 0.000 |
| AVG | 0.208 | - |
| BB | 1.000 | 0.565 |
| H | 1.000 | 0.183 |
| HR | 0.000 | -0.110 |
| OBP | 0.292 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.441 |
| SLG | 0.341 | - |
| SO | 1.000 | -0.122 |
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.830 |
| predicted_3B | 0.000 | -0.005 |
| predicted_AB | 4.000 | -0.080 |
| predicted_AVG | 0.208 | -0.037 |
| predicted_BB | 1.000 | 0.588 |
| predicted_H | 1.000 | 0.001 |
| predicted_HR | 0.000 | -0.211 |
| predicted_OBP | 0.292 | -0.022 |
| predicted_R | 0.000 | -0.484 |
| predicted_RBI | 0.000 | -0.492 |
| predicted_SLG | 0.341 | -0.103 |
| predicted_SO | 1.000 | 0.256 |
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 | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 2.000 | 3.000 | 0.2222 | 0.3000 | 0.5556 | 0.2222 | 0.1111 | 0.1111 | 0.1111 | 0.1667 |
| last_10 | 0.20 | 10 | - | 39.000 | 10.000 | 0.000 | 0.000 | 2.000 | 5.000 | 3.000 | 2.000 | 9.000 | 0.2564 | 0.2927 | 0.4103 | 0.2564 | 0.0513 | 0.1282 | 0.0513 | 0.2308 |
| season | 0.60 | 156 | - | 590.000 | 170.000 | 32.000 | 1.000 | 18.000 | 70.000 | 77.000 | 68.000 | 116.000 | 0.2881 | 0.3632 | 0.4373 | 0.2881 | 0.0305 | 0.1186 | 0.1153 | 0.1966 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1250 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.7710 |
| predicted_AVG | 0.2677 |
| predicted_BB | 0.3780 |
| predicted_H | 1.0090 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.1890 |
| predicted_OBP | 0.3351 |
| predicted_R | 0.4800 |
| predicted_RBI | 0.4500 |
| predicted_SLG | 0.4535 |
| predicted_SO | 0.7490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2050 | 0.1250 | 0.1700 | model_form_blend |
| predicted_3B | 0.0060 | 0.0040 | 0.0051 | model_form_blend |
| predicted_AB | 4.3200 | 3.7710 | 4.0798 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2677 | 0.2482 | model_form_blend |
| predicted_BB | 0.4360 | 0.3780 | 0.4106 | model_form_blend |
| predicted_H | 1.0000 | 1.0090 | 1.0039 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.2300 | 0.1890 | 0.2121 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3351 | 0.3227 | model_form_blend |
| predicted_R | 0.4940 | 0.4800 | 0.4879 | model_form_blend |
| predicted_RBI | 0.5300 | 0.4500 | 0.4950 | model_form_blend |
| predicted_SLG | 0.4310 | 0.4535 | 0.4408 | model_form_blend |
| predicted_SO | 0.7440 | 0.7490 | 0.7462 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 628 |
| Season rows before report date | 628 |
| Report year | 2026 |
| Profile rows used | 156 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20261007_LAD@ATL |
| game_type | full |
| mlbID | 518692 |
| playerID | 518692 |
| playerName | Freddie Freeman |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-07 |
| 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.122 | 0.000 | 0.000 | Hitting_2B | 0.156 | 0.000 | -0.156 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.020 | 4.000 | 4.000 | Hitting_AB | 3.599 | 4.000 | 0.401 | 0.000 |
| predicted_AVG | 0.238 | 0.250 | 0.250 | Hitting_AVG | 0.250 | 0.000 | 0.000 | 0.250 |
| predicted_BB | 0.432 | 0.000 | 0.000 | Hitting_BB | 0.490 | 0.000 | -0.490 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.960 | 1.000 | 1.000 | Hitting_H | 0.899 | 0.000 | 0.101 | 1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.121 | 0.000 | -0.121 | 0.000 |
| predicted_OBP | 0.290 | 0.250 | 0.250 | Hitting_OBP | 0.344 | 0.000 | -0.094 | 0.250 |
| predicted_R | 0.473 | 0.000 | 0.000 | Hitting_R | 0.529 | 0.000 | -0.529 | 0.000 |
| predicted_RBI | 0.440 | 1.000 | 1.000 | Hitting_RBI | 0.521 | 0.000 | 0.479 | 1.000 |
| predicted_SLG | 0.371 | 0.250 | 0.250 | Hitting_SLG | 0.394 | 0.000 | -0.144 | 0.250 |
| predicted_SO | 0.703 | 1.000 | 1.000 | Hitting_SO | 0.693 | 2.000 | 0.307 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_RBI: 0.4400 -> 1.0000 (boost 0.5600, better) |
| Biggest Deboost | predicted_R: 0.4730 -> 0.0000 (deboost -0.4730, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 0 | 4 | predicted_SO: 0.7030 -> 0.8031 (boost 0.1001, worse) | predicted_AB: 4.0200 -> 3.8104 (deboost -0.2096, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3659 -> 0.3794 (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_SO: 0.8004 -> 1.0000 (boost 0.1996, worse) | predicted_RBI: 0.3983 -> 0.0000 (deboost -0.3983, worse) | AB rounded to 4 (raw=4.02), rates preserved: AVG=0.186 HR/AB=0.037 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4462 -> 0.0000 (deboost -0.4462, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.4802 (boost 0.4802, better) | predicted_H: 1.0000 -> 0.7481 (deboost -0.2519, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 9 | 1 | 8 | 2 | 7 | predicted_H: 0.7481 -> 1.0000 (boost 0.2519, better) | predicted_RBI: 0.4802 -> 0.0000 (deboost -0.4802, 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 | 1 | 1 | 0 | 1 | 0 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2830 -> 0.2970 (boost 0.0140, 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.122,
"predicted_3B": 0.0,
"predicted_AB": 4.02,
"predicted_AVG": 0.238,
"predicted_BB": 0.432,
"predicted_H": 0.96,
"predicted_HR": 0.17,
"predicted_OBP": 0.29,
"predicted_R": 0.473,
"predicted_RBI": 0.44,
"predicted_SLG": 0.371,
"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.1059,
"predicted_3B": 0.0004,
"predicted_AB": 3.8104,
"predicted_AVG": 0.2339,
"predicted_BB": 0.3855,
"predicted_H": 0.8945,
"predicted_HBP": 0.026,
"predicted_HR": 0.1506,
"predicted_OBP": 0.2909,
"predicted_R": 0.4493,
"predicted_RBI": 0.4011,
"predicted_SLG": 0.3659,
"predicted_SO": 0.8031
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.02,
"after": 3.8104,
"delta": -0.2096,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.8945,
"delta": -0.0655,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3659,
"delta": -0.0051,
"percent_delta": -0.0137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.703,
"after": 0.8031,
"delta": 0.1001,
"percent_delta": 0.1424,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.703,
"after": 0.8031,
"delta": 0.1001,
"percent_delta": 0.1424,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.02,
"after": 3.8104,
"delta": -0.2096,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1059,
"predicted_3B": 0.0004,
"predicted_AB": 3.8104,
"predicted_AVG": 0.2336,
"predicted_BB": 0.3868,
"predicted_H": 0.8901,
"predicted_HBP": 0.026,
"predicted_HR": 0.1496,
"predicted_OBP": 0.3042,
"predicted_R": 0.4462,
"predicted_RBI": 0.3983,
"predicted_SLG": 0.3794,
"predicted_SO": 0.8004
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.2909,
"after": 0.3042,
"delta": 0.0133,
"percent_delta": 0.0457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3659,
"after": 0.3794,
"delta": 0.0135,
"percent_delta": 0.0369,
"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.3659,
"after": 0.3794,
"delta": 0.0135,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.02), rates preserved: AVG=0.186 HR/AB=0.037",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1059,
"after": 0.0,
"delta": -0.1059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.8104,
"after": 4.0,
"delta": 0.1896,
"percent_delta": 0.0498,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3868,
"after": 0.0,
"delta": -0.3868,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8901,
"after": 1.0,
"delta": 0.1099,
"percent_delta": 0.1235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1496,
"after": 0.0,
"delta": -0.1496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3983,
"after": 0.0,
"delta": -0.3983,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8004,
"after": 1.0,
"delta": 0.1996,
"percent_delta": 0.2494,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.8004,
"after": 1.0,
"delta": 0.1996,
"percent_delta": 0.2494,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3983,
"after": 0.0,
"delta": -0.3983,
"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.4462,
"after": 0.0,
"delta": -0.4462,
"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.4462,
"after": 0.0,
"delta": -0.4462,
"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.151,
"predicted_3B": 0.0077,
"predicted_BB": 0.4,
"predicted_H": 0.7481,
"predicted_HR": 0.1276,
"predicted_RBI": 0.4802,
"predicted_SO": 1.063
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.151,
"delta": 0.151,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4,
"delta": 0.4,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7481,
"delta": -0.2519,
"percent_delta": -0.2519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1276,
"delta": 0.1276,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4802,
"delta": 0.4802,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.063,
"delta": 0.063,
"percent_delta": 0.063,
"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.4802,
"delta": 0.4802,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7481,
"delta": -0.2519,
"percent_delta": -0.2519,
"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.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.283,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.346,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.151,
"after": 0.0,
"delta": -0.151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2336,
"after": 0.2,
"delta": -0.0336,
"percent_delta": -0.1438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7481,
"after": 1.0,
"delta": 0.2519,
"percent_delta": 0.3367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1276,
"after": 0.0,
"delta": -0.1276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3042,
"after": 0.283,
"delta": -0.0212,
"percent_delta": -0.0697,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4802,
"after": 0.0,
"delta": -0.4802,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3794,
"after": 0.346,
"delta": -0.0334,
"percent_delta": -0.088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.063,
"after": 1.0,
"delta": -0.063,
"percent_delta": -0.0593,
"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.7481,
"after": 1.0,
"delta": 0.2519,
"percent_delta": 0.3367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4802,
"after": 0.0,
"delta": -0.4802,
"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.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.283,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.346,
"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": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.358,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.21,
"delta": 0.01,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.297,
"delta": 0.014,
"percent_delta": 0.0495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.346,
"after": 0.358,
"delta": 0.012,
"percent_delta": 0.0347,
"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.283,
"after": 0.297,
"delta": 0.014,
"percent_delta": 0.0495,
"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.122,
"after": 0.0,
"delta": -0.122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.21,
"delta": -0.028,
"percent_delta": -0.1176,
"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_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.29,
"after": 0.297,
"delta": 0.007,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.473,
"after": 0.0,
"delta": -0.473,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 1.0,
"delta": 0.56,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.358,
"delta": -0.013,
"percent_delta": -0.035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.703,
"after": 1.0,
"delta": 0.297,
"percent_delta": 0.4225,
"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_RBI",
"before": 0.44,
"after": 1.0,
"delta": 0.56,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.473,
"after": 0.0,
"delta": -0.473,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.020 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.432 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.290 | - |
| predicted_R | 0.473 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.371 | - |
| 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.106 | -0.016 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.810 | -0.210 |
| predicted_AVG | 0.234 | -0.004 |
| predicted_BB | 0.386 | -0.046 |
| predicted_H | 0.894 | -0.066 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.151 | -0.019 |
| predicted_OBP | 0.291 | 0.001 |
| predicted_R | 0.449 | -0.024 |
| predicted_RBI | 0.401 | -0.039 |
| predicted_SLG | 0.366 | -0.005 |
| predicted_SO | 0.803 | 0.100 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.106 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.810 | 0.000 |
| predicted_AVG | 0.234 | -0.000 |
| predicted_BB | 0.387 | 0.001 |
| predicted_H | 0.890 | -0.004 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.150 | -0.001 |
| predicted_OBP | 0.304 | 0.013 |
| predicted_R | 0.446 | -0.003 |
| predicted_RBI | 0.398 | -0.003 |
| predicted_SLG | 0.379 | 0.014 |
| predicted_SO | 0.800 | -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.02), rates preserved: AVG=0.186 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.008 | 0.008 |
| BB | 0.400 | 0.400 |
| H | 0.748 | -0.252 |
| HR | 0.128 | 0.128 |
| RBI | 0.480 | 0.480 |
| SO | 1.063 | 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.151 |
| 3B | 0.000 | -0.008 |
| AB | 4.000 | 0.000 |
| AVG | 0.200 | - |
| BB | 0.000 | -0.400 |
| H | 1.000 | 0.252 |
| HR | 0.000 | -0.128 |
| OBP | 0.283 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.480 |
| SLG | 0.346 | - |
| 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.106 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.190 |
| predicted_AVG | 0.200 | -0.034 |
| predicted_BB | 0.000 | -0.387 |
| predicted_H | 1.000 | 0.110 |
| predicted_HR | 0.000 | -0.150 |
| predicted_OBP | 0.283 | -0.021 |
| predicted_R | 0.000 | -0.446 |
| predicted_RBI | 0.000 | -0.398 |
| predicted_SLG | 0.346 | -0.033 |
| predicted_SO | 1.000 | 0.200 |
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 | 0.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 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 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 8.000 | 0.1053 | 0.1053 | 0.1053 | 0.1053 | 0.0000 | 0.0000 | 0.0000 | 0.4210 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 0.000 | 0.000 | 2.000 | 3.000 | 4.000 | 3.000 | 11.000 | 0.2857 | 0.3421 | 0.4571 | 0.2857 | 0.0571 | 0.0857 | 0.0857 | 0.3143 |
| season | 0.60 | 74 | - | 251.000 | 62.000 | 9.000 | 0.000 | 10.000 | 33.000 | 35.000 | 32.000 | 52.000 | 0.2470 | 0.3356 | 0.4024 | 0.2470 | 0.0398 | 0.1315 | 0.1275 | 0.2072 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0840 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5240 |
| predicted_AVG | 0.2284 |
| predicted_BB | 0.3220 |
| predicted_H | 0.8050 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.1240 |
| predicted_OBP | 0.2922 |
| predicted_R | 0.4170 |
| predicted_RBI | 0.3480 |
| predicted_SLG | 0.3589 |
| predicted_SO | 0.9400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1220 | 0.0840 | 0.1059 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0200 | 3.5240 | 3.8104 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2284 | 0.2339 | model_form_blend |
| predicted_BB | 0.4320 | 0.3220 | 0.3855 | model_form_blend |
| predicted_H | 0.9600 | 0.8050 | 0.8945 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.1700 | 0.1240 | 0.1506 | model_form_blend |
| predicted_OBP | 0.2900 | 0.2922 | 0.2909 | model_form_blend |
| predicted_R | 0.4730 | 0.4170 | 0.4493 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3480 | 0.4011 | model_form_blend |
| predicted_SLG | 0.3710 | 0.3589 | 0.3659 | model_form_blend |
| predicted_SO | 0.7030 | 0.9400 | 0.8031 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 257 |
| Season rows before report date | 257 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20261007_LAD@ATL |
| game_type | full |
| mlbID | 669257 |
| playerID | 669257 |
| playerName | Will Smith |
| pos | C |
| started | True |
| startingPosition | C |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-07 |
| 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.181 | 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.848 | 4.000 | 4.000 | Hitting_AB | 3.898 | 3.000 | 0.102 | 1.000 |
| predicted_AVG | 0.271 | 0.000 | 0.000 | Hitting_AVG | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_BB | 0.601 | 0.000 | 0.000 | Hitting_BB | 0.639 | 1.000 | -0.639 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 1.043 | 0.000 | 0.000 | Hitting_H | 1.084 | 0.000 | -1.084 | 0.000 |
| predicted_HR | 0.217 | 0.000 | 0.000 | Hitting_HR | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_OBP | 0.370 | 0.000 | 0.000 | Hitting_OBP | 0.384 | 0.250 | -0.384 | -0.250 |
| predicted_R | 0.645 | 0.000 | 0.000 | Hitting_R | 0.688 | 1.000 | -0.688 | -1.000 |
| predicted_RBI | 0.572 | 0.000 | 0.000 | Hitting_RBI | 0.629 | 0.000 | -0.629 | 0.000 |
| predicted_SLG | 0.503 | 0.000 | 0.000 | Hitting_SLG | 0.519 | 0.000 | -0.519 | 0.000 |
| predicted_SO | 1.123 | 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 | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.8480 -> 4.0000 (boost 0.1520, better) |
| Biggest Deboost | predicted_H: 1.0430 -> 0.0000 (deboost -1.0430, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.5720 -> 0.4773 (deboost -0.0947, worse) | Final model input calibrated with local 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.7808 -> 4.0000 (boost 0.2192, better) | predicted_BB: 0.5618 -> 0.0000 (deboost -0.5618, worse) | AB rounded to 4 (raw=3.85), rates preserved: AVG=0.211 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=7.0, weight=0.076, BvP AVG=0.286) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5517 -> 1.0000 (boost 0.4483, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_RBI: 0.0000 -> 0.5347 (boost 0.5347, better) | predicted_BB: 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 |
| 9 | lineup_integer_allocation | 9 | 4 | 5 | 5 | 4 | predicted_HR: 0.1860 -> 1.0000 (boost 0.8140, better) | predicted_SO: 1.4021 -> 1.0000 (deboost -0.4021, 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 | 5 | 0 | 5 | 0 | 5 | - | 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.3090 -> 0.2840 (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": "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.181,
"predicted_3B": 0.029,
"predicted_AB": 3.848,
"predicted_AVG": 0.271,
"predicted_BB": 0.601,
"predicted_H": 1.043,
"predicted_HR": 0.217,
"predicted_OBP": 0.37,
"predicted_R": 0.645,
"predicted_RBI": 0.572,
"predicted_SLG": 0.503,
"predicted_SO": 1.123
},
"changed_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.1574,
"predicted_3B": 0.0238,
"predicted_AB": 3.7808,
"predicted_AVG": 0.2568,
"predicted_BB": 0.56,
"predicted_H": 0.9723,
"predicted_HBP": 0.029,
"predicted_HR": 0.1768,
"predicted_OBP": 0.3535,
"predicted_R": 0.5555,
"predicted_RBI": 0.4773,
"predicted_SLG": 0.4508,
"predicted_SO": 1.1121
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.848,
"after": 3.7808,
"delta": -0.0672,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2568,
"delta": -0.0142,
"percent_delta": -0.0524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.043,
"after": 0.9723,
"delta": -0.0707,
"percent_delta": -0.0678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.37,
"after": 0.3535,
"delta": -0.0165,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.645,
"after": 0.5555,
"delta": -0.0895,
"percent_delta": -0.1388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.572,
"after": 0.4773,
"delta": -0.0947,
"percent_delta": -0.1656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.503,
"after": 0.4508,
"delta": -0.0522,
"percent_delta": -0.1038,
"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.572,
"after": 0.4773,
"delta": -0.0947,
"percent_delta": -0.1656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 138
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1574,
"predicted_3B": 0.0238,
"predicted_AB": 3.7808,
"predicted_AVG": 0.2559,
"predicted_BB": 0.5618,
"predicted_H": 0.9675,
"predicted_HBP": 0.029,
"predicted_HR": 0.1756,
"predicted_OBP": 0.3522,
"predicted_R": 0.5517,
"predicted_RBI": 0.474,
"predicted_SLG": 0.4495,
"predicted_SO": 1.1084
},
"changed_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.85), rates preserved: AVG=0.211 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.1574,
"after": 0.0,
"delta": -0.1574,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7808,
"after": 4.0,
"delta": 0.2192,
"percent_delta": 0.058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5618,
"after": 0.0,
"delta": -0.5618,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1756,
"after": 0.0,
"delta": -0.1756,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.474,
"after": 0.0,
"delta": -0.474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1084,
"after": 1.0,
"delta": -0.1084,
"percent_delta": -0.0978,
"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.7808,
"after": 4.0,
"delta": 0.2192,
"percent_delta": 0.058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5618,
"after": 0.0,
"delta": -0.5618,
"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": [
{
"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.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.5517,
"after": 1.0,
"delta": 0.4483,
"percent_delta": 0.8126,
"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.5517,
"after": 1.0,
"delta": 0.4483,
"percent_delta": 0.8126,
"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.1588,
"predicted_3B": 0.0161,
"predicted_BB": 0.5228,
"predicted_H": 0.7792,
"predicted_HR": 0.186,
"predicted_RBI": 0.5347,
"predicted_SO": 1.4021
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1588,
"delta": 0.1588,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5228,
"delta": -0.4772,
"percent_delta": -0.4772,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7792,
"delta": -0.2208,
"percent_delta": -0.2208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.186,
"delta": 0.186,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5347,
"delta": 0.5347,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.4021,
"delta": 0.4021,
"percent_delta": 0.4021,
"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.5347,
"delta": 0.5347,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5228,
"delta": -0.4772,
"percent_delta": -0.4772,
"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.207,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.309,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.406,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1588,
"after": 0.0,
"delta": -0.1588,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2559,
"after": 0.207,
"delta": -0.0489,
"percent_delta": -0.1911,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5228,
"after": 1.0,
"delta": 0.4772,
"percent_delta": 0.9128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7792,
"after": 1.0,
"delta": 0.2208,
"percent_delta": 0.2834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.186,
"after": 1.0,
"delta": 0.814,
"percent_delta": 4.3763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3522,
"after": 0.309,
"delta": -0.0432,
"percent_delta": -0.1227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5347,
"after": 1.0,
"delta": 0.4653,
"percent_delta": 0.8702,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4495,
"after": 0.406,
"delta": -0.0435,
"percent_delta": -0.0968,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4021,
"after": 1.0,
"delta": -0.4021,
"percent_delta": -0.2868,
"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.186,
"after": 1.0,
"delta": 0.814,
"percent_delta": 4.3763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4021,
"after": 1.0,
"delta": -0.4021,
"percent_delta": -0.2868,
"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.207,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.309,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.406,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 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_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
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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.192,
"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.284,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.39,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.192,
"delta": -0.015,
"percent_delta": -0.0725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.284,
"delta": -0.025,
"percent_delta": -0.0809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.39,
"delta": -0.016,
"percent_delta": -0.0394,
"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.309,
"after": 0.284,
"delta": -0.025,
"percent_delta": -0.0809,
"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.181,
"after": 0.0,
"delta": -0.181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.848,
"after": 4.0,
"delta": 0.152,
"percent_delta": 0.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.192,
"delta": -0.079,
"percent_delta": -0.2915,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.601,
"after": 0.0,
"delta": -0.601,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.043,
"after": 0.0,
"delta": -1.043,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.217,
"after": 0.0,
"delta": -0.217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.37,
"after": 0.284,
"delta": -0.086,
"percent_delta": -0.2324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.645,
"after": 0.0,
"delta": -0.645,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.572,
"after": 0.0,
"delta": -0.572,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.503,
"after": 0.39,
"delta": -0.113,
"percent_delta": -0.2247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.123,
"after": 1.0,
"delta": -0.123,
"percent_delta": -0.1095,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.848,
"after": 4.0,
"delta": 0.152,
"percent_delta": 0.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.043,
"after": 0.0,
"delta": -1.043,
"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.181 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.848 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.601 | - |
| predicted_H | 1.043 | - |
| predicted_HR | 0.217 | - |
| predicted_OBP | 0.370 | - |
| predicted_R | 0.645 | - |
| predicted_RBI | 0.572 | - |
| predicted_SLG | 0.503 | - |
| predicted_SO | 1.123 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | -0.024 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 3.781 | -0.067 |
| predicted_AVG | 0.257 | -0.014 |
| predicted_BB | 0.560 | -0.041 |
| predicted_H | 0.972 | -0.071 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.177 | -0.040 |
| predicted_OBP | 0.353 | -0.017 |
| predicted_R | 0.555 | -0.090 |
| predicted_RBI | 0.477 | -0.095 |
| predicted_SLG | 0.451 | -0.052 |
| predicted_SO | 1.112 | -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.157 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.781 | 0.000 |
| predicted_AVG | 0.256 | -0.001 |
| predicted_BB | 0.562 | 0.002 |
| predicted_H | 0.968 | -0.005 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.176 | -0.001 |
| predicted_OBP | 0.352 | -0.001 |
| predicted_R | 0.552 | -0.004 |
| predicted_RBI | 0.474 | -0.003 |
| predicted_SLG | 0.450 | -0.001 |
| predicted_SO | 1.108 | -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.85), rates preserved: AVG=0.211 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=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 | 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.159 | 0.159 |
| 3B | 0.016 | 0.016 |
| BB | 0.523 | -0.477 |
| H | 0.779 | -0.221 |
| HR | 0.186 | 0.186 |
| RBI | 0.535 | 0.535 |
| SO | 1.402 | 0.402 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.159 |
| 3B | 0.000 | -0.016 |
| AB | 4.000 | 0.000 |
| AVG | 0.207 | - |
| BB | 1.000 | 0.477 |
| H | 1.000 | 0.221 |
| HR | 1.000 | 0.814 |
| OBP | 0.309 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.465 |
| SLG | 0.406 | - |
| SO | 1.000 | -0.402 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.157 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 4.000 | 0.219 |
| predicted_AVG | 0.207 | -0.049 |
| predicted_BB | 1.000 | 0.438 |
| predicted_H | 1.000 | 0.032 |
| predicted_HR | 1.000 | 0.824 |
| predicted_OBP | 0.309 | -0.043 |
| predicted_R | 1.000 | 0.448 |
| predicted_RBI | 1.000 | 0.526 |
| predicted_SLG | 0.406 | -0.043 |
| predicted_SO | 1.000 | -0.108 |
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 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 0.1875 | 0.2778 | 0.1875 | 0.1875 | 0.0000 | 0.0000 | 0.1250 | 0.2500 |
| last_10 | 0.20 | 10 | - | 37.000 | 7.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 14.000 | 0.1892 | 0.2683 | 0.2162 | 0.1892 | 0.0000 | 0.0270 | 0.1081 | 0.3784 |
| season | 0.60 | 138 | - | 531.000 | 144.000 | 25.000 | 4.000 | 30.000 | 79.000 | 89.000 | 83.000 | 155.000 | 0.2712 | 0.3738 | 0.5028 | 0.2712 | 0.0565 | 0.1488 | 0.1563 | 0.2919 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1270 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.6940 |
| predicted_AVG | 0.2385 |
| predicted_BB | 0.5070 |
| predicted_H | 0.8810 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.1250 |
| predicted_OBP | 0.3322 |
| predicted_R | 0.4400 |
| predicted_RBI | 0.3550 |
| predicted_SLG | 0.3835 |
| predicted_SO | 1.0980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1810 | 0.1270 | 0.1574 | model_form_blend |
| predicted_3B | 0.0290 | 0.0170 | 0.0238 | model_form_blend |
| predicted_AB | 3.8480 | 3.6940 | 3.7808 | model_form_blend |
| predicted_AVG | 0.2710 | 0.2385 | 0.2568 | model_form_blend |
| predicted_BB | 0.6010 | 0.5070 | 0.5600 | model_form_blend |
| predicted_H | 1.0430 | 0.8810 | 0.9723 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.2170 | 0.1250 | 0.1768 | model_form_blend |
| predicted_OBP | 0.3700 | 0.3322 | 0.3535 | model_form_blend |
| predicted_R | 0.6450 | 0.4400 | 0.5555 | model_form_blend |
| predicted_RBI | 0.5720 | 0.3550 | 0.4773 | model_form_blend |
| predicted_SLG | 0.5030 | 0.3835 | 0.4508 | model_form_blend |
| predicted_SO | 1.1230 | 1.0980 | 1.1121 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 606 |
| Season rows before report date | 606 |
| Report year | 2026 |
| Profile rows used | 138 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20261007_LAD@ATL |
| game_type | full |
| mlbID | 660271 |
| playerID | 660271 |
| playerName | Shohei Ohtani |
| pos | TWP |
| started | True |
| startingPosition | DH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-07 |
| 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.134 | 0.000 | 0.000 | Hitting_2B | 0.139 | 0.000 | -0.139 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 4.210 | 4.000 | 4.000 | Hitting_AB | 3.665 | 4.000 | 0.335 | 0.000 |
| predicted_AVG | 0.219 | 0.000 | 0.000 | Hitting_AVG | 0.265 | 0.250 | -0.265 | -0.250 |
| predicted_BB | 0.323 | 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 | 0.920 | 0.000 | 0.000 | Hitting_H | 0.972 | 1.000 | -0.972 | -1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_OBP | 0.267 | 0.000 | 0.000 | Hitting_OBP | 0.336 | 0.250 | -0.336 | -0.250 |
| predicted_R | 0.535 | 0.000 | 0.000 | Hitting_R | 0.554 | 1.000 | -0.554 | -1.000 |
| predicted_RBI | 0.470 | 0.000 | 0.000 | Hitting_RBI | 0.548 | 0.000 | -0.548 | 0.000 |
| predicted_SLG | 0.385 | 0.000 | 0.000 | Hitting_SLG | 0.419 | 0.250 | -0.419 | -0.250 |
| predicted_SO | 1.094 | 1.000 | 1.000 | Hitting_SO | 1.093 | 2.000 | -0.093 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_OBP: 0.2670 -> 0.2780 (boost 0.0110, better) |
| Biggest Deboost | predicted_H: 0.9200 -> 0.0000 (deboost -0.9200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 3 | 2 | predicted_AVG: 0.2190 -> 0.2278 (boost 0.0088, better) | predicted_AB: 4.2100 -> 3.9690 (deboost -0.2410, worse) | Final model input calibrated with local 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.3931 -> 0.3869 (deboost -0.0062, 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.8957 -> 1.0000 (boost 0.1043, better) | predicted_RBI: 0.4586 -> 0.0000 (deboost -0.4586, worse) | AB rounded to 4 (raw=4.21), rates preserved: AVG=0.179 HR/AB=0.039 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5412 -> 1.0000 (boost 0.4588, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_SO: 1.0000 -> 1.5261 (boost 0.5261, worse) | predicted_H: 1.0000 -> 0.7748 (deboost -0.2252, 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 | 2 | 6 | predicted_RBI: 0.5179 -> 1.0000 (boost 0.4821, better) | predicted_BB: 0.3149 -> 0.0000 (deboost -0.3149, 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 | 0 | 4 | 1 | 3 | - | 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": "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.134,
"predicted_3B": 0.016,
"predicted_AB": 4.21,
"predicted_AVG": 0.219,
"predicted_BB": 0.323,
"predicted_H": 0.92,
"predicted_HR": 0.17,
"predicted_OBP": 0.267,
"predicted_R": 0.535,
"predicted_RBI": 0.47,
"predicted_SLG": 0.385,
"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.1219,
"predicted_3B": 0.0134,
"predicted_AB": 3.969,
"predicted_AVG": 0.2278,
"predicted_BB": 0.2701,
"predicted_H": 0.9001,
"predicted_HBP": 0.039,
"predicted_HR": 0.1648,
"predicted_OBP": 0.2738,
"predicted_R": 0.545,
"predicted_RBI": 0.4618,
"predicted_SLG": 0.3931,
"predicted_SO": 1.1217
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.21,
"after": 3.969,
"delta": -0.241,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2278,
"delta": 0.0088,
"percent_delta": 0.0402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.323,
"after": 0.2701,
"delta": -0.0529,
"percent_delta": -0.1638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2738,
"delta": 0.0068,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3931,
"delta": 0.0081,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2278,
"delta": 0.0088,
"percent_delta": 0.0402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.21,
"after": 3.969,
"delta": -0.241,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 127
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1219,
"predicted_3B": 0.0134,
"predicted_AB": 3.969,
"predicted_AVG": 0.2257,
"predicted_BB": 0.271,
"predicted_H": 0.8957,
"predicted_HBP": 0.039,
"predicted_HR": 0.1637,
"predicted_OBP": 0.2752,
"predicted_R": 0.5412,
"predicted_RBI": 0.4586,
"predicted_SLG": 0.3869,
"predicted_SO": 1.118
},
"changed_metrics": [
{
"metric": "predicted_SLG",
"before": 0.3931,
"after": 0.3869,
"delta": -0.0062,
"percent_delta": -0.0158,
"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.3931,
"after": 0.3869,
"delta": -0.0062,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.21), rates preserved: AVG=0.179 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.1219,
"after": 0.0,
"delta": -0.1219,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.271,
"after": 0.0,
"delta": -0.271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8957,
"after": 1.0,
"delta": 0.1043,
"percent_delta": 0.1164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1637,
"after": 0.0,
"delta": -0.1637,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4586,
"after": 0.0,
"delta": -0.4586,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.118,
"after": 1.0,
"delta": -0.118,
"percent_delta": -0.1055,
"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.8957,
"after": 1.0,
"delta": 0.1043,
"percent_delta": 0.1164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4586,
"after": 0.0,
"delta": -0.4586,
"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.5412,
"after": 1.0,
"delta": 0.4588,
"percent_delta": 0.8477,
"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.5412,
"after": 1.0,
"delta": 0.4588,
"percent_delta": 0.8477,
"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.1482,
"predicted_3B": 0.0103,
"predicted_BB": 0.3149,
"predicted_H": 0.7748,
"predicted_HR": 0.1261,
"predicted_RBI": 0.5179,
"predicted_SO": 1.5261
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1482,
"delta": 0.1482,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3149,
"delta": 0.3149,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7748,
"delta": -0.2252,
"percent_delta": -0.2252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1261,
"delta": 0.1261,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5179,
"delta": 0.5179,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.5261,
"delta": 0.5261,
"percent_delta": 0.5261,
"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.5261,
"delta": 0.5261,
"percent_delta": 0.5261,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7748,
"delta": -0.2252,
"percent_delta": -0.2252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.278,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.358,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1482,
"after": 0.0,
"delta": -0.1482,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2257,
"after": 0.21,
"delta": -0.0157,
"percent_delta": -0.0696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3149,
"after": 0.0,
"delta": -0.3149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7748,
"after": 1.0,
"delta": 0.2252,
"percent_delta": 0.2907,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1261,
"after": 0.0,
"delta": -0.1261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5179,
"after": 1.0,
"delta": 0.4821,
"percent_delta": 0.9309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3869,
"after": 0.358,
"delta": -0.0289,
"percent_delta": -0.0747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5261,
"after": 2.0,
"delta": 0.4739,
"percent_delta": 0.3105,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5179,
"after": 1.0,
"delta": 0.4821,
"percent_delta": 0.9309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3149,
"after": 0.0,
"delta": -0.3149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.278,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.358,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Market blend not applied: no props for this hitter",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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_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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.278,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.358,
"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.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.21,
"after": 4.0,
"delta": -0.21,
"percent_delta": -0.0499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.21,
"delta": -0.009,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.323,
"after": 0.0,
"delta": -0.323,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.278,
"delta": 0.011,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.535,
"after": 0.0,
"delta": -0.535,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.358,
"delta": -0.027,
"percent_delta": -0.0701,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.094,
"after": 1.0,
"delta": -0.094,
"percent_delta": -0.0859,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.278,
"delta": 0.011,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 4.210 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.323 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.267 | - |
| predicted_R | 0.535 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.385 | - |
| 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.122 | -0.012 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 3.969 | -0.241 |
| predicted_AVG | 0.228 | 0.009 |
| predicted_BB | 0.270 | -0.053 |
| predicted_H | 0.900 | -0.020 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.165 | -0.005 |
| predicted_OBP | 0.274 | 0.007 |
| predicted_R | 0.545 | 0.010 |
| predicted_RBI | 0.462 | -0.008 |
| predicted_SLG | 0.393 | 0.008 |
| predicted_SO | 1.122 | 0.028 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.969 | 0.000 |
| predicted_AVG | 0.226 | -0.002 |
| predicted_BB | 0.271 | 0.001 |
| predicted_H | 0.896 | -0.004 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.164 | -0.001 |
| predicted_OBP | 0.275 | 0.001 |
| predicted_R | 0.541 | -0.004 |
| predicted_RBI | 0.459 | -0.003 |
| predicted_SLG | 0.387 | -0.006 |
| predicted_SO | 1.118 | -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.21), rates preserved: AVG=0.179 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 | 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.148 | 0.148 |
| 3B | 0.010 | 0.010 |
| BB | 0.315 | 0.315 |
| H | 0.775 | -0.225 |
| HR | 0.126 | 0.126 |
| RBI | 0.518 | 0.518 |
| SO | 1.526 | 0.526 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.148 |
| 3B | 0.000 | -0.010 |
| AB | 4.000 | 0.000 |
| AVG | 0.210 | - |
| BB | 0.000 | -0.315 |
| H | 1.000 | 0.225 |
| HR | 0.000 | -0.126 |
| OBP | 0.278 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.482 |
| SLG | 0.358 | - |
| SO | 2.000 | 0.474 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.122 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | 0.031 |
| predicted_AVG | 0.210 | -0.016 |
| predicted_BB | 0.000 | -0.271 |
| predicted_H | 1.000 | 0.104 |
| predicted_HR | 0.000 | -0.164 |
| predicted_OBP | 0.278 | 0.003 |
| predicted_R | 1.000 | 0.459 |
| predicted_RBI | 1.000 | 0.541 |
| predicted_SLG | 0.358 | -0.029 |
| predicted_SO | 2.000 | 0.882 |
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 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| 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 | - | 19.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 0.000 | 6.000 | 0.1579 | 0.1579 | 0.3158 | 0.1579 | 0.0526 | 0.1053 | 0.0000 | 0.3158 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 1.000 | 0.000 | 2.000 | 3.000 | 6.000 | 0.000 | 14.000 | 0.2432 | 0.2632 | 0.4324 | 0.2432 | 0.0541 | 0.0811 | 0.0000 | 0.3784 |
| season | 0.60 | 127 | - | 454.000 | 120.000 | 17.000 | 2.000 | 17.000 | 65.000 | 68.000 | 41.000 | 139.000 | 0.2643 | 0.3287 | 0.4229 | 0.2643 | 0.0374 | 0.1432 | 0.0903 | 0.3062 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1060 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.6540 |
| predicted_AVG | 0.2393 |
| predicted_BB | 0.2010 |
| predicted_H | 0.8740 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.1580 |
| predicted_OBP | 0.2828 |
| predicted_R | 0.5580 |
| predicted_RBI | 0.4510 |
| predicted_SLG | 0.4036 |
| predicted_SO | 1.1580 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1340 | 0.1060 | 0.1219 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0134 | model_form_blend |
| predicted_AB | 4.2100 | 3.6540 | 3.9690 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2393 | 0.2278 | model_form_blend |
| predicted_BB | 0.3230 | 0.2010 | 0.2701 | model_form_blend |
| predicted_H | 0.9200 | 0.8740 | 0.9001 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.1700 | 0.1580 | 0.1648 | model_form_blend |
| predicted_OBP | 0.2670 | 0.2828 | 0.2738 | model_form_blend |
| predicted_R | 0.5350 | 0.5580 | 0.5450 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4510 | 0.4618 | model_form_blend |
| predicted_SLG | 0.3850 | 0.4036 | 0.3931 | model_form_blend |
| predicted_SO | 1.0940 | 1.1580 | 1.1217 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 462 |
| Season rows before report date | 462 |
| Report year | 2026 |
| Profile rows used | 127 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20261007_LAD@ATL |
| 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-07 |
| 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.172 | 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.570 | 3.000 | 3.000 | Hitting_AB | 3.521 | 4.000 | -0.521 | -1.000 |
| predicted_AVG | 0.244 | 0.333 | 0.333 | Hitting_AVG | 0.260 | 0.250 | 0.074 | 0.083 |
| predicted_BB | 0.424 | 1.000 | 1.000 | Hitting_BB | 0.484 | 0.000 | 0.516 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 0.915 | 1.000 | 0.085 | 0.000 |
| predicted_HR | 0.320 | 0.000 | 0.000 | Hitting_HR | 0.228 | 1.000 | -0.228 | -1.000 |
| predicted_OBP | 0.329 | 0.500 | 0.500 | Hitting_OBP | 0.357 | 0.250 | 0.143 | 0.250 |
| predicted_R | 0.550 | 0.000 | 0.000 | Hitting_R | 0.610 | 1.000 | -0.610 | -1.000 |
| predicted_RBI | 0.550 | 0.000 | 0.000 | Hitting_RBI | 0.588 | 1.000 | -0.588 | -1.000 |
| predicted_SLG | 0.570 | 0.333 | 0.333 | Hitting_SLG | 0.509 | 1.000 | -0.176 | -0.667 |
| predicted_SO | 0.940 | 0.000 | 0.000 | Hitting_SO | 1.015 | 0.000 | -1.015 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.4240 -> 1.0000 (boost 0.5760, better) |
| Biggest Deboost | predicted_SO: 0.9400 -> 0.0000 (deboost -0.9400, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 3 | 1 | predicted_SLG: 0.5700 -> 0.5814 (boost 0.0114, better) | predicted_AB: 3.5700 -> 3.4268 (deboost -0.1432, worse) | Final model input calibrated with local 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.5814 -> 0.5747 (deboost -0.0067, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 3.4268 -> 4.0000 (boost 0.5732, better) | predicted_BB: 0.4018 -> 0.0000 (deboost -0.4018, worse) | AB rounded to 4 (raw=3.57), rates preserved: AVG=0.201 HR/AB=0.087 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5639 -> 1.0000 (boost 0.4361, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.0000 -> 0.4321 (boost 0.4321, better) | predicted_RBI: 1.0000 -> 0.5227 (deboost -0.4773, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 9 | 3 | 6 | 4 | 5 | predicted_BB: 0.4321 -> 1.0000 (boost 0.5679, better) | predicted_SO: 1.3182 -> 1.0000 (deboost -0.3182, 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 | 4 | 0 | 4 | 1 | 3 | - | 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": "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.172,
"predicted_3B": 0.007,
"predicted_AB": 3.57,
"predicted_AVG": 0.244,
"predicted_BB": 0.424,
"predicted_H": 0.87,
"predicted_HR": 0.32,
"predicted_OBP": 0.329,
"predicted_R": 0.55,
"predicted_RBI": 0.55,
"predicted_SLG": 0.57,
"predicted_SO": 0.94
},
"changed_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.169,
"predicted_3B": 0.0057,
"predicted_AB": 3.4268,
"predicted_AVG": 0.2509,
"predicted_BB": 0.4005,
"predicted_H": 0.8578,
"predicted_HBP": 0.027,
"predicted_HR": 0.3139,
"predicted_OBP": 0.3336,
"predicted_R": 0.5678,
"predicted_RBI": 0.5348,
"predicted_SLG": 0.5814,
"predicted_SO": 0.8712
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.57,
"after": 3.4268,
"delta": -0.1432,
"percent_delta": -0.0401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2509,
"delta": 0.0069,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.57,
"after": 0.5814,
"delta": 0.0114,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.94,
"after": 0.8712,
"delta": -0.0688,
"percent_delta": -0.0732,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.57,
"after": 0.5814,
"delta": 0.0114,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.57,
"after": 3.4268,
"delta": -0.1432,
"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": 151
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.169,
"predicted_3B": 0.0057,
"predicted_AB": 3.4268,
"predicted_AVG": 0.2491,
"predicted_BB": 0.4018,
"predicted_H": 0.8536,
"predicted_HBP": 0.027,
"predicted_HR": 0.3118,
"predicted_OBP": 0.3279,
"predicted_R": 0.5639,
"predicted_RBI": 0.5311,
"predicted_SLG": 0.5747,
"predicted_SO": 0.8683
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3336,
"after": 0.3279,
"delta": -0.0057,
"percent_delta": -0.0171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5814,
"after": 0.5747,
"delta": -0.0067,
"percent_delta": -0.0115,
"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.5814,
"after": 0.5747,
"delta": -0.0067,
"percent_delta": -0.0115,
"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.57), rates preserved: AVG=0.201 HR/AB=0.087",
"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.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.4268,
"after": 4.0,
"delta": 0.5732,
"percent_delta": 0.1673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4018,
"after": 0.0,
"delta": -0.4018,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8536,
"after": 1.0,
"delta": 0.1464,
"percent_delta": 0.1715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3118,
"after": 0.0,
"delta": -0.3118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5311,
"after": 1.0,
"delta": 0.4689,
"percent_delta": 0.8829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8683,
"after": 1.0,
"delta": 0.1317,
"percent_delta": 0.1517,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.4268,
"after": 4.0,
"delta": 0.5732,
"percent_delta": 0.1673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4018,
"after": 0.0,
"delta": -0.4018,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.5639,
"after": 1.0,
"delta": 0.4361,
"percent_delta": 0.7734,
"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.5639,
"after": 1.0,
"delta": 0.4361,
"percent_delta": 0.7734,
"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.1679,
"predicted_3B": 0.0083,
"predicted_BB": 0.4321,
"predicted_H": 0.7209,
"predicted_HR": 0.1834,
"predicted_RBI": 0.5227,
"predicted_SO": 1.3182
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1679,
"delta": 0.1679,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4321,
"delta": 0.4321,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7209,
"delta": -0.2791,
"percent_delta": -0.2791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1834,
"delta": 0.1834,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5227,
"delta": -0.4773,
"percent_delta": -0.4773,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.3182,
"delta": 0.3182,
"percent_delta": 0.3182,
"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.4321,
"delta": 0.4321,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5227,
"delta": -0.4773,
"percent_delta": -0.4773,
"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.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.292,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.405,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1679,
"after": 0.0,
"delta": -0.1679,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2491,
"after": 0.2,
"delta": -0.0491,
"percent_delta": -0.1971,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4321,
"after": 1.0,
"delta": 0.5679,
"percent_delta": 1.3143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7209,
"after": 1.0,
"delta": 0.2791,
"percent_delta": 0.3872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1834,
"after": 0.0,
"delta": -0.1834,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3279,
"after": 0.292,
"delta": -0.0359,
"percent_delta": -0.1095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5227,
"after": 1.0,
"delta": 0.4773,
"percent_delta": 0.9131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5747,
"after": 0.405,
"delta": -0.1697,
"percent_delta": -0.2953,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3182,
"after": 1.0,
"delta": -0.3182,
"percent_delta": -0.2414,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4321,
"after": 1.0,
"delta": 0.5679,
"percent_delta": 1.3143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3182,
"after": 1.0,
"delta": -0.3182,
"percent_delta": -0.2414,
"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.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.292,
"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": "Market blend not applied: no props for this hitter",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 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.2,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.292,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.405,
"predicted_SO": 0.0,
"predicted_TB": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.57,
"after": 3.0,
"delta": -0.57,
"percent_delta": -0.1597,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2,
"delta": -0.044,
"percent_delta": -0.1803,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.424,
"after": 1.0,
"delta": 0.576,
"percent_delta": 1.3585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.292,
"delta": -0.037,
"percent_delta": -0.1125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.57,
"after": 0.405,
"delta": -0.165,
"percent_delta": -0.2895,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"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.424,
"after": 1.0,
"delta": 0.576,
"percent_delta": 1.3585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"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.172 | - |
| predicted_3B | 0.007 | - |
| predicted_AB | 3.570 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.424 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.320 | - |
| predicted_OBP | 0.329 | - |
| predicted_R | 0.550 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.570 | - |
| predicted_SO | 0.940 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.003 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 3.427 | -0.143 |
| predicted_AVG | 0.251 | 0.007 |
| predicted_BB | 0.401 | -0.023 |
| predicted_H | 0.858 | -0.012 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.314 | -0.006 |
| predicted_OBP | 0.334 | 0.005 |
| predicted_R | 0.568 | 0.018 |
| predicted_RBI | 0.535 | -0.015 |
| predicted_SLG | 0.581 | 0.011 |
| predicted_SO | 0.871 | -0.069 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 3.427 | 0.000 |
| predicted_AVG | 0.249 | -0.002 |
| predicted_BB | 0.402 | 0.001 |
| predicted_H | 0.854 | -0.004 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.312 | -0.002 |
| predicted_OBP | 0.328 | -0.006 |
| predicted_R | 0.564 | -0.004 |
| predicted_RBI | 0.531 | -0.004 |
| predicted_SLG | 0.575 | -0.007 |
| predicted_SO | 0.868 | -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.57), rates preserved: AVG=0.201 HR/AB=0.087
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.168 | 0.168 |
| 3B | 0.008 | 0.008 |
| BB | 0.432 | 0.432 |
| H | 0.721 | -0.279 |
| HR | 0.183 | 0.183 |
| RBI | 0.523 | -0.477 |
| SO | 1.318 | 0.318 |
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.008 |
| AB | 4.000 | 0.000 |
| AVG | 0.200 | - |
| BB | 1.000 | 0.568 |
| H | 1.000 | 0.279 |
| HR | 0.000 | -0.183 |
| OBP | 0.292 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.477 |
| SLG | 0.405 | - |
| SO | 1.000 | -0.318 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.169 |
| predicted_3B | 0.000 | -0.006 |
| predicted_AB | 4.000 | 0.573 |
| predicted_AVG | 0.200 | -0.049 |
| predicted_BB | 1.000 | 0.598 |
| predicted_H | 1.000 | 0.146 |
| predicted_HR | 0.000 | -0.312 |
| predicted_OBP | 0.292 | -0.036 |
| predicted_R | 1.000 | 0.436 |
| predicted_RBI | 1.000 | 0.469 |
| predicted_SLG | 0.405 | -0.170 |
| predicted_SO | 1.000 | 0.132 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Market blend not applied: no props for this hitter
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| 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 | 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 | - | 15.000 | 5.000 | 1.000 | 0.000 | 3.000 | 3.000 | 4.000 | 2.000 | 2.000 | 0.3333 | 0.4118 | 1.0000 | 0.3333 | 0.2000 | 0.2000 | 0.1333 | 0.1333 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 1.000 | 0.000 | 3.000 | 4.000 | 5.000 | 2.000 | 7.000 | 0.2188 | 0.2647 | 0.5312 | 0.2188 | 0.0938 | 0.1250 | 0.0625 | 0.2188 |
| season | 0.60 | 151 | - | 496.000 | 124.000 | 26.000 | 1.000 | 32.000 | 79.000 | 83.000 | 64.000 | 142.000 | 0.2500 | 0.3433 | 0.5000 | 0.2500 | 0.0645 | 0.1593 | 0.1290 | 0.2863 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1650 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.2410 |
| predicted_AVG | 0.2598 |
| predicted_BB | 0.3700 |
| predicted_H | 0.8420 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.3060 |
| predicted_OBP | 0.3395 |
| predicted_R | 0.5910 |
| predicted_RBI | 0.5150 |
| predicted_SLG | 0.5962 |
| predicted_SO | 0.7820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.1650 | 0.1690 | model_form_blend |
| predicted_3B | 0.0070 | 0.0040 | 0.0057 | model_form_blend |
| predicted_AB | 3.5700 | 3.2410 | 3.4268 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2598 | 0.2509 | model_form_blend |
| predicted_BB | 0.4240 | 0.3700 | 0.4005 | model_form_blend |
| predicted_H | 0.8700 | 0.8420 | 0.8578 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.3200 | 0.3060 | 0.3139 | model_form_blend |
| predicted_OBP | 0.3290 | 0.3395 | 0.3336 | model_form_blend |
| predicted_R | 0.5500 | 0.5910 | 0.5678 | model_form_blend |
| predicted_RBI | 0.5500 | 0.5150 | 0.5348 | model_form_blend |
| predicted_SLG | 0.5700 | 0.5962 | 0.5814 | model_form_blend |
| predicted_SO | 0.9400 | 0.7820 | 0.8712 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 539 |
| Season rows before report date | 539 |
| Report year | 2026 |
| Profile rows used | 151 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20261007_LAD@ATL |
| game_type | full |
| mlbID | 571970 |
| playerID | 571970 |
| playerName | Max Muncy |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-07 |
| 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.184 | 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.730 | 3.000 | 3.000 | Hitting_AB | 3.955 | 3.000 | -0.955 | 0.000 |
| predicted_AVG | 0.252 | 0.333 | 0.333 | Hitting_AVG | 0.276 | 0.667 | 0.058 | -0.333 |
| predicted_BB | 0.368 | 1.000 | 1.000 | Hitting_BB | 0.380 | 0.000 | 0.620 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 1.190 | 1.000 | 1.000 | Hitting_H | 1.091 | 2.000 | -0.091 | -1.000 |
| predicted_HR | 0.180 | 1.000 | 1.000 | Hitting_HR | 0.173 | 0.000 | 0.827 | 1.000 |
| predicted_OBP | 0.355 | 0.500 | 0.500 | Hitting_OBP | 0.343 | 0.667 | 0.157 | -0.167 |
| predicted_R | 0.559 | 1.000 | 1.000 | Hitting_R | 0.624 | 0.000 | 0.376 | 1.000 |
| predicted_RBI | 0.850 | 1.000 | 1.000 | Hitting_RBI | 0.654 | 2.000 | 0.346 | -1.000 |
| predicted_SLG | 0.438 | 1.333 | 1.333 | Hitting_SLG | 0.466 | 0.667 | 0.867 | 0.667 |
| predicted_SO | 0.853 | 2.000 | 2.000 | Hitting_SO | 0.841 | 0.000 | 1.159 | 2.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.8530 -> 2.0000 (boost 1.1470, worse) |
| Biggest Deboost | predicted_AB: 4.7300 -> 3.0000 (deboost -1.7300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 2 | 3 | predicted_SO: 0.8530 -> 0.9088 (boost 0.0558, worse) | predicted_AB: 4.7300 -> 4.2494 (deboost -0.4806, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3550 -> 0.3234 (deboost -0.0316, 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.8048 -> 1.0000 (boost 0.1952, better) | predicted_AB: 4.2494 -> 3.0000 (deboost -1.2494, worse) | AB rounded to 3 (raw=4.73), rates preserved: AVG=0.198 HR/AB=0.038 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5265 -> 1.0000 (boost 0.4735, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 3 | 2 | 3 | 2 | predicted_BB: 0.0000 -> 0.3036 (boost 0.3036, better) | predicted_RBI: 1.0000 -> 0.5070 (deboost -0.4930, 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 | 1 | 8 | predicted_H: 0.7152 -> 1.0000 (boost 0.2848, 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 | 5 | 5 | 0 | 4 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 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_SLG: 0.3640 -> 0.3520 (deboost -0.0120, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "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.184,
"predicted_3B": 0.015,
"predicted_AB": 4.73,
"predicted_AVG": 0.252,
"predicted_BB": 0.368,
"predicted_H": 1.19,
"predicted_HR": 0.18,
"predicted_OBP": 0.355,
"predicted_R": 0.559,
"predicted_RBI": 0.85,
"predicted_SLG": 0.438,
"predicted_SO": 0.853
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.16,
"predicted_3B": 0.0124,
"predicted_AB": 4.2494,
"predicted_AVG": 0.266,
"predicted_BB": 0.3819,
"predicted_H": 1.1207,
"predicted_HBP": 0.051,
"predicted_HR": 0.1804,
"predicted_OBP": 0.355,
"predicted_R": 0.5302,
"predicted_RBI": 0.8104,
"predicted_SLG": 0.4539,
"predicted_SO": 0.9088
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.73,
"after": 4.2494,
"delta": -0.4806,
"percent_delta": -0.1016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.266,
"delta": 0.014,
"percent_delta": 0.0556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.19,
"after": 1.1207,
"delta": -0.0693,
"percent_delta": -0.0582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4539,
"delta": 0.0159,
"percent_delta": 0.0363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.853,
"after": 0.9088,
"delta": 0.0558,
"percent_delta": 0.0654,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.853,
"after": 0.9088,
"delta": 0.0558,
"percent_delta": 0.0654,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.73,
"after": 4.2494,
"delta": -0.4806,
"percent_delta": -0.1016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 136
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.16,
"predicted_3B": 0.0124,
"predicted_AB": 4.2494,
"predicted_AVG": 0.2624,
"predicted_BB": 0.3832,
"predicted_H": 1.1152,
"predicted_HBP": 0.051,
"predicted_HR": 0.1792,
"predicted_OBP": 0.3234,
"predicted_R": 0.5265,
"predicted_RBI": 0.8048,
"predicted_SLG": 0.4324,
"predicted_SO": 0.9058
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3234,
"delta": -0.0316,
"percent_delta": -0.089,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4539,
"after": 0.4324,
"delta": -0.0215,
"percent_delta": -0.0474,
"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.355,
"after": 0.3234,
"delta": -0.0316,
"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=4.73), rates preserved: AVG=0.198 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.2494,
"after": 3.0,
"delta": -1.2494,
"percent_delta": -0.294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3832,
"after": 0.0,
"delta": -0.3832,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1152,
"after": 1.0,
"delta": -0.1152,
"percent_delta": -0.1033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.051,
"after": 0.0,
"delta": -0.051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1792,
"after": 0.0,
"delta": -0.1792,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8048,
"after": 1.0,
"delta": 0.1952,
"percent_delta": 0.2425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9058,
"after": 1.0,
"delta": 0.0942,
"percent_delta": 0.104,
"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.8048,
"after": 1.0,
"delta": 0.1952,
"percent_delta": 0.2425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.2494,
"after": 3.0,
"delta": -1.2494,
"percent_delta": -0.294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.5265,
"after": 1.0,
"delta": 0.4735,
"percent_delta": 0.8993,
"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.5265,
"after": 1.0,
"delta": 0.4735,
"percent_delta": 0.8993,
"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.1411,
"predicted_3B": 0.0086,
"predicted_BB": 0.3036,
"predicted_H": 0.7152,
"predicted_HR": 0.1249,
"predicted_RBI": 0.507,
"predicted_SO": 1.0278
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1411,
"delta": 0.1411,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3036,
"delta": 0.3036,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7152,
"delta": -0.2848,
"percent_delta": -0.2848,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1249,
"delta": 0.1249,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.507,
"delta": -0.493,
"percent_delta": -0.493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3036,
"delta": 0.3036,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.507,
"delta": -0.493,
"percent_delta": -0.493,
"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.209,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.279,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.364,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1411,
"after": 0.0,
"delta": -0.1411,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2624,
"after": 0.209,
"delta": -0.0534,
"percent_delta": -0.2035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3036,
"after": 0.0,
"delta": -0.3036,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7152,
"after": 1.0,
"delta": 0.2848,
"percent_delta": 0.3982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1249,
"after": 0.0,
"delta": -0.1249,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3234,
"after": 0.279,
"delta": -0.0444,
"percent_delta": -0.1373,
"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.507,
"after": 0.0,
"delta": -0.507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4324,
"after": 0.364,
"delta": -0.0684,
"percent_delta": -0.1582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7152,
"after": 1.0,
"delta": 0.2848,
"percent_delta": 0.3982,
"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": 3.0,
"predicted_AVG": 0.209,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.279,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.364,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.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_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.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": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"reference_only": true
},
{
"index": 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.201,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.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.352,
"predicted_SO": 2.0,
"predicted_TB": 4.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.201,
"delta": -0.008,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.352,
"delta": -0.012,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.352,
"delta": -0.012,
"percent_delta": -0.033,
"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.184,
"after": 0.0,
"delta": -0.184,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.73,
"after": 3.0,
"delta": -1.73,
"percent_delta": -0.3658,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.201,
"delta": -0.051,
"percent_delta": -0.2024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 1.0,
"delta": 0.632,
"percent_delta": 1.7174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.19,
"after": 1.0,
"delta": -0.19,
"percent_delta": -0.1597,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.051,
"after": 0.0,
"delta": -0.051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.278,
"delta": -0.077,
"percent_delta": -0.2169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.559,
"after": 1.0,
"delta": 0.441,
"percent_delta": 0.7889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.352,
"delta": -0.086,
"percent_delta": -0.1963,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.853,
"after": 2.0,
"delta": 1.147,
"percent_delta": 1.3447,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 5,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.853,
"after": 2.0,
"delta": 1.147,
"percent_delta": 1.3447,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.73,
"after": 3.0,
"delta": -1.73,
"percent_delta": -0.3658,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.184 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 4.730 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.368 | - |
| predicted_H | 1.190 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.355 | - |
| predicted_R | 0.559 | - |
| predicted_RBI | 0.850 | - |
| predicted_SLG | 0.438 | - |
| predicted_SO | 0.853 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | -0.024 |
| predicted_3B | 0.012 | -0.003 |
| predicted_AB | 4.249 | -0.481 |
| predicted_AVG | 0.266 | 0.014 |
| predicted_BB | 0.382 | 0.014 |
| predicted_H | 1.121 | -0.069 |
| predicted_HBP | 0.051 | - |
| predicted_HR | 0.180 | 0.000 |
| predicted_OBP | 0.355 | 0.000 |
| predicted_R | 0.530 | -0.029 |
| predicted_RBI | 0.810 | -0.040 |
| predicted_SLG | 0.454 | 0.016 |
| predicted_SO | 0.909 | 0.056 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 4.249 | 0.000 |
| predicted_AVG | 0.262 | -0.004 |
| predicted_BB | 0.383 | 0.001 |
| predicted_H | 1.115 | -0.006 |
| predicted_HBP | 0.051 | 0.000 |
| predicted_HR | 0.179 | -0.001 |
| predicted_OBP | 0.323 | -0.032 |
| predicted_R | 0.526 | -0.004 |
| predicted_RBI | 0.805 | -0.006 |
| predicted_SLG | 0.432 | -0.022 |
| predicted_SO | 0.906 | -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.73), rates preserved: AVG=0.198 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.141 | 0.141 |
| 3B | 0.009 | 0.009 |
| BB | 0.304 | 0.304 |
| H | 0.715 | -0.285 |
| HR | 0.125 | 0.125 |
| RBI | 0.507 | -0.493 |
| SO | 1.028 | 0.028 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.141 |
| 3B | 0.000 | -0.009 |
| AB | 3.000 | 0.000 |
| AVG | 0.209 | - |
| BB | 0.000 | -0.304 |
| H | 1.000 | 0.285 |
| HR | 0.000 | -0.125 |
| OBP | 0.279 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -0.507 |
| SLG | 0.364 | - |
| SO | 1.000 | -0.028 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.160 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 3.000 | -1.249 |
| predicted_AVG | 0.209 | -0.053 |
| predicted_BB | 0.000 | -0.383 |
| predicted_H | 1.000 | -0.115 |
| predicted_HR | 0.000 | -0.179 |
| predicted_OBP | 0.279 | -0.044 |
| predicted_R | 0.000 | -0.526 |
| predicted_RBI | 0.000 | -0.805 |
| predicted_SLG | 0.364 | -0.068 |
| 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 | 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 | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.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 | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 0.000 | 0.000 | 1.000 | 6.000 | 2.000 | 2.000 | 6.000 | 0.2941 | 0.3500 | 0.4706 | 0.2941 | 0.0588 | 0.3529 | 0.1177 | 0.3529 |
| last_10 | 0.20 | 10 | - | 32.000 | 10.000 | 1.000 | 0.000 | 2.000 | 7.000 | 4.000 | 5.000 | 11.000 | 0.3125 | 0.4103 | 0.5312 | 0.3125 | 0.0625 | 0.2188 | 0.1562 | 0.3438 |
| season | 0.60 | 136 | - | 521.000 | 143.000 | 25.000 | 2.000 | 23.000 | 86.000 | 76.000 | 50.000 | 116.000 | 0.2745 | 0.3425 | 0.4626 | 0.2745 | 0.0442 | 0.1651 | 0.0960 | 0.2226 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.6270 |
| predicted_AVG | 0.2842 |
| predicted_BB | 0.4000 |
| predicted_H | 1.0310 |
| predicted_HBP | 0.0510 |
| predicted_HR | 0.1810 |
| predicted_OBP | 0.3550 |
| predicted_R | 0.4930 |
| predicted_RBI | 0.7590 |
| predicted_SLG | 0.4745 |
| predicted_SO | 0.9810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1840 | 0.1290 | 0.1600 | model_form_blend |
| predicted_3B | 0.0150 | 0.0090 | 0.0124 | model_form_blend |
| predicted_AB | 4.7300 | 3.6270 | 4.2494 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2842 | 0.2660 | model_form_blend |
| predicted_BB | 0.3680 | 0.4000 | 0.3819 | model_form_blend |
| predicted_H | 1.1900 | 1.0310 | 1.1207 | model_form_blend |
| predicted_HBP | - | 0.0510 | 0.0510 | form_only |
| predicted_HR | 0.1800 | 0.1810 | 0.1804 | model_form_blend |
| predicted_OBP | 0.3550 | 0.3550 | 0.3550 | model_form_blend |
| predicted_R | 0.5590 | 0.4930 | 0.5302 | model_form_blend |
| predicted_RBI | 0.8500 | 0.7590 | 0.8104 | model_form_blend |
| predicted_SLG | 0.4380 | 0.4745 | 0.4539 | model_form_blend |
| predicted_SO | 0.8530 | 0.9810 | 0.9088 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 561 |
| Season rows before report date | 561 |
| Report year | 2026 |
| Profile rows used | 136 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20261007_LAD@ATL |
| game_type | full |
| mlbID | 681624 |
| playerID | 681624 |
| playerName | Andy Pages |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-07 |
| 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.149 | 0.000 | 0.000 | Hitting_2B | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 3.660 | 4.000 | 4.000 | Hitting_AB | 3.694 | 3.000 | 0.306 | 1.000 |
| predicted_AVG | 0.234 | 0.000 | 0.000 | Hitting_AVG | 0.240 | 0.333 | -0.240 | -0.333 |
| predicted_BB | 0.481 | 0.000 | 0.000 | Hitting_BB | 0.522 | 1.000 | -0.522 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.860 | 0.000 | 0.000 | Hitting_H | 0.885 | 1.000 | -0.885 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.121 | 0.000 | -0.121 | 0.000 |
| predicted_OBP | 0.308 | 0.000 | 0.000 | Hitting_OBP | 0.333 | 0.500 | -0.333 | -0.500 |
| predicted_R | 0.584 | 0.000 | 0.000 | Hitting_R | 0.630 | 0.000 | -0.630 | 0.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.513 | 0.000 | -0.513 | 0.000 |
| predicted_SLG | 0.381 | 0.000 | 0.000 | Hitting_SLG | 0.400 | 0.333 | -0.400 | -0.333 |
| predicted_SO | 0.695 | 1.000 | 1.000 | Hitting_SO | 0.723 | 0.000 | 0.277 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_AB: 3.6600 -> 4.0000 (boost 0.3400, better) |
| Biggest Deboost | predicted_H: 0.8600 -> 0.0000 (deboost -0.8600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2340 -> 0.2423 (boost 0.0083, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.3135 -> 0.3216 (boost 0.0081, 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 | 2 | 5 | 1 | 6 | predicted_SO: 0.6813 -> 1.0000 (boost 0.3187, worse) | predicted_AB: 3.6888 -> 3.0000 (deboost -0.6888, worse) | AB rounded to 3 (raw=3.69), rates preserved: AVG=0.203 HR/AB=0.035 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5422 -> 1.0000 (boost 0.4578, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4327 (boost 0.4327, better) | predicted_H: 1.0000 -> 0.6709 (deboost -0.3291, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 9 | 1 | 8 | 0 | 9 | predicted_SO: 0.8855 -> 1.0000 (boost 0.1145, worse) | predicted_H: 0.6709 -> 0.0000 (deboost -0.6709, 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_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.2890 -> 0.2840 (deboost -0.0050, worse) | 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.149,
"predicted_3B": 0.026,
"predicted_AB": 3.66,
"predicted_AVG": 0.234,
"predicted_BB": 0.481,
"predicted_H": 0.86,
"predicted_HR": 0.13,
"predicted_OBP": 0.308,
"predicted_R": 0.584,
"predicted_RBI": 0.38,
"predicted_SLG": 0.381,
"predicted_SO": 0.695
},
"changed_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.1263,
"predicted_3B": 0.0216,
"predicted_AB": 3.6888,
"predicted_AVG": 0.2423,
"predicted_BB": 0.433,
"predicted_H": 0.8958,
"predicted_HBP": 0.013,
"predicted_HR": 0.13,
"predicted_OBP": 0.3135,
"predicted_R": 0.546,
"predicted_RBI": 0.3922,
"predicted_SLG": 0.3858,
"predicted_SO": 0.6836
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2423,
"delta": 0.0083,
"percent_delta": 0.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3135,
"delta": 0.0055,
"percent_delta": 0.0179,
"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.234,
"after": 0.2423,
"delta": 0.0083,
"percent_delta": 0.0355,
"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": 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.1263,
"predicted_3B": 0.0216,
"predicted_AB": 3.6888,
"predicted_AVG": 0.2417,
"predicted_BB": 0.4344,
"predicted_H": 0.8914,
"predicted_HBP": 0.013,
"predicted_HR": 0.1291,
"predicted_OBP": 0.3216,
"predicted_R": 0.5422,
"predicted_RBI": 0.3895,
"predicted_SLG": 0.3926,
"predicted_SO": 0.6813
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3135,
"after": 0.3216,
"delta": 0.0081,
"percent_delta": 0.0258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3858,
"after": 0.3926,
"delta": 0.0068,
"percent_delta": 0.0176,
"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.3135,
"after": 0.3216,
"delta": 0.0081,
"percent_delta": 0.0258,
"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=3.69), rates preserved: AVG=0.203 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1263,
"after": 0.0,
"delta": -0.1263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.6888,
"after": 3.0,
"delta": -0.6888,
"percent_delta": -0.1867,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4344,
"after": 0.0,
"delta": -0.4344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8914,
"after": 1.0,
"delta": 0.1086,
"percent_delta": 0.1218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1291,
"after": 0.0,
"delta": -0.1291,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3895,
"after": 0.0,
"delta": -0.3895,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6813,
"after": 1.0,
"delta": 0.3187,
"percent_delta": 0.4678,
"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.6813,
"after": 1.0,
"delta": 0.3187,
"percent_delta": 0.4678,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.6888,
"after": 3.0,
"delta": -0.6888,
"percent_delta": -0.1867,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.5422,
"after": 1.0,
"delta": 0.4578,
"percent_delta": 0.8443,
"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.5422,
"after": 1.0,
"delta": 0.4578,
"percent_delta": 0.8443,
"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.1481,
"predicted_3B": 0.0128,
"predicted_BB": 0.4301,
"predicted_H": 0.6709,
"predicted_HR": 0.1059,
"predicted_RBI": 0.4327,
"predicted_SO": 0.8855
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1481,
"delta": 0.1481,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4301,
"delta": 0.4301,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6709,
"delta": -0.3291,
"percent_delta": -0.3291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1059,
"delta": 0.1059,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4327,
"delta": 0.4327,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8855,
"delta": -0.1145,
"percent_delta": -0.1145,
"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.4327,
"delta": 0.4327,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.6709,
"delta": -0.3291,
"percent_delta": -0.3291,
"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.194,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.289,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.336,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1481,
"after": 0.0,
"delta": -0.1481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2417,
"after": 0.194,
"delta": -0.0477,
"percent_delta": -0.1974,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4301,
"after": 0.0,
"delta": -0.4301,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6709,
"after": 0.0,
"delta": -0.6709,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1059,
"after": 0.0,
"delta": -0.1059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3216,
"after": 0.289,
"delta": -0.0326,
"percent_delta": -0.1014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4327,
"after": 0.0,
"delta": -0.4327,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3926,
"after": 0.336,
"delta": -0.0566,
"percent_delta": -0.1442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8855,
"after": 1.0,
"delta": 0.1145,
"percent_delta": 0.1293,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 0,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.8855,
"after": 1.0,
"delta": 0.1145,
"percent_delta": 0.1293,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6709,
"after": 0.0,
"delta": -0.6709,
"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.194,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.289,
"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": 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_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 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.194,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.284,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.337,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.284,
"delta": -0.005,
"percent_delta": -0.0173,
"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.289,
"after": 0.284,
"delta": -0.005,
"percent_delta": -0.0173,
"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.149,
"after": 0.0,
"delta": -0.149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.66,
"after": 4.0,
"delta": 0.34,
"percent_delta": 0.0929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.194,
"delta": -0.04,
"percent_delta": -0.1709,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.284,
"delta": -0.024,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.584,
"after": 0.0,
"delta": -0.584,
"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.381,
"after": 0.337,
"delta": -0.044,
"percent_delta": -0.1155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.695,
"after": 1.0,
"delta": 0.305,
"percent_delta": 0.4388,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.66,
"after": 4.0,
"delta": 0.34,
"percent_delta": 0.0929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.149 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.660 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.481 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.584 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.381 | - |
| predicted_SO | 0.695 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.126 | -0.023 |
| predicted_3B | 0.022 | -0.004 |
| predicted_AB | 3.689 | 0.029 |
| predicted_AVG | 0.242 | 0.008 |
| predicted_BB | 0.433 | -0.048 |
| predicted_H | 0.896 | 0.036 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.130 | 0.000 |
| predicted_OBP | 0.314 | 0.006 |
| predicted_R | 0.546 | -0.038 |
| predicted_RBI | 0.392 | 0.012 |
| predicted_SLG | 0.386 | 0.005 |
| predicted_SO | 0.684 | -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.126 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.689 | 0.000 |
| predicted_AVG | 0.242 | -0.001 |
| predicted_BB | 0.434 | 0.001 |
| predicted_H | 0.891 | -0.004 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.129 | -0.001 |
| predicted_OBP | 0.322 | 0.008 |
| predicted_R | 0.542 | -0.004 |
| predicted_RBI | 0.390 | -0.003 |
| predicted_SLG | 0.393 | 0.007 |
| predicted_SO | 0.681 | -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.69), rates preserved: AVG=0.203 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.148 | 0.148 |
| 3B | 0.013 | 0.013 |
| BB | 0.430 | 0.430 |
| H | 0.671 | -0.329 |
| HR | 0.106 | 0.106 |
| RBI | 0.433 | 0.433 |
| SO | 0.885 | -0.115 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.148 |
| 3B | 0.000 | -0.013 |
| AB | 3.000 | 0.000 |
| AVG | 0.194 | - |
| BB | 0.000 | -0.430 |
| H | 0.000 | -0.671 |
| HR | 0.000 | -0.106 |
| OBP | 0.289 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.433 |
| SLG | 0.336 | - |
| SO | 1.000 | 0.115 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.126 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | -0.689 |
| predicted_AVG | 0.194 | -0.048 |
| predicted_BB | 0.000 | -0.434 |
| predicted_H | 0.000 | -0.891 |
| predicted_HR | 0.000 | -0.129 |
| predicted_OBP | 0.289 | -0.033 |
| predicted_R | 1.000 | 0.458 |
| predicted_RBI | 0.000 | -0.390 |
| predicted_SLG | 0.336 | -0.057 |
| predicted_SO | 1.000 | 0.319 |
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 | -1.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 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 | - | 20.000 | 6.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 3.000 | 0.3000 | 0.3333 | 0.4500 | 0.3000 | 0.0500 | 0.1000 | 0.0500 | 0.1500 |
| last_10 | 0.20 | 10 | - | 39.000 | 10.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 2.000 | 6.000 | 0.2564 | 0.2927 | 0.3333 | 0.2564 | 0.0256 | 0.0513 | 0.0513 | 0.1538 |
| season | 0.60 | 154 | - | 550.000 | 130.000 | 23.000 | 4.000 | 18.000 | 72.000 | 90.000 | 74.000 | 107.000 | 0.2364 | 0.3270 | 0.3909 | 0.2364 | 0.0327 | 0.1309 | 0.1346 | 0.1946 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0970 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.7260 |
| predicted_AVG | 0.2529 |
| predicted_BB | 0.3710 |
| predicted_H | 0.9420 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.1300 |
| predicted_OBP | 0.3207 |
| predicted_R | 0.4970 |
| predicted_RBI | 0.4080 |
| predicted_SLG | 0.3919 |
| predicted_SO | 0.6690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1490 | 0.0970 | 0.1263 | model_form_blend |
| predicted_3B | 0.0260 | 0.0160 | 0.0216 | model_form_blend |
| predicted_AB | 3.6600 | 3.7260 | 3.6888 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2529 | 0.2423 | model_form_blend |
| predicted_BB | 0.4810 | 0.3710 | 0.4330 | model_form_blend |
| predicted_H | 0.8600 | 0.9420 | 0.8958 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.1300 | 0.1300 | 0.1300 | model_form_blend |
| predicted_OBP | 0.3080 | 0.3207 | 0.3135 | model_form_blend |
| predicted_R | 0.5840 | 0.4970 | 0.5460 | model_form_blend |
| predicted_RBI | 0.3800 | 0.4080 | 0.3922 | model_form_blend |
| predicted_SLG | 0.3810 | 0.3919 | 0.3858 | model_form_blend |
| predicted_SO | 0.6950 | 0.6690 | 0.6836 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 602 |
| Season rows before report date | 602 |
| 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.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20261007_LAD@ATL |
| game_type | full |
| mlbID | 663656 |
| playerID | 663656 |
| playerName | Kyle Tucker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-07 |
| 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.105 | 1.000 | 1.000 | Hitting_2B | 0.097 | 0.000 | 0.903 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.526 | 3.000 | 3.000 | Hitting_AB | 2.591 | 2.000 | 0.409 | 1.000 |
| predicted_AVG | 0.219 | 0.333 | 0.333 | Hitting_AVG | 0.224 | 0.000 | 0.109 | 0.333 |
| predicted_BB | 0.158 | 0.000 | 0.000 | Hitting_BB | 0.204 | 0.000 | -0.204 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.553 | 1.000 | 1.000 | Hitting_H | 0.581 | 0.000 | 0.419 | 1.000 |
| predicted_HR | 0.132 | 0.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_OBP | 0.265 | 0.333 | 0.333 | Hitting_OBP | 0.281 | 0.000 | 0.053 | 0.333 |
| predicted_R | 0.342 | 1.000 | 1.000 | Hitting_R | 0.387 | 0.000 | 0.613 | 1.000 |
| predicted_RBI | 0.368 | 0.000 | 0.000 | Hitting_RBI | 0.430 | 0.000 | -0.430 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.417 | 0.667 | 0.667 | Hitting_SLG | 0.411 | 0.000 | 0.256 | 0.667 |
| predicted_SO | 0.789 | 1.000 | 1.000 | Hitting_SO | 0.871 | 0.000 | 0.129 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_2B: 0.1050 -> 1.0000 (boost 0.8950, better) |
| Biggest Deboost | predicted_RBI: 0.3680 -> 0.0000 (deboost -0.3680, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_AB: 2.5260 -> 2.6875 (boost 0.1615, 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_H: 0.5934 -> 1.0000 (boost 0.4066, better) | predicted_RBI: 0.3982 -> 0.0000 (deboost -0.3982, worse) | AB rounded to 3 (raw=2.69), rates preserved: AVG=0.185 HR/AB=0.057 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3484 -> 0.0000 (deboost -0.3484, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.4246 (boost 0.4246, better) | predicted_H: 1.0000 -> 0.6208 (deboost -0.3792, 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 | 0 | 8 | 1 | 7 | - | predicted_H: 0.6208 -> 0.0000 (deboost -0.6208, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Market blend not applied: no props for this hitter |
| 12 | play_by_play_realization | 3 | 3 | 0 | 3 | 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": "571771",
"player_name": "Enrique Hernández",
"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.105,
"predicted_3B": 0.0,
"predicted_AB": 2.526,
"predicted_AVG": 0.219,
"predicted_BB": 0.158,
"predicted_H": 0.553,
"predicted_HR": 0.132,
"predicted_OBP": 0.265,
"predicted_R": 0.342,
"predicted_RBI": 0.368,
"predicted_SLG": 0.417,
"predicted_SO": 0.789
},
"changed_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.1046,
"predicted_3B": 0.0012,
"predicted_AB": 2.6875,
"predicted_AVG": 0.2217,
"predicted_BB": 0.1542,
"predicted_H": 0.5963,
"predicted_HBP": 0.006,
"predicted_HR": 0.1531,
"predicted_OBP": 0.2647,
"predicted_R": 0.3508,
"predicted_RBI": 0.401,
"predicted_SLG": 0.4308,
"predicted_SO": 0.7786
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 2.526,
"after": 2.6875,
"delta": 0.1615,
"percent_delta": 0.0639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4308,
"delta": 0.0138,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.526,
"after": 2.6875,
"delta": 0.1615,
"percent_delta": 0.0639,
"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": 38
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1046,
"predicted_3B": 0.0012,
"predicted_AB": 2.6875,
"predicted_AVG": 0.2208,
"predicted_BB": 0.1547,
"predicted_H": 0.5934,
"predicted_HBP": 0.006,
"predicted_HR": 0.1521,
"predicted_OBP": 0.2632,
"predicted_R": 0.3484,
"predicted_RBI": 0.3982,
"predicted_SLG": 0.4304,
"predicted_SO": 0.776
},
"changed_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.69), rates preserved: AVG=0.185 HR/AB=0.057",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1046,
"after": 0.0,
"delta": -0.1046,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.6875,
"after": 3.0,
"delta": 0.3125,
"percent_delta": 0.1163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1547,
"after": 0.0,
"delta": -0.1547,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5934,
"after": 1.0,
"delta": 0.4066,
"percent_delta": 0.6852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1521,
"after": 0.0,
"delta": -0.1521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3982,
"after": 0.0,
"delta": -0.3982,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.776,
"after": 1.0,
"delta": 0.224,
"percent_delta": 0.2887,
"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.5934,
"after": 1.0,
"delta": 0.4066,
"percent_delta": 0.6852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3982,
"after": 0.0,
"delta": -0.3982,
"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.3484,
"after": 0.0,
"delta": -0.3484,
"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.3484,
"after": 0.0,
"delta": -0.3484,
"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.0076,
"predicted_BB": 0.2386,
"predicted_H": 0.6208,
"predicted_HR": 0.1163,
"predicted_RBI": 0.4246,
"predicted_SO": 1.2784
},
"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.2386,
"delta": 0.2386,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6208,
"delta": -0.3792,
"percent_delta": -0.3792,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1163,
"delta": 0.1163,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4246,
"delta": 0.4246,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.2784,
"delta": 0.2784,
"percent_delta": 0.2784,
"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.4246,
"delta": 0.4246,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.6208,
"delta": -0.3792,
"percent_delta": -0.3792,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.199,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.262,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.358,
"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.2208,
"after": 0.199,
"delta": -0.0218,
"percent_delta": -0.0987,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2386,
"after": 0.0,
"delta": -0.2386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6208,
"after": 0.0,
"delta": -0.6208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1163,
"after": 0.0,
"delta": -0.1163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4246,
"after": 0.0,
"delta": -0.4246,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4304,
"after": 0.358,
"delta": -0.0724,
"percent_delta": -0.1682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2784,
"after": 1.0,
"delta": -0.2784,
"percent_delta": -0.2178,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 0,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6208,
"after": 0.0,
"delta": -0.6208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.199,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.262,
"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": "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": 3.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_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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": 3.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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.199,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.262,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.358,
"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.105,
"after": 1.0,
"delta": 0.895,
"percent_delta": 8.5238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.526,
"after": 3.0,
"delta": 0.474,
"percent_delta": 0.1876,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.199,
"delta": -0.02,
"percent_delta": -0.0913,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.158,
"after": 0.0,
"delta": -0.158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.553,
"after": 1.0,
"delta": 0.447,
"percent_delta": 0.8083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.342,
"after": 1.0,
"delta": 0.658,
"percent_delta": 1.924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.368,
"after": 0.0,
"delta": -0.368,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.358,
"delta": -0.059,
"percent_delta": -0.1415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.789,
"after": 1.0,
"delta": 0.211,
"percent_delta": 0.2674,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.105,
"after": 1.0,
"delta": 0.895,
"percent_delta": 8.5238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.368,
"after": 0.0,
"delta": -0.368,
"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.105 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.526 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.158 | - |
| predicted_H | 0.553 | - |
| predicted_HR | 0.132 | - |
| predicted_OBP | 0.265 | - |
| predicted_R | 0.342 | - |
| predicted_RBI | 0.368 | - |
| predicted_SLG | 0.417 | - |
| predicted_SO | 0.789 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.105 | -0.000 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.688 | 0.162 |
| predicted_AVG | 0.222 | 0.003 |
| predicted_BB | 0.154 | -0.004 |
| predicted_H | 0.596 | 0.043 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.153 | 0.021 |
| predicted_OBP | 0.265 | -0.000 |
| predicted_R | 0.351 | 0.009 |
| predicted_RBI | 0.401 | 0.033 |
| predicted_SLG | 0.431 | 0.014 |
| predicted_SO | 0.779 | -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.105 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.688 | 0.000 |
| predicted_AVG | 0.221 | -0.001 |
| predicted_BB | 0.155 | 0.001 |
| predicted_H | 0.593 | -0.003 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.152 | -0.001 |
| predicted_OBP | 0.263 | -0.002 |
| predicted_R | 0.348 | -0.002 |
| predicted_RBI | 0.398 | -0.003 |
| predicted_SLG | 0.430 | -0.000 |
| predicted_SO | 0.776 | -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=2.69), rates preserved: AVG=0.185 HR/AB=0.057
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.008 | 0.008 |
| BB | 0.239 | 0.239 |
| H | 0.621 | -0.379 |
| HR | 0.116 | 0.116 |
| RBI | 0.425 | 0.425 |
| SO | 1.278 | 0.278 |
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.008 |
| AB | 3.000 | 0.000 |
| AVG | 0.199 | - |
| BB | 0.000 | -0.239 |
| H | 0.000 | -0.621 |
| HR | 0.000 | -0.116 |
| OBP | 0.262 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.425 |
| SLG | 0.358 | - |
| SO | 1.000 | -0.278 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.105 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.312 |
| predicted_AVG | 0.199 | -0.022 |
| predicted_BB | 0.000 | -0.155 |
| predicted_H | 0.000 | -0.593 |
| predicted_HR | 0.000 | -0.152 |
| predicted_OBP | 0.262 | -0.001 |
| predicted_R | 0.000 | -0.348 |
| predicted_RBI | 0.000 | -0.398 |
| predicted_SLG | 0.358 | -0.072 |
| predicted_SO | 1.000 | 0.224 |
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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.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 | - | 15.000 | 3.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 0.000 | 3.000 | 0.2000 | 0.2000 | 0.6000 | 0.2000 | 0.1333 | 0.2000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 29.000 | 7.000 | 1.000 | 0.000 | 2.000 | 5.000 | 2.000 | 1.000 | 6.000 | 0.2414 | 0.2667 | 0.4828 | 0.2414 | 0.0690 | 0.1724 | 0.0345 | 0.2069 |
| season | 0.60 | 38 | - | 96.000 | 21.000 | 4.000 | 0.000 | 5.000 | 14.000 | 13.000 | 6.000 | 30.000 | 0.2188 | 0.2647 | 0.4167 | 0.2188 | 0.0521 | 0.1458 | 0.0625 | 0.3125 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1040 |
| predicted_3B | 0.0030 |
| predicted_AB | 2.9470 |
| predicted_AVG | 0.2260 |
| predicted_BB | 0.1480 |
| predicted_H | 0.6660 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1870 |
| predicted_OBP | 0.2642 |
| predicted_R | 0.3650 |
| predicted_RBI | 0.4540 |
| predicted_SLG | 0.4531 |
| predicted_SO | 0.7620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1050 | 0.1040 | 0.1046 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 2.5260 | 2.9470 | 2.6875 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2260 | 0.2217 | model_form_blend |
| predicted_BB | 0.1580 | 0.1480 | 0.1542 | model_form_blend |
| predicted_H | 0.5530 | 0.6660 | 0.5963 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1320 | 0.1870 | 0.1531 | model_form_blend |
| predicted_OBP | 0.2650 | 0.2642 | 0.2647 | model_form_blend |
| predicted_R | 0.3420 | 0.3650 | 0.3508 | model_form_blend |
| predicted_RBI | 0.3680 | 0.4540 | 0.4010 | model_form_blend |
| predicted_SLG | 0.4170 | 0.4531 | 0.4308 | model_form_blend |
| predicted_SO | 0.7890 | 0.7620 | 0.7786 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 93 |
| Season rows before report date | 93 |
| Report year | 2026 |
| Profile rows used | 38 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| 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 | 2B |
| gameID | 20261007_LAD@ATL |
| game_type | full |
| mlbID | 571771 |
| playerID | 571771 |
| playerName | Enrique Hernández |
| pos | 3B |
| started | True |
| startingPosition | 2B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-07 |
| sl_k_percent | 29.2 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.293 |
| sl_xwoba | 0.279 |
| sl_xba | 0.22 |
| sl_xslg | 0.367 |
| sl_sweet_spot_percent | 27.4 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 40.3 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 10.9 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 52.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.364 | 2.000 | 1.636 | 1.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 1.727 | 1.000 | 2.273 | 3.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 4.909 | 2.000 | 1.091 | 4.000 |
| predicted_IP | 6.100 | 6.100 | 6.100 | Pitching_InningsPitched | 6.118 | 6.000 | -0.018 | 0.100 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 7.000 | 7.000 | -1.000 | -1.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: 6.3333 -> 6.1000 (deboost -0.2333, 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 | 3 | 1 | 2 | 2 | 1 | predicted_SO: 6.0000 -> 7.0000 (boost 1.0000, better) | predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 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_ER: 3.0000 -> 4.0000 (boost 1.0000, worse) | predicted_SO: 7.0000 -> 6.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": "669373",
"player_name": "Tarik Skubal",
"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": 3.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.3333,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"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": 3.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"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": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"predicted_R": 4.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"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": 6.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_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"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 | 4.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.333 | - |
| predicted_SO | 6.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | 0.000 |
| predicted_ER | 3.000 | -1.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.100 | -0.233 |
| predicted_SO | 7.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 | 30.000 | - |
| ER | 4.000 | - |
| H | 6.000 | - |
| HR | 0.000 | - |
| IP | 6.100 | - |
| Pitches | 121.000 | - |
| R | 4.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 | 32.100 | 7.000 | 20.000 | 7.000 | 34.000 | 3.000 | 1.9485 | 0.8351 | 0.2165 | 0.6186 | 0.2165 | 1.0515 | 0.0928 |
| last_10 | 0.35 | 10 | 62.000 | 17.000 | 50.000 | 13.000 | 71.000 | 4.000 | 2.4677 | 1.0161 | 0.2742 | 0.8065 | 0.2097 | 1.1452 | 0.0645 |
| season | 0.20 | 27 | 164.200 | 49.000 | 128.000 | 29.000 | 193.000 | 15.000 | 2.6781 | 0.9534 | 0.2976 | 0.7773 | 0.1761 | 1.1721 | 0.0911 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4650 |
| predicted_ER | 1.8440 |
| predicted_ERA | 2.6434 |
| predicted_H | 4.7590 |
| predicted_HR | 0.5820 |
| predicted_IP | 6.1000 |
| predicted_SO | 6.7870 |
| predicted_WHIP | 0.9916 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.4650 | 2.1036 | model_form_blend |
| predicted_ER | 4.0000 | 1.8440 | 2.7409 | model_form_blend |
| predicted_ERA | - | 2.6434 | 2.6434 | form_only |
| predicted_H | 6.0000 | 4.7590 | 5.2752 | model_form_blend |
| predicted_HR | 0.0000 | 0.5820 | 0.3399 | model_form_blend |
| predicted_IP | 6.1000 | 6.1000 | 6.1000 | model_form_blend |
| predicted_SO | 6.0000 | 6.7870 | 6.4596 | model_form_blend |
| predicted_WHIP | - | 0.9916 | 0.9916 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 11 |
| Season rows before report date | 11 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.1 |
| H | 6 |
| R | 4 |
| ER | 4 |
| BB | 3 |
| SO | 6 |
| HR | 0 |
| BF | 30 |
| Pitches | 121 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 22 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.50 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 6 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 94 |
| Pitching_R | 1 |
| Pitching_SO | 7 |
| Pitching_Strikes | 62 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20261003_ATL@LAD |
| game_type | full |
| mlbID | 669373 |
| playerID | 669373 |
| playerName | Tarik Skubal |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-03 |
| sl_k_percent | 30.0 |
| sl_bb_percent | 4.4 |
| sl_woba | 0.264 |
| sl_xwoba | 0.266 |
| sl_sweet_spot_percent | 34.6 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 34.8 |
| sl_whiff_percent | 31.7 |
| sl_swing_percent | 53.4 |
| sl_avg_best_speed | 75.355637897 |
| sl_avg_hyper_speed | 93.484764538 |
| 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.432 | 0.000 | 0.568 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.419 | 1.000 | -0.419 | -1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.658 | 0.200 | 0.542 | 1.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.014 | 0.000 | 1.986 | 3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 4 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 1 |
| Better Metrics | 3 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, better) |
| Biggest Deboost | predicted_H: 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 | pitcher_quality_run_redistribution | 2 | 2 | 0 | 1 | 1 | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) | - | Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent. |
| 8 | play_by_play_realization | 4 | 2 | 2 | 3 | 1 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, better) | 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 |
| 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": "681911",
"player_name": "Alex Vesia",
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "pitcher_quality_run_redistribution",
"description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 9,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"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": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 1.200 | 0.200 |
| predicted_SO | 1.000 | 0.000 |
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 1.000 | - |
| BF | 6.000 | - |
| ER | 0.000 | - |
| H | 0.000 | - |
| HR | 0.000 | - |
| IP | 1.200 | - |
| Pitches | 24.000 | - |
| R | 0.000 | - |
| SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 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 | 8.200 | 0.000 | 2.000 | 1.000 | 11.000 | 0.000 | 0.0000 | 0.3462 | 0.0000 | 0.2308 | 0.1154 | 1.2692 | 0.0000 |
| season | 0.20 | 74 | 59.200 | 17.000 | 31.000 | 32.000 | 75.000 | 4.000 | 2.5642 | 1.0559 | 0.2849 | 0.5195 | 0.5363 | 1.2570 | 0.0670 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2700 |
| predicted_ER | 0.1800 |
| predicted_ERA | 1.6994 |
| predicted_H | 0.4610 |
| predicted_HR | 0.0500 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1200 |
| predicted_WHIP | 0.7679 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2700 | 0.1426 | model_form_blend |
| predicted_ER | 0.0000 | 0.1800 | 0.0951 | model_form_blend |
| predicted_ERA | - | 1.6994 | 1.6994 | form_only |
| predicted_H | 1.0000 | 0.4610 | 0.7153 | model_form_blend |
| predicted_HR | 0.0000 | 0.0500 | 0.0264 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1200 | 1.0634 | model_form_blend |
| predicted_WHIP | - | 0.7679 | 0.7679 | 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 | 74 |
| Season rows before report date | 74 |
| Report year | 2026 |
| Profile rows used | 74 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 3 |
| HR | 0 |
| BF | 6 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| 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 | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20261007_LAD@ATL |
| game_type | full |
| mlbID | 681911 |
| playerID | 681911 |
| playerName | Alex Vesia |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-10-07 |
| 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 |
| Field | Value |
|---|---|
| Pitcher | Jacob Misiorowski |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 1.3589 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 97.5351 |
| Avg Spin | 2568.6403 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 2 |
| Pre SO | 6 |
| Season ERA | 1.8638 |
| Season WHIP | 0.8116 |
| Role Avg IP | 5.7630 |
| Recent Avg IP | 4.7330 |
| Last Start IP | 4 |
{
"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.1447,
"defense_index": 1.1761,
"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.102,
"defense_index": 1.2114,
"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.1447,
"opponent_offense_edge": 0.102,
"defense_strength": 0.1761,
"opponent_defense_weakness": -0.2114,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9974,
"strikeout": 0.9926
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "694819",
"profile": {
"available": true,
"pitcher_id": "694819",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 614.0,
"k_percent": 37.9,
"bb_percent": 6.6,
"woba": 0.216,
"xwoba": 0.226,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 33.3,
"avg_best_speed": 76.4985,
"avg_hyper_speed": 92.9527,
"whiff_percent": 37.3,
"swing_percent": 51.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.6247,
"command_and_miss": 1.7507,
"regression_edge": -0.2857,
"xwoba_edge": 2.4571,
"barrel_edge": 0.8,
"hard_hit_edge": 0.6571,
"whiff_edge": 1.7286,
"bb_edge": 0.65,
"pitch_design_score": 0.28
},
"quality_score": 1.3589,
"sample_weight": 1.0,
"run_prevention_factor": 0.8845,
"strikeout_factor": 1.1594,
"walk_factor": 0.948,
"homer_factor": 0.836,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "694819",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.8845,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.8845,
"adjusted": 3
},
"predicted_BB": {
"original": 1.0,
"factor": 0.948,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.836,
"adjusted": 0
},
"predicted_SO": {
"original": 7.0,
"factor": 1.1594,
"adjusted": 8
}
}
},
"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": 51.2,
"ER": 14,
"H": 36,
"BB": 16,
"SO": 63,
"HR": 3,
"ERA": 2.438709677419355,
"WHIP": 1.006451612903226,
"K9": 10.974193548387097,
"HR9": 0.5225806451612903,
"games_pitched": 10,
"quality_starts": 5,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-03T00:00:00"
}{
"available": true,
"pitcher_id": "694819",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 97.5350871630707,
"release_spin_rate": 2568.640260744372,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 97.5350871630707,
"release_spin_rate": 2568.640260744372,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 97.5351,
"release_spin_rate": 2568.6403,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 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": "694819",
"report_date": "20261011",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.2,
"ER": 3.0,
"R": 3.0,
"H": 16.0,
"BB": 6.0,
"SO": 31.0,
"HR": 0.0,
"BF": 91.0,
"Pitches": 375.0
},
"per_game": {
"IP": 4.2,
"ER": 0.6,
"R": 0.6,
"H": 3.2,
"BB": 1.2,
"SO": 6.2,
"HR": 0.0,
"BF": 18.2,
"Pitches": 75.0
},
"rates": {
"ERA": 1.1408,
"WHIP": 0.9296,
"ER_per_IP": 0.12676,
"H_per_IP": 0.67606,
"BB_per_IP": 0.25352,
"SO_per_IP": 1.30986,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.2,
"ER": 14.0,
"R": 14.0,
"H": 36.0,
"BB": 16.0,
"SO": 63.0,
"HR": 3.0,
"BF": 203.0,
"Pitches": 844.0
},
"per_game": {
"IP": 5.1,
"ER": 1.4,
"R": 1.4,
"H": 3.6,
"BB": 1.6,
"SO": 6.3,
"HR": 0.3,
"BF": 20.3,
"Pitches": 84.4
},
"rates": {
"ERA": 2.4387,
"WHIP": 1.0065,
"ER_per_IP": 0.27097,
"H_per_IP": 0.69677,
"BB_per_IP": 0.30968,
"SO_per_IP": 1.21935,
"HR_per_IP": 0.05806
}
},
"season": {
"games": 31,
"totals": {
"IP": 178.2,
"ER": 37.0,
"R": 45.0,
"H": 100.0,
"BB": 45.0,
"SO": 258.0,
"HR": 14.0,
"BF": 683.0,
"Pitches": 2735.0
},
"per_game": {
"IP": 5.2,
"ER": 1.1935,
"R": 1.4516,
"H": 3.2258,
"BB": 1.4516,
"SO": 8.3226,
"HR": 0.4516,
"BF": 22.0323,
"Pitches": 88.2258
},
"rates": {
"ERA": 1.8638,
"WHIP": 0.8116,
"ER_per_IP": 0.20709,
"H_per_IP": 0.5597,
"BB_per_IP": 0.25187,
"SO_per_IP": 1.44403,
"HR_per_IP": 0.07836
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 1.243,
"predicted_H": 3.685,
"predicted_BB": 1.505,
"predicted_SO": 6.549,
"predicted_HR": 0.269,
"predicted_ERA": 2.1407,
"predicted_WHIP": 0.9932
}
}{
"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.0,
"form": 5.1,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.243,
"final": 1.5524,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 3.685,
"final": 2.9964,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.505,
"final": 0.8899,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 6.549,
"final": 5.5073,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.269,
"final": 0.5677,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1407,
"final": 2.1407,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9932,
"final": 0.9932,
"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 | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| 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.1447,
"defense_index": 1.1761,
"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.102,
"defense_index": 1.2114,
"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.1447,
"opponent_offense_edge": 0.102,
"defense_strength": 0.1761,
"opponent_defense_weakness": -0.2114,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9974,
"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.129,
"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": "20261011",
"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.0962,
"predicted_WHIP": 0.9812
}
}{
"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.129,
"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": 0.0,
"form": 0.442,
"final": 0.2328,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.928,
"final": 0.4888,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.334,
"final": 0.6492,
"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.0962,
"final": 3.0962,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9812,
"final": 0.9812,
"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 |
| 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 | 1 |
| Pre SO | 0 |
| 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.1447,
"defense_index": 1.1761,
"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.102,
"defense_index": 1.2114,
"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.1447,
"opponent_offense_edge": 0.102,
"defense_strength": 0.1761,
"opponent_defense_weakness": -0.2114,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9974,
"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.506,
"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": "20261011",
"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.2987,
"predicted_WHIP": 1.3614
}
}{
"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.506,
"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": 1.0,
"form": 0.956,
"final": 0.9759,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.354,
"final": 0.6466,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.747,
"final": 0.8616,
"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.2987,
"final": 2.2987,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3614,
"final": 1.3614,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Aaron Ashby |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.7013 |
| ESPN Rank | - |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 2.9368 |
| Season WHIP | 1.2737 |
| Role Avg IP | 1.2030 |
| Recent Avg IP | 1.9330 |
| 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.1447,
"defense_index": 1.1761,
"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.102,
"defense_index": 1.2114,
"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.1447,
"opponent_offense_edge": 0.102,
"defense_strength": 0.1761,
"opponent_defense_weakness": -0.2114,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9974,
"strikeout": 0.9926
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676879",
"profile": {
"available": true,
"pitcher_id": "676879",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 358.0,
"k_percent": 30.3,
"bb_percent": 10.7,
"woba": 0.287,
"xwoba": 0.268,
"sweet_spot_percent": 28.1,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 40.2,
"avg_best_speed": 76.2048,
"avg_hyper_speed": 94.4472,
"whiff_percent": 32.1,
"swing_percent": 40.5
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.7853,
"command_and_miss": 0.7971,
"regression_edge": 0.5429,
"xwoba_edge": 1.2571,
"barrel_edge": 0.5111,
"hard_hit_edge": -0.3286,
"whiff_edge": 0.9857,
"bb_edge": -0.375,
"pitch_design_score": 0.0
},
"quality_score": 0.7013,
"sample_weight": 1.0,
"run_prevention_factor": 0.9404,
"strikeout_factor": 1.0863,
"walk_factor": 1.03,
"homer_factor": 0.9345,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "676879",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9404,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9404,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.03,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9345,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0863,
"adjusted": 3
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 15.0,
"ER": 2,
"H": 7,
"BB": 4,
"SO": 12,
"HR": 1,
"ERA": 1.2,
"WHIP": 0.7333333333333333,
"K9": 7.199999999999999,
"HR9": 0.6,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-07T00:00:00"
}{
"available": false,
"pitcher_id": "676879",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 19.641,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7971,
"prior_weight": 0.2029
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "676879",
"report_date": "20261011",
"season_year": 2026,
"rows_used": 78,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 9.2,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 9.0,
"HR": 0.0,
"BF": 32.0,
"Pitches": 132.0
},
"per_game": {
"IP": 2.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.4,
"SO": 1.8,
"HR": 0.0,
"BF": 6.4,
"Pitches": 26.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4138,
"ER_per_IP": 0.0,
"H_per_IP": 0.2069,
"BB_per_IP": 0.2069,
"SO_per_IP": 0.93103,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 15.0,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 4.0,
"SO": 12.0,
"HR": 1.0,
"BF": 54.0,
"Pitches": 223.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.7,
"BB": 0.4,
"SO": 1.2,
"HR": 0.1,
"BF": 5.4,
"Pitches": 22.3
},
"rates": {
"ERA": 1.2,
"WHIP": 0.7333,
"ER_per_IP": 0.13333,
"H_per_IP": 0.46667,
"BB_per_IP": 0.26667,
"SO_per_IP": 0.8,
"HR_per_IP": 0.06667
}
},
"season": {
"games": 78,
"totals": {
"IP": 95.0,
"ER": 31.0,
"R": 36.0,
"H": 78.0,
"BB": 43.0,
"SO": 121.0,
"HR": 8.0,
"BF": 402.0,
"Pitches": 1655.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3974,
"R": 0.4615,
"H": 1.0,
"BB": 0.5513,
"SO": 1.5513,
"HR": 0.1026,
"BF": 5.1538,
"Pitches": 21.2179
},
"rates": {
"ERA": 2.9368,
"WHIP": 1.2737,
"ER_per_IP": 0.32632,
"H_per_IP": 0.82105,
"BB_per_IP": 0.45263,
"SO_per_IP": 1.27368,
"HR_per_IP": 0.08421
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.278,
"predicted_H": 0.769,
"predicted_BB": 0.429,
"predicted_SO": 1.365,
"predicted_HR": 0.089,
"predicted_ERA": 1.7418,
"predicted_WHIP": 0.8334
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4357,
"form_weight": 0.5643,
"form_reliability": 0.7971,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 19.641,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7971,
"prior_weight": 0.2029
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.1,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.278,
"final": 0.1569,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.769,
"final": 1.3054,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.429,
"final": 0.2421,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.365,
"final": 1.6417,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.089,
"final": 0.0502,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.7418,
"final": 1.7418,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8334,
"final": 0.8334,
"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.209 | 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 | 5.100 | 4.000 | 4.000 | Hitting_AB | 4.272 | 4.000 | -0.272 | 0.000 |
| predicted_AVG | 0.245 | 0.250 | 0.250 | Hitting_AVG | 0.299 | 0.250 | -0.049 | 0.000 |
| predicted_BB | 0.372 | 0.000 | 0.000 | Hitting_BB | 0.380 | 1.000 | -0.380 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 1.250 | 1.000 | 1.000 | Hitting_H | 1.279 | 1.000 | -0.279 | 0.000 |
| predicted_HR | 0.240 | 0.000 | 0.000 | Hitting_HR | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_OBP | 0.333 | 0.250 | 0.250 | Hitting_OBP | 0.357 | 0.400 | -0.107 | -0.150 |
| predicted_R | 0.752 | 0.000 | 0.000 | Hitting_R | 0.818 | 0.000 | -0.818 | 0.000 |
| predicted_RBI | 1.090 | 1.000 | 1.000 | Hitting_RBI | 0.624 | 1.000 | 0.376 | 0.000 |
| predicted_SLG | 0.439 | 0.250 | 0.250 | Hitting_SLG | 0.499 | 0.250 | -0.249 | 0.000 |
| predicted_SO | 1.047 | 0.000 | 0.000 | Hitting_SO | 1.094 | 0.000 | -1.094 | 0.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_AB: 5.1000 -> 4.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 | 6 | 3 | 3 | 4 | 2 | predicted_AVG: 0.2450 -> 0.2685 (boost 0.0235, better) | predicted_AB: 5.1000 -> 4.5893 (deboost -0.5107, worse) | Final model input calibrated with local 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.3446 -> 0.3186 (deboost -0.0260, 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.9167 -> 1.0000 (boost 0.0833, worse) | predicted_AB: 4.5893 -> 4.0000 (deboost -0.5893, worse) | AB rounded to 4 (raw=5.10), rates preserved: AVG=0.227 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.333) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7410 -> 1.0000 (boost 0.2590, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_BB: 0.0000 -> 0.3571 (boost 0.3571, better) | predicted_RBI: 1.0000 -> 0.5654 (deboost -0.4346, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 8 | 3 | 5 | 4 | 4 | predicted_HR: 0.1625 -> 1.0000 (boost 0.8375, better) | predicted_BB: 0.3571 -> 0.0000 (deboost -0.3571, 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_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 | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2620 -> 0.2370 (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": "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.209,
"predicted_3B": 0.0,
"predicted_AB": 5.1,
"predicted_AVG": 0.245,
"predicted_BB": 0.372,
"predicted_H": 1.25,
"predicted_HR": 0.24,
"predicted_OBP": 0.333,
"predicted_R": 0.752,
"predicted_RBI": 1.09,
"predicted_SLG": 0.439,
"predicted_SO": 1.047
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1715,
"predicted_3B": 0.0004,
"predicted_AB": 4.5893,
"predicted_AVG": 0.2685,
"predicted_BB": 0.3598,
"predicted_H": 1.2169,
"predicted_HBP": 0.074,
"predicted_HR": 0.2221,
"predicted_OBP": 0.3446,
"predicted_R": 0.7411,
"predicted_RBI": 1.0133,
"predicted_SLG": 0.4579,
"predicted_SO": 0.9228
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 5.1,
"after": 4.5893,
"delta": -0.5107,
"percent_delta": -0.1001,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2685,
"delta": 0.0235,
"percent_delta": 0.0959,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3446,
"delta": 0.0116,
"percent_delta": 0.0348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.09,
"after": 1.0133,
"delta": -0.0767,
"percent_delta": -0.0704,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4579,
"delta": 0.0189,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.047,
"after": 0.9228,
"delta": -0.1242,
"percent_delta": -0.1186,
"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_AVG",
"before": 0.245,
"after": 0.2685,
"delta": 0.0235,
"percent_delta": 0.0959,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.1,
"after": 4.5893,
"delta": -0.5107,
"percent_delta": -0.1001,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 129
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1715,
"predicted_3B": 0.0004,
"predicted_AB": 4.5893,
"predicted_AVG": 0.2648,
"predicted_BB": 0.3622,
"predicted_H": 1.2152,
"predicted_HBP": 0.074,
"predicted_HR": 0.2215,
"predicted_OBP": 0.3186,
"predicted_R": 0.741,
"predicted_RBI": 1.0131,
"predicted_SLG": 0.4472,
"predicted_SO": 0.9167
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3446,
"after": 0.3186,
"delta": -0.026,
"percent_delta": -0.0754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4579,
"after": 0.4472,
"delta": -0.0107,
"percent_delta": -0.0234,
"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.3446,
"after": 0.3186,
"delta": -0.026,
"percent_delta": -0.0754,
"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.10), rates preserved: AVG=0.227 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1715,
"after": 0.0,
"delta": -0.1715,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.5893,
"after": 4.0,
"delta": -0.5893,
"percent_delta": -0.1284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3622,
"after": 0.0,
"delta": -0.3622,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2152,
"after": 1.0,
"delta": -0.2152,
"percent_delta": -0.1771,
"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.2215,
"after": 0.0,
"delta": -0.2215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9167,
"after": 1.0,
"delta": 0.0833,
"percent_delta": 0.0909,
"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.9167,
"after": 1.0,
"delta": 0.0833,
"percent_delta": 0.0909,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.5893,
"after": 4.0,
"delta": -0.5893,
"percent_delta": -0.1284,
"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.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"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.741,
"after": 1.0,
"delta": 0.259,
"percent_delta": 0.3495,
"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.741,
"after": 1.0,
"delta": 0.259,
"percent_delta": 0.3495,
"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.215,
"predicted_3B": 0.0084,
"predicted_BB": 0.3571,
"predicted_H": 1.0701,
"predicted_HR": 0.1625,
"predicted_RBI": 0.5654,
"predicted_SO": 1.3379
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.215,
"delta": 0.215,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3571,
"delta": 0.3571,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0701,
"delta": 0.0701,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1625,
"delta": 0.1625,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5654,
"delta": -0.4346,
"percent_delta": -0.4346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.3379,
"delta": 0.3379,
"percent_delta": 0.3379,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3571,
"delta": 0.3571,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5654,
"delta": -0.4346,
"percent_delta": -0.4346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.262,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.327,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.438,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.215,
"after": 0.0,
"delta": -0.215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3571,
"after": 0.0,
"delta": -0.3571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0701,
"after": 1.0,
"delta": -0.0701,
"percent_delta": -0.0655,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1625,
"after": 1.0,
"delta": 0.8375,
"percent_delta": 5.1538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3186,
"after": 0.327,
"delta": 0.0084,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5654,
"after": 1.0,
"delta": 0.4346,
"percent_delta": 0.7687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4472,
"after": 0.438,
"delta": -0.0092,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3379,
"after": 1.0,
"delta": -0.3379,
"percent_delta": -0.2526,
"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_HR",
"before": 0.1625,
"after": 1.0,
"delta": 0.8375,
"percent_delta": 5.1538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3571,
"after": 0.0,
"delta": -0.3571,
"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.262,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.327,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.438,
"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": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_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": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 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.237,
"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.305,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.413,
"predicted_SO": 0.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.237,
"delta": -0.025,
"percent_delta": -0.0954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.305,
"delta": -0.022,
"percent_delta": -0.0673,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.413,
"delta": -0.025,
"percent_delta": -0.0571,
"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.262,
"after": 0.237,
"delta": -0.025,
"percent_delta": -0.0954,
"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.209,
"after": 0.0,
"delta": -0.209,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.1,
"after": 4.0,
"delta": -1.1,
"percent_delta": -0.2157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.237,
"delta": -0.008,
"percent_delta": -0.0327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.372,
"after": 0.0,
"delta": -0.372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.25,
"after": 1.0,
"delta": -0.25,
"percent_delta": -0.2,
"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.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.305,
"delta": -0.028,
"percent_delta": -0.0841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.752,
"after": 0.0,
"delta": -0.752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.09,
"after": 1.0,
"delta": -0.09,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.413,
"delta": -0.026,
"percent_delta": -0.0592,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.047,
"after": 0.0,
"delta": -1.047,
"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_AB",
"before": 5.1,
"after": 4.0,
"delta": -1.1,
"percent_delta": -0.2157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.209 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 5.100 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.372 | - |
| predicted_H | 1.250 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.752 | - |
| predicted_RBI | 1.090 | - |
| predicted_SLG | 0.439 | - |
| predicted_SO | 1.047 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | -0.037 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.589 | -0.511 |
| predicted_AVG | 0.269 | 0.024 |
| predicted_BB | 0.360 | -0.012 |
| predicted_H | 1.217 | -0.033 |
| predicted_HBP | 0.074 | - |
| predicted_HR | 0.222 | -0.018 |
| predicted_OBP | 0.345 | 0.012 |
| predicted_R | 0.741 | -0.011 |
| predicted_RBI | 1.013 | -0.077 |
| predicted_SLG | 0.458 | 0.019 |
| predicted_SO | 0.923 | -0.124 |
Step 3: 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.589 | 0.000 |
| predicted_AVG | 0.265 | -0.004 |
| predicted_BB | 0.362 | 0.002 |
| predicted_H | 1.215 | -0.002 |
| predicted_HBP | 0.074 | 0.000 |
| predicted_HR | 0.222 | -0.001 |
| predicted_OBP | 0.319 | -0.026 |
| predicted_R | 0.741 | -0.000 |
| predicted_RBI | 1.013 | -0.000 |
| predicted_SLG | 0.447 | -0.011 |
| predicted_SO | 0.917 | -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=5.10), rates preserved: AVG=0.227 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 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.215 | 0.215 |
| 3B | 0.008 | 0.008 |
| BB | 0.357 | 0.357 |
| H | 1.070 | 0.070 |
| HR | 0.163 | 0.163 |
| RBI | 0.565 | -0.435 |
| SO | 1.338 | 0.338 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.215 |
| 3B | 0.000 | -0.008 |
| AB | 4.000 | 0.000 |
| AVG | 0.262 | - |
| BB | 0.000 | -0.357 |
| H | 1.000 | -0.070 |
| HR | 1.000 | 0.838 |
| OBP | 0.327 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.435 |
| SLG | 0.438 | - |
| SO | 1.000 | -0.338 |
Player 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.589 |
| predicted_AVG | 0.262 | -0.003 |
| predicted_BB | 0.000 | -0.362 |
| predicted_H | 1.000 | -0.215 |
| predicted_HR | 1.000 | 0.778 |
| predicted_OBP | 0.327 | 0.008 |
| predicted_R | 1.000 | 0.259 |
| predicted_RBI | 1.000 | -0.013 |
| predicted_SLG | 0.438 | -0.009 |
| predicted_SO | 1.000 | 0.083 |
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 | -1.000 |
| PA | 4.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 | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 0.000 | 0.000 | 1.000 | 8.000 | 3.000 | 1.000 | 1.000 | 0.3000 | 0.3478 | 0.4500 | 0.3000 | 0.0500 | 0.4000 | 0.0500 | 0.0500 |
| last_10 | 0.20 | 10 | - | 33.000 | 11.000 | 0.000 | 0.000 | 2.000 | 11.000 | 8.000 | 4.000 | 5.000 | 0.3333 | 0.4103 | 0.5152 | 0.3333 | 0.0606 | 0.3333 | 0.1212 | 0.1515 |
| season | 0.60 | 129 | - | 532.000 | 155.000 | 27.000 | 0.000 | 26.000 | 81.000 | 97.000 | 48.000 | 135.000 | 0.2914 | 0.3515 | 0.4887 | 0.2913 | 0.0489 | 0.1523 | 0.0902 | 0.2538 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1230 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9280 |
| predicted_AVG | 0.2989 |
| predicted_BB | 0.3440 |
| predicted_H | 1.1740 |
| predicted_HBP | 0.0740 |
| predicted_HR | 0.1990 |
| predicted_OBP | 0.3597 |
| predicted_R | 0.7270 |
| predicted_RBI | 0.9140 |
| predicted_SLG | 0.4824 |
| predicted_SO | 0.7620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2090 | 0.1230 | 0.1715 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 5.1000 | 3.9280 | 4.5893 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2989 | 0.2685 | model_form_blend |
| predicted_BB | 0.3720 | 0.3440 | 0.3598 | model_form_blend |
| predicted_H | 1.2500 | 1.1740 | 1.2169 | model_form_blend |
| predicted_HBP | - | 0.0740 | 0.0740 | form_only |
| predicted_HR | 0.2400 | 0.1990 | 0.2221 | model_form_blend |
| predicted_OBP | 0.3330 | 0.3597 | 0.3446 | model_form_blend |
| predicted_R | 0.7520 | 0.7270 | 0.7411 | model_form_blend |
| predicted_RBI | 1.0900 | 0.9140 | 1.0133 | model_form_blend |
| predicted_SLG | 0.4390 | 0.4824 | 0.4579 | model_form_blend |
| predicted_SO | 1.0470 | 0.7620 | 0.9228 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 545 |
| Season rows before report date | 545 |
| Report year | 2026 |
| Profile rows used | 129 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20261007_MIL@SD |
| game_type | full |
| mlbID | 694192 |
| playerID | 694192 |
| playerName | Jackson Chourio |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-07 |
| 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.245 | 0.000 | 0.000 | Hitting_2B | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 5.200 | 3.000 | 3.000 | Hitting_AB | 3.962 | 5.000 | -0.962 | -2.000 |
| predicted_AVG | 0.218 | 0.333 | 0.333 | Hitting_AVG | 0.277 | 0.200 | 0.057 | 0.133 |
| predicted_BB | 0.583 | 0.000 | 0.000 | Hitting_BB | 0.588 | 0.000 | -0.588 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 1.140 | 1.000 | 1.000 | Hitting_H | 1.096 | 1.000 | -0.096 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_OBP | 0.305 | 0.500 | 0.500 | Hitting_OBP | 0.370 | 0.200 | 0.130 | 0.300 |
| predicted_R | 0.675 | 1.000 | 1.000 | Hitting_R | 0.711 | 0.000 | 0.289 | 1.000 |
| predicted_RBI | 0.650 | 0.000 | 0.000 | Hitting_RBI | 0.733 | 0.000 | -0.733 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_SLG | 0.377 | 0.333 | 0.333 | Hitting_SLG | 0.464 | 0.200 | -0.130 | 0.133 |
| predicted_SO | 1.113 | 1.000 | 1.000 | Hitting_SO | 1.079 | 0.000 | -0.079 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_HBP: 0.0050 -> 1.0000 (boost 0.9950, better) |
| Biggest Deboost | predicted_AB: 5.2000 -> 3.0000 (deboost -2.2000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 3 | 4 | 4 | 3 | predicted_AVG: 0.2180 -> 0.2304 (boost 0.0124, better) | predicted_AB: 5.2000 -> 4.6513 (deboost -0.5487, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3865 -> 0.3634 (deboost -0.0231, 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 | 0 | 6 | - | predicted_AB: 4.6513 -> 4.0000 (deboost -0.6513, worse) | AB rounded to 4 (raw=5.20), rates preserved: AVG=0.195 HR/AB=0.023 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6018 -> 1.0000 (boost 0.3982, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 5 | 0 | 4 | 1 | predicted_RBI: 0.0000 -> 0.6368 (boost 0.6368, better) | - | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 8 | 6 | 2 | 5 | 3 | predicted_BB: 0.4236 -> 1.0000 (boost 0.5764, better) | predicted_2B: 0.1735 -> 0.0000 (deboost -0.1735, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 5 | 1 | 4 | 2 | 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_SLG: 0.3920 -> 0.3560 (deboost -0.0360, 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.245,
"predicted_3B": 0.02,
"predicted_AB": 5.2,
"predicted_AVG": 0.218,
"predicted_BB": 0.583,
"predicted_H": 1.14,
"predicted_HR": 0.12,
"predicted_OBP": 0.305,
"predicted_R": 0.675,
"predicted_RBI": 0.65,
"predicted_SLG": 0.377,
"predicted_SO": 1.113
},
"changed_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.2279,
"predicted_3B": 0.0165,
"predicted_AB": 4.6513,
"predicted_AVG": 0.2304,
"predicted_BB": 0.5388,
"predicted_H": 1.0665,
"predicted_HBP": 0.005,
"predicted_HR": 0.1218,
"predicted_OBP": 0.3149,
"predicted_R": 0.6019,
"predicted_RBI": 0.6185,
"predicted_SLG": 0.3865,
"predicted_SO": 1.0565
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 5.2,
"after": 4.6513,
"delta": -0.5487,
"percent_delta": -0.1055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2304,
"delta": 0.0124,
"percent_delta": 0.0569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.0665,
"delta": -0.0735,
"percent_delta": -0.0645,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.3149,
"delta": 0.0099,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.675,
"after": 0.6019,
"delta": -0.0731,
"percent_delta": -0.1083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3865,
"delta": 0.0095,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.113,
"after": 1.0565,
"delta": -0.0565,
"percent_delta": -0.0508,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2304,
"delta": 0.0124,
"percent_delta": 0.0569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.2,
"after": 4.6513,
"delta": -0.5487,
"percent_delta": -0.1055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 151
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2279,
"predicted_3B": 0.0165,
"predicted_AB": 4.6513,
"predicted_AVG": 0.229,
"predicted_BB": 0.5424,
"predicted_H": 1.065,
"predicted_HBP": 0.005,
"predicted_HR": 0.1215,
"predicted_OBP": 0.3095,
"predicted_R": 0.6018,
"predicted_RBI": 0.6184,
"predicted_SLG": 0.3634,
"predicted_SO": 1.0495
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3149,
"after": 0.3095,
"delta": -0.0054,
"percent_delta": -0.0171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3865,
"after": 0.3634,
"delta": -0.0231,
"percent_delta": -0.0598,
"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.3865,
"after": 0.3634,
"delta": -0.0231,
"percent_delta": -0.0598,
"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.20), rates preserved: AVG=0.195 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.2279,
"after": 0.0,
"delta": -0.2279,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.6513,
"after": 4.0,
"delta": -0.6513,
"percent_delta": -0.14,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5424,
"after": 0.0,
"delta": -0.5424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.065,
"after": 1.0,
"delta": -0.065,
"percent_delta": -0.061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1215,
"after": 0.0,
"delta": -0.1215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6184,
"after": 0.0,
"delta": -0.6184,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.6513,
"after": 4.0,
"delta": -0.6513,
"percent_delta": -0.14,
"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.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"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": 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.6018,
"after": 1.0,
"delta": 0.3982,
"percent_delta": 0.6617,
"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.6018,
"after": 1.0,
"delta": 0.3982,
"percent_delta": 0.6617,
"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.1735,
"predicted_3B": 0.0183,
"predicted_BB": 0.4236,
"predicted_H": 0.9553,
"predicted_HR": 0.113,
"predicted_RBI": 0.6368,
"predicted_SO": 1.4725
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1735,
"delta": 0.1735,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4236,
"delta": 0.4236,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.113,
"delta": 0.113,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.6368,
"delta": 0.6368,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.4725,
"delta": 0.4725,
"percent_delta": 0.4725,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.6368,
"delta": 0.6368,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"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.249,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.329,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.392,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1735,
"after": 0.0,
"delta": -0.1735,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.249,
"delta": 0.02,
"percent_delta": 0.0873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4236,
"after": 1.0,
"delta": 0.5764,
"percent_delta": 1.3607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.113,
"after": 0.0,
"delta": -0.113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3095,
"after": 0.329,
"delta": 0.0195,
"percent_delta": 0.063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6368,
"after": 1.0,
"delta": 0.3632,
"percent_delta": 0.5704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3634,
"after": 0.392,
"delta": 0.0286,
"percent_delta": 0.0787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4725,
"after": 2.0,
"delta": 0.5275,
"percent_delta": 0.3582,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 6,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4236,
"after": 1.0,
"delta": 0.5764,
"percent_delta": 1.3607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1735,
"after": 0.0,
"delta": -0.1735,
"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.249,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.329,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.392,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 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_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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"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": 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": 3.0,
"predicted_AVG": 0.22,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.294,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.356,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.22,
"delta": -0.029,
"percent_delta": -0.1165,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.294,
"delta": -0.035,
"percent_delta": -0.1064,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.356,
"delta": -0.036,
"percent_delta": -0.0918,
"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.392,
"after": 0.356,
"delta": -0.036,
"percent_delta": -0.0918,
"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.245,
"after": 0.0,
"delta": -0.245,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.2,
"after": 3.0,
"delta": -2.2,
"percent_delta": -0.4231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.583,
"after": 0.0,
"delta": -0.583,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.0,
"delta": -0.14,
"percent_delta": -0.1228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 1.0,
"delta": 0.995,
"percent_delta": 199.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.294,
"delta": -0.011,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.675,
"after": 1.0,
"delta": 0.325,
"percent_delta": 0.4815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.356,
"delta": -0.021,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.113,
"after": 1.0,
"delta": -0.113,
"percent_delta": -0.1015,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.005,
"after": 1.0,
"delta": 0.995,
"percent_delta": 199.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.2,
"after": 3.0,
"delta": -2.2,
"percent_delta": -0.4231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.245 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 5.200 | - |
| predicted_AVG | 0.218 | - |
| predicted_BB | 0.583 | - |
| predicted_H | 1.140 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.675 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.377 | - |
| predicted_SO | 1.113 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.228 | -0.017 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 4.651 | -0.549 |
| predicted_AVG | 0.230 | 0.012 |
| predicted_BB | 0.539 | -0.044 |
| predicted_H | 1.067 | -0.073 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.122 | 0.002 |
| predicted_OBP | 0.315 | 0.010 |
| predicted_R | 0.602 | -0.073 |
| predicted_RBI | 0.619 | -0.031 |
| predicted_SLG | 0.387 | 0.010 |
| predicted_SO | 1.056 | -0.056 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.228 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 4.651 | 0.000 |
| predicted_AVG | 0.229 | -0.001 |
| predicted_BB | 0.542 | 0.004 |
| predicted_H | 1.065 | -0.002 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.121 | -0.000 |
| predicted_OBP | 0.309 | -0.005 |
| predicted_R | 0.602 | -0.000 |
| predicted_RBI | 0.618 | -0.000 |
| predicted_SLG | 0.363 | -0.023 |
| predicted_SO | 1.050 | -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=5.20), rates preserved: AVG=0.195 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=8.0, weight=0.084, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 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.173 | 0.173 |
| 3B | 0.018 | 0.018 |
| BB | 0.424 | 0.424 |
| H | 0.955 | -0.045 |
| HR | 0.113 | 0.113 |
| RBI | 0.637 | 0.637 |
| SO | 1.472 | 0.472 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.173 |
| 3B | 0.000 | -0.018 |
| AB | 4.000 | 0.000 |
| AVG | 0.249 | - |
| BB | 1.000 | 0.576 |
| H | 1.000 | 0.045 |
| HR | 0.000 | -0.113 |
| OBP | 0.329 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.363 |
| SLG | 0.392 | - |
| SO | 2.000 | 0.528 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.228 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | -0.651 |
| predicted_AVG | 0.249 | 0.020 |
| predicted_BB | 1.000 | 0.458 |
| predicted_H | 1.000 | -0.065 |
| predicted_HR | 0.000 | -0.121 |
| predicted_OBP | 0.329 | 0.020 |
| predicted_R | 1.000 | 0.398 |
| predicted_RBI | 1.000 | 0.382 |
| predicted_SLG | 0.392 | 0.029 |
| predicted_SO | 2.000 | 0.950 |
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 | 1.000 | 0.000 |
| RBI | 0.000 | -1.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 | 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 | 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 | 0.000 | 2.000 | 3.000 | 0.1500 | 0.2273 | 0.1500 | 0.1500 | 0.0000 | 0.0500 | 0.1000 | 0.1500 |
| last_10 | 0.20 | 10 | - | 41.000 | 11.000 | 3.000 | 0.000 | 2.000 | 7.000 | 5.000 | 3.000 | 10.000 | 0.2683 | 0.3182 | 0.4878 | 0.2683 | 0.0488 | 0.1707 | 0.0732 | 0.2439 |
| season | 0.60 | 151 | - | 587.000 | 159.000 | 37.000 | 3.000 | 21.000 | 101.000 | 102.000 | 88.000 | 168.000 | 0.2709 | 0.3658 | 0.4514 | 0.2709 | 0.0358 | 0.1721 | 0.1499 | 0.2862 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2060 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.9460 |
| predicted_AVG | 0.2463 |
| predicted_BB | 0.4820 |
| predicted_H | 0.9720 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.1240 |
| predicted_OBP | 0.3276 |
| predicted_R | 0.5080 |
| predicted_RBI | 0.5780 |
| predicted_SLG | 0.3988 |
| predicted_SO | 0.9840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2450 | 0.2060 | 0.2279 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0165 | model_form_blend |
| predicted_AB | 5.2000 | 3.9460 | 4.6513 | model_form_blend |
| predicted_AVG | 0.2180 | 0.2463 | 0.2304 | model_form_blend |
| predicted_BB | 0.5830 | 0.4820 | 0.5388 | model_form_blend |
| predicted_H | 1.1400 | 0.9720 | 1.0665 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.1200 | 0.1240 | 0.1218 | model_form_blend |
| predicted_OBP | 0.3050 | 0.3276 | 0.3149 | model_form_blend |
| predicted_R | 0.6750 | 0.5080 | 0.6019 | model_form_blend |
| predicted_RBI | 0.6500 | 0.5780 | 0.6185 | model_form_blend |
| predicted_SLG | 0.3770 | 0.3988 | 0.3865 | model_form_blend |
| predicted_SO | 1.1130 | 0.9840 | 1.0565 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 655 |
| Season rows before report date | 655 |
| Report year | 2026 |
| Profile rows used | 151 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| 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 | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20261007_MIL@SD |
| game_type | full |
| mlbID | 668930 |
| playerID | 668930 |
| playerName | Brice Turang |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-07 |
| 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.174 | 1.000 | 1.000 | Hitting_2B | 0.185 | 0.000 | 0.815 | 1.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 5.120 | 3.000 | 3.000 | Hitting_AB | 3.985 | 5.000 | -0.985 | -2.000 |
| predicted_AVG | 0.275 | 0.333 | 0.333 | Hitting_AVG | 0.275 | 0.400 | 0.058 | -0.067 |
| predicted_BB | 0.416 | 1.000 | 1.000 | Hitting_BB | 0.439 | 0.000 | 0.561 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 1.410 | 1.000 | 1.000 | Hitting_H | 1.097 | 2.000 | -0.097 | -1.000 |
| predicted_HR | 0.240 | 0.000 | 0.000 | Hitting_HR | 0.131 | 0.000 | -0.131 | 0.000 |
| predicted_OBP | 0.354 | 0.500 | 0.500 | Hitting_OBP | 0.346 | 0.400 | 0.154 | 0.100 |
| predicted_R | 0.564 | 1.000 | 1.000 | Hitting_R | 0.610 | 0.000 | 0.390 | 1.000 |
| predicted_RBI | 0.770 | 1.000 | 1.000 | Hitting_RBI | 0.678 | 0.000 | 0.322 | 1.000 |
| predicted_SLG | 0.475 | 0.667 | 0.667 | Hitting_SLG | 0.424 | 0.400 | 0.242 | 0.267 |
| predicted_SO | 0.631 | 1.000 | 1.000 | Hitting_SO | 0.640 | 0.000 | 0.360 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_2B: 0.1740 -> 1.0000 (boost 0.8260, better) |
| Biggest Deboost | predicted_AB: 5.1200 -> 3.0000 (deboost -2.1200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 3 | 3 | 3 | 3 | predicted_SLG: 0.4750 -> 0.4853 (boost 0.0103, better) | predicted_AB: 5.1200 -> 4.5443 (deboost -0.5757, worse) | Final model input calibrated with local 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.4853 -> 0.4687 (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 | 2 | 5 | 1 | 6 | predicted_SO: 0.6095 -> 1.0000 (boost 0.3905, worse) | predicted_AB: 4.5443 -> 4.0000 (deboost -0.5443, worse) | AB rounded to 4 (raw=5.12), rates preserved: AVG=0.239 HR/AB=0.045 |
| 6 | bvp_blend | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5512 -> 1.0000 (boost 0.4488, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 4 | 1 | 3 | 2 | predicted_SO: 0.0000 -> 0.7618 (boost 0.7618, worse) | predicted_RBI: 1.0000 -> 0.5573 (deboost -0.4427, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 4 | 5 | 3 | 6 | predicted_2B: 0.1931 -> 1.0000 (boost 0.8069, 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 | 2 | 1 | 1 | 1 | 1 | predicted_R: 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_AVG: 0.2510 -> 0.2220 (deboost -0.0290, worse) | 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.174,
"predicted_3B": 0.007,
"predicted_AB": 5.12,
"predicted_AVG": 0.275,
"predicted_BB": 0.416,
"predicted_H": 1.41,
"predicted_HR": 0.24,
"predicted_OBP": 0.354,
"predicted_R": 0.564,
"predicted_RBI": 0.77,
"predicted_SLG": 0.475,
"predicted_SO": 0.631
},
"changed_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.1443,
"predicted_3B": 0.0057,
"predicted_AB": 4.5443,
"predicted_AVG": 0.2841,
"predicted_BB": 0.4361,
"predicted_H": 1.2854,
"predicted_HBP": 0.017,
"predicted_HR": 0.2308,
"predicted_OBP": 0.3607,
"predicted_R": 0.5513,
"predicted_RBI": 0.7127,
"predicted_SLG": 0.4853,
"predicted_SO": 0.6135
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 5.12,
"after": 4.5443,
"delta": -0.5757,
"percent_delta": -0.1124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2841,
"delta": 0.0091,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.41,
"after": 1.2854,
"delta": -0.1246,
"percent_delta": -0.0884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3607,
"delta": 0.0067,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.77,
"after": 0.7127,
"delta": -0.0573,
"percent_delta": -0.0744,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.4853,
"delta": 0.0103,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.4853,
"delta": 0.0103,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.12,
"after": 4.5443,
"delta": -0.5757,
"percent_delta": -0.1124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1443,
"predicted_3B": 0.0057,
"predicted_AB": 4.5443,
"predicted_AVG": 0.2825,
"predicted_BB": 0.439,
"predicted_H": 1.2836,
"predicted_HBP": 0.017,
"predicted_HR": 0.2302,
"predicted_OBP": 0.3457,
"predicted_R": 0.5512,
"predicted_RBI": 0.7126,
"predicted_SLG": 0.4687,
"predicted_SO": 0.6095
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3607,
"after": 0.3457,
"delta": -0.015,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4853,
"after": 0.4687,
"delta": -0.0166,
"percent_delta": -0.0342,
"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.4853,
"after": 0.4687,
"delta": -0.0166,
"percent_delta": -0.0342,
"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.12), rates preserved: AVG=0.239 HR/AB=0.045",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1443,
"after": 0.0,
"delta": -0.1443,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.5443,
"after": 4.0,
"delta": -0.5443,
"percent_delta": -0.1198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2836,
"after": 1.0,
"delta": -0.2836,
"percent_delta": -0.2209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2302,
"after": 0.0,
"delta": -0.2302,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7126,
"after": 1.0,
"delta": 0.2874,
"percent_delta": 0.4033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6095,
"after": 1.0,
"delta": 0.3905,
"percent_delta": 0.6407,
"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.6095,
"after": 1.0,
"delta": 0.3905,
"percent_delta": 0.6407,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.5443,
"after": 4.0,
"delta": -0.5443,
"percent_delta": -0.1198,
"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.375)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"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": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.5512,
"after": 1.0,
"delta": 0.4488,
"percent_delta": 0.8142,
"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.5512,
"after": 1.0,
"delta": 0.4488,
"percent_delta": 0.8142,
"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.1931,
"predicted_3B": 0.0099,
"predicted_BB": 0.3811,
"predicted_H": 0.9639,
"predicted_HR": 0.1167,
"predicted_RBI": 0.5573,
"predicted_SO": 0.7618
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1931,
"delta": 0.1931,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3811,
"delta": 0.3811,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1167,
"delta": 0.1167,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5573,
"delta": -0.4427,
"percent_delta": -0.4427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.7618,
"delta": 0.7618,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 0.7618,
"delta": 0.7618,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5573,
"delta": -0.4427,
"percent_delta": -0.4427,
"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.251,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.324,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.397,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1931,
"after": 1.0,
"delta": 0.8069,
"percent_delta": 4.1787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2825,
"after": 0.251,
"delta": -0.0315,
"percent_delta": -0.1115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3811,
"after": 1.0,
"delta": 0.6189,
"percent_delta": 1.624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1167,
"after": 0.0,
"delta": -0.1167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3457,
"after": 0.324,
"delta": -0.0217,
"percent_delta": -0.0628,
"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.5573,
"after": 1.0,
"delta": 0.4427,
"percent_delta": 0.7944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4687,
"after": 0.397,
"delta": -0.0717,
"percent_delta": -0.153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7618,
"after": 1.0,
"delta": 0.2382,
"percent_delta": 0.3127,
"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_2B",
"before": 0.1931,
"after": 1.0,
"delta": 0.8069,
"percent_delta": 4.1787,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.251,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.324,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.397,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 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": 1.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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 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": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.222,
"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": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.369,
"predicted_SO": 1.0,
"predicted_TB": 2.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.222,
"delta": -0.029,
"percent_delta": -0.1155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.302,
"delta": -0.022,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.369,
"delta": -0.028,
"percent_delta": -0.0705,
"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.251,
"after": 0.222,
"delta": -0.029,
"percent_delta": -0.1155,
"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.174,
"after": 1.0,
"delta": 0.826,
"percent_delta": 4.7471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.12,
"after": 3.0,
"delta": -2.12,
"percent_delta": -0.4141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.222,
"delta": -0.053,
"percent_delta": -0.1927,
"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": 1.41,
"after": 1.0,
"delta": -0.41,
"percent_delta": -0.2908,
"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.354,
"after": 0.302,
"delta": -0.052,
"percent_delta": -0.1469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.564,
"after": 1.0,
"delta": 0.436,
"percent_delta": 0.773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.77,
"after": 1.0,
"delta": 0.23,
"percent_delta": 0.2987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.369,
"delta": -0.106,
"percent_delta": -0.2232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.631,
"after": 1.0,
"delta": 0.369,
"percent_delta": 0.5848,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.174,
"after": 1.0,
"delta": 0.826,
"percent_delta": 4.7471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.12,
"after": 3.0,
"delta": -2.12,
"percent_delta": -0.4141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | - |
| predicted_3B | 0.007 | - |
| predicted_AB | 5.120 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.416 | - |
| predicted_H | 1.410 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.564 | - |
| predicted_RBI | 0.770 | - |
| predicted_SLG | 0.475 | - |
| predicted_SO | 0.631 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | -0.030 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 4.544 | -0.576 |
| predicted_AVG | 0.284 | 0.009 |
| predicted_BB | 0.436 | 0.020 |
| predicted_H | 1.285 | -0.125 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.231 | -0.009 |
| predicted_OBP | 0.361 | 0.007 |
| predicted_R | 0.551 | -0.013 |
| predicted_RBI | 0.713 | -0.057 |
| predicted_SLG | 0.485 | 0.010 |
| predicted_SO | 0.614 | -0.017 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 4.544 | 0.000 |
| predicted_AVG | 0.282 | -0.002 |
| predicted_BB | 0.439 | 0.003 |
| predicted_H | 1.284 | -0.002 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.230 | -0.001 |
| predicted_OBP | 0.346 | -0.015 |
| predicted_R | 0.551 | -0.000 |
| predicted_RBI | 0.713 | -0.000 |
| predicted_SLG | 0.469 | -0.017 |
| predicted_SO | 0.610 | -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=5.12), rates preserved: AVG=0.239 HR/AB=0.045
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 0.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 | 1.000 | - |
| RBI | 1.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.193 | 0.193 |
| 3B | 0.010 | 0.010 |
| BB | 0.381 | 0.381 |
| H | 0.964 | -0.036 |
| HR | 0.117 | 0.117 |
| RBI | 0.557 | -0.443 |
| SO | 0.762 | 0.762 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.807 |
| 3B | 0.000 | -0.010 |
| AB | 4.000 | 0.000 |
| AVG | 0.251 | - |
| BB | 1.000 | 0.619 |
| H | 1.000 | 0.036 |
| HR | 0.000 | -0.117 |
| OBP | 0.324 | - |
| R | 0.000 | -1.000 |
| RBI | 1.000 | 0.443 |
| SLG | 0.397 | - |
| SO | 1.000 | 0.238 |
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.856 |
| predicted_3B | 0.000 | -0.006 |
| predicted_AB | 4.000 | -0.544 |
| predicted_AVG | 0.251 | -0.031 |
| predicted_BB | 1.000 | 0.561 |
| predicted_H | 1.000 | -0.284 |
| predicted_HR | 0.000 | -0.230 |
| predicted_OBP | 0.324 | -0.022 |
| predicted_R | 0.000 | -0.551 |
| predicted_RBI | 1.000 | 0.287 |
| predicted_SLG | 0.397 | -0.072 |
| predicted_SO | 1.000 | 0.390 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | 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 | 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 | - | 19.000 | 7.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 3.000 | 2.000 | 0.3684 | 0.4545 | 0.6842 | 0.3684 | 0.1053 | 0.1053 | 0.1579 | 0.1053 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 0.000 | 0.000 | 3.000 | 9.000 | 4.000 | 5.000 | 6.000 | 0.3056 | 0.3810 | 0.5556 | 0.3056 | 0.0833 | 0.2500 | 0.1389 | 0.1667 |
| season | 0.60 | 149 | - | 577.000 | 157.000 | 26.000 | 1.000 | 20.000 | 95.000 | 84.000 | 62.000 | 94.000 | 0.2721 | 0.3420 | 0.4246 | 0.2721 | 0.0347 | 0.1646 | 0.1075 | 0.1629 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1060 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.8030 |
| predicted_AVG | 0.2959 |
| predicted_BB | 0.4620 |
| predicted_H | 1.1250 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.2190 |
| predicted_OBP | 0.3694 |
| predicted_R | 0.5350 |
| predicted_RBI | 0.6390 |
| predicted_SLG | 0.4985 |
| predicted_SO | 0.5910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1740 | 0.1060 | 0.1443 | model_form_blend |
| predicted_3B | 0.0070 | 0.0040 | 0.0057 | model_form_blend |
| predicted_AB | 5.1200 | 3.8030 | 4.5443 | model_form_blend |
| predicted_AVG | 0.2750 | 0.2959 | 0.2841 | model_form_blend |
| predicted_BB | 0.4160 | 0.4620 | 0.4361 | model_form_blend |
| predicted_H | 1.4100 | 1.1250 | 1.2854 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.2400 | 0.2190 | 0.2308 | model_form_blend |
| predicted_OBP | 0.3540 | 0.3694 | 0.3607 | model_form_blend |
| predicted_R | 0.5640 | 0.5350 | 0.5513 | model_form_blend |
| predicted_RBI | 0.7700 | 0.6390 | 0.7127 | model_form_blend |
| predicted_SLG | 0.4750 | 0.4985 | 0.4853 | model_form_blend |
| predicted_SO | 0.6310 | 0.5910 | 0.6135 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| 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 | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20261007_MIL@SD |
| game_type | full |
| mlbID | 661388 |
| playerID | 661388 |
| playerName | William Contreras |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-07 |
| 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.141 | 0.000 | 0.000 | Hitting_2B | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.380 | 3.000 | 3.000 | Hitting_AB | 3.506 | 1.000 | -0.506 | 2.000 |
| predicted_AVG | 0.330 | 0.333 | 0.333 | Hitting_AVG | 0.269 | 1.000 | 0.064 | -0.667 |
| predicted_BB | 0.655 | 1.000 | 1.000 | Hitting_BB | 0.740 | 3.000 | 0.260 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 0.850 | 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.399 | 0.500 | 0.500 | Hitting_OBP | 0.399 | 1.000 | 0.101 | -0.500 |
| predicted_R | 0.648 | 0.000 | 0.000 | Hitting_R | 0.702 | 1.000 | -0.702 | -1.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.664 | 0.000 | -0.664 | 0.000 |
| predicted_SLG | 0.439 | 0.333 | 0.333 | Hitting_SLG | 0.491 | 1.000 | -0.158 | -0.667 |
| predicted_SO | 1.127 | 1.000 | 1.000 | Hitting_SO | 1.125 | 0.000 | -0.125 | 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 | 3 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.6550 -> 1.0000 (boost 0.3450, better) |
| Biggest Deboost | predicted_R: 0.6480 -> 0.0000 (deboost -0.6480, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 0 | 4 | predicted_SO: 1.1270 -> 1.2072 (boost 0.0802, worse) | predicted_AVG: 0.3300 -> 0.2964 (deboost -0.0336, worse) | Final model input calibrated with local 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.2964 -> 0.2518 (deboost -0.0446, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_AB: 3.3922 -> 4.0000 (boost 0.6078, better) | predicted_RBI: 0.3956 -> 0.0000 (deboost -0.3956, worse) | AB rounded to 4 (raw=3.39), rates preserved: AVG=0.240 HR/AB=0.030 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6043 -> 1.0000 (boost 0.3957, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_RBI: 0.0000 -> 0.5846 (boost 0.5846, better) | predicted_BB: 1.0000 -> 0.4767 (deboost -0.5233, 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 | 5 | 4 | predicted_BB: 0.4767 -> 1.0000 (boost 0.5233, better) | predicted_SO: 1.4545 -> 1.0000 (deboost -0.4545, 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 | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3320 -> 0.2840 (deboost -0.0480, 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.141,
"predicted_3B": 0.014,
"predicted_AB": 3.38,
"predicted_AVG": 0.33,
"predicted_BB": 0.655,
"predicted_H": 0.85,
"predicted_HR": 0.1,
"predicted_OBP": 0.399,
"predicted_R": 0.648,
"predicted_RBI": 0.38,
"predicted_SLG": 0.439,
"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.1262,
"predicted_3B": 0.0118,
"predicted_AB": 3.3922,
"predicted_AVG": 0.2964,
"predicted_BB": 0.6485,
"predicted_H": 0.8552,
"predicted_HBP": 0.08,
"predicted_HR": 0.103,
"predicted_OBP": 0.3905,
"predicted_R": 0.6044,
"predicted_RBI": 0.3957,
"predicted_SLG": 0.4149,
"predicted_SO": 1.2072
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.33,
"after": 0.2964,
"delta": -0.0336,
"percent_delta": -0.1018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.399,
"after": 0.3905,
"delta": -0.0085,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4149,
"delta": -0.0241,
"percent_delta": -0.0549,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.127,
"after": 1.2072,
"delta": 0.0802,
"percent_delta": 0.0712,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.127,
"after": 1.2072,
"delta": 0.0802,
"percent_delta": 0.0712,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.33,
"after": 0.2964,
"delta": -0.0336,
"percent_delta": -0.1018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1262,
"predicted_3B": 0.0118,
"predicted_AB": 3.3922,
"predicted_AVG": 0.2518,
"predicted_BB": 0.6528,
"predicted_H": 0.854,
"predicted_HBP": 0.08,
"predicted_HR": 0.1027,
"predicted_OBP": 0.3725,
"predicted_R": 0.6043,
"predicted_RBI": 0.3956,
"predicted_SLG": 0.3868,
"predicted_SO": 1.1992
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2964,
"after": 0.2518,
"delta": -0.0446,
"percent_delta": -0.1505,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3905,
"after": 0.3725,
"delta": -0.018,
"percent_delta": -0.0461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4149,
"after": 0.3868,
"delta": -0.0281,
"percent_delta": -0.0677,
"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.2964,
"after": 0.2518,
"delta": -0.0446,
"percent_delta": -0.1505,
"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.39), rates preserved: AVG=0.240 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1262,
"after": 0.0,
"delta": -0.1262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.3922,
"after": 4.0,
"delta": 0.6078,
"percent_delta": 0.1792,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6528,
"after": 1.0,
"delta": 0.3472,
"percent_delta": 0.5319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.854,
"after": 1.0,
"delta": 0.146,
"percent_delta": 0.171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1027,
"after": 0.0,
"delta": -0.1027,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3956,
"after": 0.0,
"delta": -0.3956,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1992,
"after": 1.0,
"delta": -0.1992,
"percent_delta": -0.1661,
"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.3922,
"after": 4.0,
"delta": 0.6078,
"percent_delta": 0.1792,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3956,
"after": 0.0,
"delta": -0.3956,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.6043,
"after": 1.0,
"delta": 0.3957,
"percent_delta": 0.6548,
"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.6043,
"after": 1.0,
"delta": 0.3957,
"percent_delta": 0.6548,
"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.143,
"predicted_3B": 0.0134,
"predicted_BB": 0.4767,
"predicted_H": 0.861,
"predicted_HR": 0.1421,
"predicted_RBI": 0.5846,
"predicted_SO": 1.4545
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.143,
"delta": 0.143,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.4767,
"delta": -0.5233,
"percent_delta": -0.5233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.861,
"delta": -0.139,
"percent_delta": -0.139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1421,
"delta": 0.1421,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5846,
"delta": 0.5846,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.4545,
"delta": 0.4545,
"percent_delta": 0.4545,
"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.5846,
"delta": 0.5846,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.4767,
"delta": -0.5233,
"percent_delta": -0.5233,
"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.238,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.332,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.403,
"predicted_SO": 1.0
},
"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_AVG",
"before": 0.2518,
"after": 0.238,
"delta": -0.0138,
"percent_delta": -0.0548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4767,
"after": 1.0,
"delta": 0.5233,
"percent_delta": 1.0978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.861,
"after": 1.0,
"delta": 0.139,
"percent_delta": 0.1614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1421,
"after": 0.0,
"delta": -0.1421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3725,
"after": 0.332,
"delta": -0.0405,
"percent_delta": -0.1087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5846,
"after": 1.0,
"delta": 0.4154,
"percent_delta": 0.7106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3868,
"after": 0.403,
"delta": 0.0162,
"percent_delta": 0.0419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4545,
"after": 1.0,
"delta": -0.4545,
"percent_delta": -0.3125,
"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_BB",
"before": 0.4767,
"after": 1.0,
"delta": 0.5233,
"percent_delta": 1.0978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4545,
"after": 1.0,
"delta": -0.4545,
"percent_delta": -0.3125,
"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.238,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.332,
"predicted_R": 1.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": 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_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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 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.199,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.284,
"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.238,
"after": 0.199,
"delta": -0.039,
"percent_delta": -0.1639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.284,
"delta": -0.048,
"percent_delta": -0.1446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.363,
"delta": -0.04,
"percent_delta": -0.0993,
"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.332,
"after": 0.284,
"delta": -0.048,
"percent_delta": -0.1446,
"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.141,
"after": 0.0,
"delta": -0.141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.38,
"after": 3.0,
"delta": -0.38,
"percent_delta": -0.1124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.33,
"after": 0.199,
"delta": -0.131,
"percent_delta": -0.397,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.655,
"after": 1.0,
"delta": 0.345,
"percent_delta": 0.5267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.399,
"after": 0.284,
"delta": -0.115,
"percent_delta": -0.2882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.648,
"after": 0.0,
"delta": -0.648,
"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.439,
"after": 0.363,
"delta": -0.076,
"percent_delta": -0.1731,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.127,
"after": 1.0,
"delta": -0.127,
"percent_delta": -0.1127,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 2,
"deboosted_metrics": 10,
"better_metrics": 3,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.655,
"after": 1.0,
"delta": 0.345,
"percent_delta": 0.5267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.648,
"after": 0.0,
"delta": -0.648,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.141 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.380 | - |
| predicted_AVG | 0.330 | - |
| predicted_BB | 0.655 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.399 | - |
| predicted_R | 0.648 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.439 | - |
| 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.126 | -0.015 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 3.392 | 0.012 |
| predicted_AVG | 0.296 | -0.034 |
| predicted_BB | 0.648 | -0.007 |
| predicted_H | 0.855 | 0.005 |
| predicted_HBP | 0.080 | - |
| predicted_HR | 0.103 | 0.003 |
| predicted_OBP | 0.391 | -0.009 |
| predicted_R | 0.604 | -0.044 |
| predicted_RBI | 0.396 | 0.016 |
| predicted_SLG | 0.415 | -0.024 |
| predicted_SO | 1.207 | 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.126 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 3.392 | 0.000 |
| predicted_AVG | 0.252 | -0.045 |
| predicted_BB | 0.653 | 0.004 |
| predicted_H | 0.854 | -0.001 |
| predicted_HBP | 0.080 | 0.000 |
| predicted_HR | 0.103 | -0.000 |
| predicted_OBP | 0.372 | -0.018 |
| predicted_R | 0.604 | -0.000 |
| predicted_RBI | 0.396 | -0.000 |
| predicted_SLG | 0.387 | -0.028 |
| predicted_SO | 1.199 | -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.39), rates preserved: AVG=0.240 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.143 | 0.143 |
| 3B | 0.013 | 0.013 |
| BB | 0.477 | -0.523 |
| H | 0.861 | -0.139 |
| HR | 0.142 | 0.142 |
| RBI | 0.585 | 0.585 |
| SO | 1.454 | 0.454 |
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.013 |
| AB | 4.000 | 0.000 |
| AVG | 0.238 | - |
| BB | 1.000 | 0.523 |
| H | 1.000 | 0.139 |
| HR | 0.000 | -0.142 |
| OBP | 0.332 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.415 |
| SLG | 0.403 | - |
| SO | 1.000 | -0.454 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.126 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | 0.608 |
| predicted_AVG | 0.238 | -0.014 |
| predicted_BB | 1.000 | 0.347 |
| predicted_H | 1.000 | 0.146 |
| predicted_HR | 0.000 | -0.103 |
| predicted_OBP | 0.332 | -0.040 |
| predicted_R | 1.000 | 0.396 |
| predicted_RBI | 1.000 | 0.604 |
| predicted_SLG | 0.403 | 0.016 |
| predicted_SO | 1.000 | -0.199 |
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 | 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 | 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 | - | 16.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 7.000 | 0.2500 | 0.4286 | 0.2500 | 0.2500 | 0.0000 | 0.0000 | 0.2500 | 0.4375 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 1.000 | 0.000 | 0.000 | 3.000 | 4.000 | 5.000 | 19.000 | 0.2222 | 0.3256 | 0.2500 | 0.2222 | 0.0000 | 0.0833 | 0.1389 | 0.5278 |
| season | 0.60 | 142 | - | 480.000 | 127.000 | 20.000 | 2.000 | 25.000 | 84.000 | 92.000 | 93.000 | 160.000 | 0.2646 | 0.3873 | 0.4708 | 0.2646 | 0.0521 | 0.1750 | 0.1938 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1070 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.4080 |
| predicted_AVG | 0.2529 |
| predicted_BB | 0.6400 |
| predicted_H | 0.8620 |
| predicted_HBP | 0.0800 |
| predicted_HR | 0.1070 |
| predicted_OBP | 0.3794 |
| predicted_R | 0.5480 |
| predicted_RBI | 0.4160 |
| predicted_SLG | 0.3837 |
| predicted_SO | 1.3110 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1410 | 0.1070 | 0.1262 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0118 | model_form_blend |
| predicted_AB | 3.3800 | 3.4080 | 3.3922 | model_form_blend |
| predicted_AVG | 0.3300 | 0.2529 | 0.2964 | model_form_blend |
| predicted_BB | 0.6550 | 0.6400 | 0.6485 | model_form_blend |
| predicted_H | 0.8500 | 0.8620 | 0.8552 | model_form_blend |
| predicted_HBP | - | 0.0800 | 0.0800 | form_only |
| predicted_HR | 0.1000 | 0.1070 | 0.1030 | model_form_blend |
| predicted_OBP | 0.3990 | 0.3794 | 0.3905 | model_form_blend |
| predicted_R | 0.6480 | 0.5480 | 0.6044 | model_form_blend |
| predicted_RBI | 0.3800 | 0.4160 | 0.3957 | model_form_blend |
| predicted_SLG | 0.4390 | 0.3837 | 0.4149 | model_form_blend |
| predicted_SO | 1.1270 | 1.3110 | 1.2072 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 551 |
| Season rows before report date | 551 |
| 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 | 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 | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 3 |
| 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 | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20261007_MIL@SD |
| game_type | full |
| mlbID | 641343 |
| playerID | 641343 |
| playerName | Jake Bauers |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-07 |
| 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.178 | 0.000 | 0.000 | Hitting_2B | 0.199 | 0.000 | -0.199 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 2.851 | 3.000 | 3.000 | Hitting_AB | 3.214 | 1.000 | -0.214 | 2.000 |
| predicted_AVG | 0.309 | 0.000 | 0.000 | Hitting_AVG | 0.319 | 0.000 | -0.319 | 0.000 |
| predicted_BB | 0.317 | 0.000 | 0.000 | Hitting_BB | 0.404 | 0.000 | -0.404 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.881 | 0.000 | 0.000 | Hitting_H | 1.024 | 0.000 | -1.024 | 0.000 |
| predicted_HR | 0.059 | 0.000 | 0.000 | Hitting_HR | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_OBP | 0.378 | 0.000 | 0.000 | Hitting_OBP | 0.404 | 0.000 | -0.404 | 0.000 |
| predicted_R | 0.327 | 0.000 | 0.000 | Hitting_R | 0.422 | 0.000 | -0.422 | 0.000 |
| predicted_RBI | 0.426 | 1.000 | 1.000 | Hitting_RBI | 0.470 | 0.000 | 0.530 | 1.000 |
| predicted_SLG | 0.448 | 0.000 | 0.000 | Hitting_SLG | 0.473 | 0.000 | -0.473 | 0.000 |
| predicted_SO | 0.525 | 1.000 | 1.000 | Hitting_SO | 0.590 | 0.000 | 0.410 | 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 | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher) |
| Biggest Deboost | predicted_H: 0.8810 -> 0.0000 (deboost -0.8810, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 0.8810 -> 0.8002 (deboost -0.0808, worse) | Final model input calibrated with local 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_SO: 0.5292 -> 1.0000 (boost 0.4708, worse) | predicted_RBI: 0.3612 -> 0.0000 (deboost -0.3612, worse) | AB rounded to 3 (raw=2.85), rates preserved: AVG=0.268 HR/AB=0.018 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.227) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2827 -> 0.0000 (deboost -0.2827, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4365 (boost 0.4365, better) | predicted_H: 1.0000 -> 0.8448 (deboost -0.1552, 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_H: 0.8448 -> 1.0000 (boost 0.1552, better) | predicted_RBI: 0.4365 -> 0.0000 (deboost -0.4365, 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 | 2 | 1 | 1 | 1 | predicted_RBI: 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 |
| 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": "683734",
"player_name": "Andrew Vaughn",
"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.178,
"predicted_3B": 0.02,
"predicted_AB": 2.851,
"predicted_AVG": 0.309,
"predicted_BB": 0.317,
"predicted_H": 0.881,
"predicted_HR": 0.059,
"predicted_OBP": 0.378,
"predicted_R": 0.327,
"predicted_RBI": 0.426,
"predicted_SLG": 0.448,
"predicted_SO": 0.525
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1555,
"predicted_3B": 0.0162,
"predicted_AB": 2.7991,
"predicted_AVG": 0.2852,
"predicted_BB": 0.2881,
"predicted_H": 0.8002,
"predicted_HBP": 0.028,
"predicted_HR": 0.0505,
"predicted_OBP": 0.353,
"predicted_R": 0.2828,
"predicted_RBI": 0.3613,
"predicted_SLG": 0.4065,
"predicted_SO": 0.5327
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 2.851,
"after": 2.7991,
"delta": -0.0519,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.309,
"after": 0.2852,
"delta": -0.0238,
"percent_delta": -0.077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.881,
"after": 0.8002,
"delta": -0.0808,
"percent_delta": -0.0917,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.378,
"after": 0.353,
"delta": -0.025,
"percent_delta": -0.0661,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.426,
"after": 0.3613,
"delta": -0.0647,
"percent_delta": -0.1519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.448,
"after": 0.4065,
"delta": -0.0415,
"percent_delta": -0.0926,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.881,
"after": 0.8002,
"delta": -0.0808,
"percent_delta": -0.0917,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 101
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1555,
"predicted_3B": 0.0162,
"predicted_AB": 2.7991,
"predicted_AVG": 0.2855,
"predicted_BB": 0.29,
"predicted_H": 0.7991,
"predicted_HBP": 0.028,
"predicted_HR": 0.0504,
"predicted_OBP": 0.3526,
"predicted_R": 0.2827,
"predicted_RBI": 0.3612,
"predicted_SLG": 0.4066,
"predicted_SO": 0.5292
},
"changed_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.85), rates preserved: AVG=0.268 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1555,
"after": 0.0,
"delta": -0.1555,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.7991,
"after": 3.0,
"delta": 0.2009,
"percent_delta": 0.0718,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7991,
"after": 1.0,
"delta": 0.2009,
"percent_delta": 0.2514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0504,
"after": 0.0,
"delta": -0.0504,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3612,
"after": 0.0,
"delta": -0.3612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5292,
"after": 1.0,
"delta": 0.4708,
"percent_delta": 0.8896,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5292,
"after": 1.0,
"delta": 0.4708,
"percent_delta": 0.8896,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3612,
"after": 0.0,
"delta": -0.3612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.227)",
"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.8308,
"bvp": 0.1692
}
},
{
"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.2827,
"after": 0.0,
"delta": -0.2827,
"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.2827,
"after": 0.0,
"delta": -0.2827,
"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.1542,
"predicted_3B": 0.0128,
"predicted_BB": 0.3376,
"predicted_H": 0.8448,
"predicted_HR": 0.076,
"predicted_RBI": 0.4365,
"predicted_SO": 0.8801
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1542,
"delta": 0.1542,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3376,
"delta": 0.3376,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8448,
"delta": -0.1552,
"percent_delta": -0.1552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.076,
"delta": 0.076,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4365,
"delta": 0.4365,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8801,
"delta": -0.1199,
"percent_delta": -0.1199,
"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.4365,
"delta": 0.4365,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8448,
"delta": -0.1552,
"percent_delta": -0.1552,
"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.251,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.325,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.372,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1542,
"after": 0.0,
"delta": -0.1542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2855,
"after": 0.251,
"delta": -0.0345,
"percent_delta": -0.1208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3376,
"after": 0.0,
"delta": -0.3376,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8448,
"after": 1.0,
"delta": 0.1552,
"percent_delta": 0.1837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3526,
"after": 0.325,
"delta": -0.0276,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4365,
"after": 0.0,
"delta": -0.4365,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4066,
"after": 0.372,
"delta": -0.0346,
"percent_delta": -0.0851,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8801,
"after": 1.0,
"delta": 0.1199,
"percent_delta": 0.1362,
"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_H",
"before": 0.8448,
"after": 1.0,
"delta": 0.1552,
"percent_delta": 0.1837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4365,
"after": 0.0,
"delta": -0.4365,
"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.251,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.325,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.372,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 1.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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 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
},
"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.251,
"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.325,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.372,
"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.178,
"after": 0.0,
"delta": -0.178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.851,
"after": 3.0,
"delta": 0.149,
"percent_delta": 0.0523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.309,
"after": 0.251,
"delta": -0.058,
"percent_delta": -0.1877,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.0,
"delta": -0.317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.881,
"after": 0.0,
"delta": -0.881,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.378,
"after": 0.325,
"delta": -0.053,
"percent_delta": -0.1402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.327,
"after": 0.0,
"delta": -0.327,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.426,
"after": 1.0,
"delta": 0.574,
"percent_delta": 1.3474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.448,
"after": 0.372,
"delta": -0.076,
"percent_delta": -0.1696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.525,
"after": 1.0,
"delta": 0.475,
"percent_delta": 0.9048,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 4,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.881,
"after": 0.0,
"delta": -0.881,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.178 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 2.851 | - |
| predicted_AVG | 0.309 | - |
| predicted_BB | 0.317 | - |
| predicted_H | 0.881 | - |
| predicted_HR | 0.059 | - |
| predicted_OBP | 0.378 | - |
| predicted_R | 0.327 | - |
| predicted_RBI | 0.426 | - |
| predicted_SLG | 0.448 | - |
| predicted_SO | 0.525 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.155 | -0.022 |
| predicted_3B | 0.016 | -0.004 |
| predicted_AB | 2.799 | -0.052 |
| predicted_AVG | 0.285 | -0.024 |
| predicted_BB | 0.288 | -0.029 |
| predicted_H | 0.800 | -0.081 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.051 | -0.008 |
| predicted_OBP | 0.353 | -0.025 |
| predicted_R | 0.283 | -0.044 |
| predicted_RBI | 0.361 | -0.065 |
| predicted_SLG | 0.406 | -0.042 |
| predicted_SO | 0.533 | 0.008 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.155 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 2.799 | 0.000 |
| predicted_AVG | 0.285 | 0.000 |
| predicted_BB | 0.290 | 0.002 |
| predicted_H | 0.799 | -0.001 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.050 | -0.000 |
| predicted_OBP | 0.353 | -0.000 |
| predicted_R | 0.283 | -0.000 |
| predicted_RBI | 0.361 | -0.000 |
| predicted_SLG | 0.407 | 0.000 |
| predicted_SO | 0.529 | -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=2.85), rates preserved: AVG=0.268 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.227)
| Metric | Value | 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.154 | 0.154 |
| 3B | 0.013 | 0.013 |
| BB | 0.338 | 0.338 |
| H | 0.845 | -0.155 |
| HR | 0.076 | 0.076 |
| RBI | 0.436 | 0.436 |
| 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.154 |
| 3B | 0.000 | -0.013 |
| AB | 3.000 | 0.000 |
| AVG | 0.251 | - |
| BB | 0.000 | -0.338 |
| H | 1.000 | 0.155 |
| HR | 0.000 | -0.076 |
| OBP | 0.325 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.436 |
| SLG | 0.372 | - |
| 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.155 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 3.000 | 0.201 |
| predicted_AVG | 0.251 | -0.034 |
| predicted_BB | 0.000 | -0.290 |
| predicted_H | 1.000 | 0.201 |
| predicted_HR | 0.000 | -0.050 |
| predicted_OBP | 0.325 | -0.028 |
| predicted_R | 0.000 | -0.283 |
| predicted_RBI | 0.000 | -0.361 |
| predicted_SLG | 0.372 | -0.035 |
| predicted_SO | 1.000 | 0.471 |
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 | 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 | 1.000 | 1.000 |
| SF | 1.000 | 1.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 | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.0909 | 0.1667 | 0.0909 | 0.0909 | 0.0000 | 0.0000 | 0.0909 | 0.1818 |
| last_10 | 0.20 | 10 | - | 24.000 | 6.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 6.000 | 0.2500 | 0.2800 | 0.2917 | 0.2500 | 0.0000 | 0.0417 | 0.0417 | 0.2500 |
| season | 0.60 | 101 | - | 288.000 | 89.000 | 18.000 | 2.000 | 6.000 | 43.000 | 33.000 | 32.000 | 53.000 | 0.3090 | 0.3853 | 0.4479 | 0.3090 | 0.0208 | 0.1493 | 0.1111 | 0.1840 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1250 |
| predicted_3B | 0.0110 |
| predicted_AB | 2.7290 |
| predicted_AVG | 0.2531 |
| predicted_BB | 0.2490 |
| predicted_H | 0.6910 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.0390 |
| predicted_OBP | 0.3192 |
| predicted_R | 0.2230 |
| predicted_RBI | 0.2740 |
| predicted_SLG | 0.3505 |
| predicted_SO | 0.5430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1780 | 0.1250 | 0.1555 | model_form_blend |
| predicted_3B | 0.0200 | 0.0110 | 0.0162 | model_form_blend |
| predicted_AB | 2.8510 | 2.7290 | 2.7991 | model_form_blend |
| predicted_AVG | 0.3090 | 0.2531 | 0.2852 | model_form_blend |
| predicted_BB | 0.3170 | 0.2490 | 0.2881 | model_form_blend |
| predicted_H | 0.8810 | 0.6910 | 0.8002 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.0590 | 0.0390 | 0.0505 | model_form_blend |
| predicted_OBP | 0.3780 | 0.3192 | 0.3530 | model_form_blend |
| predicted_R | 0.3270 | 0.2230 | 0.2828 | model_form_blend |
| predicted_RBI | 0.4260 | 0.2740 | 0.3613 | model_form_blend |
| predicted_SLG | 0.4480 | 0.3505 | 0.4065 | model_form_blend |
| predicted_SO | 0.5250 | 0.5430 | 0.5327 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 332 |
| Season rows before report date | 332 |
| Report year | 2026 |
| Profile rows used | 101 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 1 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20261004_SD@MIL |
| game_type | ph |
| mlbID | 683734 |
| note | Flied out for Pratt in the 9th. |
| playerID | 683734 |
| playerName | Andrew Vaughn |
| pos | 1B |
| started | False |
| startingPosition | PH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-04 |
| sl_k_percent | 16.0 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.368 |
| sl_xwoba | 0.329 |
| sl_xba | 0.264 |
| sl_xslg | 0.38 |
| sl_sweet_spot_percent | 30.4 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 43.5 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 19.5 |
| sl_swing_percent | 38.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.199 | 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 | 1.000 | -0.036 | -1.000 |
| predicted_AB | 4.230 | 4.000 | 4.000 | Hitting_AB | 3.542 | 4.000 | 0.458 | 0.000 |
| predicted_AVG | 0.246 | 0.000 | 0.000 | Hitting_AVG | 0.273 | 0.500 | -0.273 | -0.500 |
| predicted_BB | 0.397 | 0.000 | 0.000 | Hitting_BB | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_H | 1.040 | 0.000 | 0.000 | Hitting_H | 0.968 | 2.000 | -0.968 | -2.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_OBP | 0.324 | 0.000 | 0.000 | Hitting_OBP | 0.358 | 0.500 | -0.358 | -0.500 |
| predicted_R | 0.525 | 0.000 | 0.000 | Hitting_R | 0.583 | 1.000 | -0.583 | -1.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.526 | 1.000 | -0.526 | -1.000 |
| predicted_SLG | 0.397 | 0.000 | 0.000 | Hitting_SLG | 0.429 | 1.000 | -0.429 | -1.000 |
| predicted_SO | 1.191 | 3.000 | 3.000 | Hitting_SO | 1.182 | 0.000 | 1.818 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 1.1910 -> 3.0000 (boost 1.8090, worse) |
| Biggest Deboost | predicted_H: 1.0400 -> 0.0000 (deboost -1.0400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.2300 -> 3.8865 (deboost -0.3435, worse) | Final model input calibrated with local 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.3886 -> 0.3699 (deboost -0.0187, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_AB: 3.8865 -> 4.0000 (boost 0.1135, better) | predicted_BB: 0.3900 -> 0.0000 (deboost -0.3900, worse) | AB rounded to 4 (raw=4.23), rates preserved: AVG=0.218 HR/AB=0.016 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5679 -> 1.0000 (boost 0.4321, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_SO: 1.0000 -> 1.6314 (boost 0.6314, worse) | predicted_H: 1.0000 -> 0.8617 (deboost -0.1383, 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 | 2 | 6 | predicted_RBI: 0.4739 -> 1.0000 (boost 0.5261, better) | predicted_BB: 0.3258 -> 0.0000 (deboost -0.3258, 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 | 0 | 4 | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, worse) | 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.3700 -> 0.3210 (deboost -0.0490, 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.199,
"predicted_3B": 0.035,
"predicted_AB": 4.23,
"predicted_AVG": 0.246,
"predicted_BB": 0.397,
"predicted_H": 1.04,
"predicted_HR": 0.08,
"predicted_OBP": 0.324,
"predicted_R": 0.525,
"predicted_RBI": 0.41,
"predicted_SLG": 0.397,
"predicted_SO": 1.191
},
"changed_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.0528,
"predicted_AB": 3.8865,
"predicted_AVG": 0.2497,
"predicted_BB": 0.3874,
"predicted_H": 0.9683,
"predicted_HBP": 0.027,
"predicted_HR": 0.0661,
"predicted_OBP": 0.3273,
"predicted_R": 0.568,
"predicted_RBI": 0.3731,
"predicted_SLG": 0.3886,
"predicted_SO": 1.2023
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.23,
"after": 3.8865,
"delta": -0.3435,
"percent_delta": -0.0812,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 0.9683,
"delta": -0.0717,
"percent_delta": -0.0689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.3886,
"delta": -0.0084,
"percent_delta": -0.0212,
"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.23,
"after": 3.8865,
"delta": -0.3435,
"percent_delta": -0.0812,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 141
}
},
{
"index": 3,
"step": "team_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.0528,
"predicted_AB": 3.8865,
"predicted_AVG": 0.2488,
"predicted_BB": 0.39,
"predicted_H": 0.9669,
"predicted_HBP": 0.027,
"predicted_HR": 0.0659,
"predicted_OBP": 0.3173,
"predicted_R": 0.5679,
"predicted_RBI": 0.373,
"predicted_SLG": 0.3699,
"predicted_SO": 1.1944
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3273,
"after": 0.3173,
"delta": -0.01,
"percent_delta": -0.0306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3886,
"after": 0.3699,
"delta": -0.0187,
"percent_delta": -0.0481,
"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.3886,
"after": 0.3699,
"delta": -0.0187,
"percent_delta": -0.0481,
"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.23), rates preserved: AVG=0.218 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1673,
"after": 0.0,
"delta": -0.1673,
"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.8865,
"after": 4.0,
"delta": 0.1135,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0659,
"after": 0.0,
"delta": -0.0659,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.373,
"after": 0.0,
"delta": -0.373,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1944,
"after": 1.0,
"delta": -0.1944,
"percent_delta": -0.1628,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.8865,
"after": 4.0,
"delta": 0.1135,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"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.5679,
"after": 1.0,
"delta": 0.4321,
"percent_delta": 0.7609,
"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.5679,
"after": 1.0,
"delta": 0.4321,
"percent_delta": 0.7609,
"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.1639,
"predicted_3B": 0.0213,
"predicted_BB": 0.3258,
"predicted_H": 0.8617,
"predicted_HR": 0.0809,
"predicted_RBI": 0.4739,
"predicted_SO": 1.6314
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1639,
"delta": 0.1639,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3258,
"delta": 0.3258,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8617,
"delta": -0.1383,
"percent_delta": -0.1383,
"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.4739,
"delta": 0.4739,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.6314,
"delta": 0.6314,
"percent_delta": 0.6314,
"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.6314,
"delta": 0.6314,
"percent_delta": 0.6314,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8617,
"delta": -0.1383,
"percent_delta": -0.1383,
"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.243,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.312,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.37,
"predicted_SO": 2.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_AVG",
"before": 0.2488,
"after": 0.243,
"delta": -0.0058,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3258,
"after": 0.0,
"delta": -0.3258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8617,
"after": 1.0,
"delta": 0.1383,
"percent_delta": 0.1605,
"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.3173,
"after": 0.312,
"delta": -0.0053,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4739,
"after": 1.0,
"delta": 0.5261,
"percent_delta": 1.1101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6314,
"after": 2.0,
"delta": 0.3686,
"percent_delta": 0.2259,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4739,
"after": 1.0,
"delta": 0.5261,
"percent_delta": 1.1101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3258,
"after": 0.0,
"delta": -0.3258,
"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.243,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.312,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.37,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.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_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": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 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
},
"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.196,
"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.264,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.321,
"predicted_SO": 3.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.196,
"delta": -0.047,
"percent_delta": -0.1934,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.264,
"delta": -0.048,
"percent_delta": -0.1538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.321,
"delta": -0.049,
"percent_delta": -0.1324,
"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.37,
"after": 0.321,
"delta": -0.049,
"percent_delta": -0.1324,
"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.199,
"after": 0.0,
"delta": -0.199,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.23,
"after": 4.0,
"delta": -0.23,
"percent_delta": -0.0544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.196,
"delta": -0.05,
"percent_delta": -0.2033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.264,
"delta": -0.06,
"percent_delta": -0.1852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.525,
"after": 0.0,
"delta": -0.525,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.321,
"delta": -0.076,
"percent_delta": -0.1914,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.191,
"after": 3.0,
"delta": 1.809,
"percent_delta": 1.5189,
"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.191,
"after": 3.0,
"delta": 1.809,
"percent_delta": 1.5189,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.199 | - |
| predicted_3B | 0.035 | - |
| predicted_AB | 4.230 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.397 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.525 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.397 | - |
| predicted_SO | 1.191 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.032 |
| predicted_3B | 0.053 | 0.018 |
| predicted_AB | 3.886 | -0.344 |
| predicted_AVG | 0.250 | 0.004 |
| predicted_BB | 0.387 | -0.010 |
| predicted_H | 0.968 | -0.072 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.066 | -0.014 |
| predicted_OBP | 0.327 | 0.003 |
| predicted_R | 0.568 | 0.043 |
| predicted_RBI | 0.373 | -0.037 |
| predicted_SLG | 0.389 | -0.008 |
| predicted_SO | 1.202 | 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.167 | 0.000 |
| predicted_3B | 0.053 | 0.000 |
| predicted_AB | 3.886 | 0.000 |
| predicted_AVG | 0.249 | -0.001 |
| predicted_BB | 0.390 | 0.003 |
| predicted_H | 0.967 | -0.001 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.066 | -0.000 |
| predicted_OBP | 0.317 | -0.010 |
| predicted_R | 0.568 | -0.000 |
| predicted_RBI | 0.373 | -0.000 |
| predicted_SLG | 0.370 | -0.019 |
| predicted_SO | 1.194 | -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.23), rates preserved: AVG=0.218 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.164 | 0.164 |
| 3B | 0.021 | 0.021 |
| BB | 0.326 | 0.326 |
| H | 0.862 | -0.138 |
| HR | 0.081 | 0.081 |
| RBI | 0.474 | 0.474 |
| SO | 1.631 | 0.631 |
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.021 |
| AB | 4.000 | 0.000 |
| AVG | 0.243 | - |
| BB | 0.000 | -0.326 |
| H | 1.000 | 0.138 |
| HR | 0.000 | -0.081 |
| OBP | 0.312 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.526 |
| SLG | 0.370 | - |
| SO | 2.000 | 0.369 |
Player 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.053 |
| predicted_AB | 4.000 | 0.114 |
| predicted_AVG | 0.243 | -0.006 |
| predicted_BB | 0.000 | -0.390 |
| predicted_H | 1.000 | 0.033 |
| predicted_HR | 0.000 | -0.066 |
| predicted_OBP | 0.312 | -0.005 |
| predicted_R | 1.000 | 0.432 |
| predicted_RBI | 1.000 | 0.627 |
| predicted_SLG | 0.370 | 0.000 |
| predicted_SO | 2.000 | 0.806 |
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 | -1.000 |
| SF | 0.000 | 0.000 |
| SO | 3.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 | 3.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 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 6.000 | 0.2778 | 0.3500 | 0.3889 | 0.2778 | 0.0000 | 0.0556 | 0.1111 | 0.3333 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 0.000 | 1.000 | 0.000 | 1.000 | 8.000 | 3.000 | 14.000 | 0.2222 | 0.2821 | 0.2778 | 0.2222 | 0.0000 | 0.0278 | 0.0833 | 0.3889 |
| season | 0.60 | 141 | - | 465.000 | 120.000 | 28.000 | 5.000 | 10.000 | 59.000 | 74.000 | 56.000 | 168.000 | 0.2581 | 0.3447 | 0.4043 | 0.2581 | 0.0215 | 0.1269 | 0.1204 | 0.3613 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1260 |
| predicted_3B | 0.0760 |
| predicted_AB | 3.4390 |
| predicted_AVG | 0.2545 |
| predicted_BB | 0.3750 |
| predicted_H | 0.8750 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.0480 |
| predicted_OBP | 0.3317 |
| predicted_R | 0.6240 |
| predicted_RBI | 0.3250 |
| predicted_SLG | 0.3776 |
| predicted_SO | 1.2170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1990 | 0.1260 | 0.1673 | model_form_blend |
| predicted_3B | 0.0350 | 0.0760 | 0.0528 | model_form_blend |
| predicted_AB | 4.2300 | 3.4390 | 3.8865 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2545 | 0.2497 | model_form_blend |
| predicted_BB | 0.3970 | 0.3750 | 0.3874 | model_form_blend |
| predicted_H | 1.0400 | 0.8750 | 0.9683 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.0800 | 0.0480 | 0.0661 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3317 | 0.3273 | model_form_blend |
| predicted_R | 0.5250 | 0.6240 | 0.5680 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3250 | 0.3731 | model_form_blend |
| predicted_SLG | 0.3970 | 0.3776 | 0.3886 | model_form_blend |
| predicted_SO | 1.1910 | 1.2170 | 1.2023 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 506 |
| Season rows before report date | 506 |
| Report year | 2026 |
| Profile rows used | 141 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 1 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| 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 | 20261007_MIL@SD |
| game_type | full |
| mlbID | 669003 |
| playerID | 669003 |
| playerName | Garrett Mitchell |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-07 |
| 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.095 | 0.000 | 0.000 | Hitting_2B | 0.107 | 1.000 | -0.107 | -1.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_AB | 3.270 | 4.000 | 4.000 | Hitting_AB | 3.317 | 4.000 | 0.683 | 0.000 |
| predicted_AVG | 0.263 | 0.250 | 0.250 | Hitting_AVG | 0.287 | 0.250 | -0.037 | 0.000 |
| predicted_BB | 0.324 | 0.000 | 0.000 | Hitting_BB | 0.373 | 0.000 | -0.373 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_H | 0.860 | 1.000 | 1.000 | Hitting_H | 0.952 | 1.000 | 0.048 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_OBP | 0.317 | 0.250 | 0.250 | Hitting_OBP | 0.355 | 0.250 | -0.105 | 0.000 |
| predicted_R | 0.419 | 1.000 | 1.000 | Hitting_R | 0.536 | 0.000 | 0.464 | 1.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.552 | 0.000 | -0.552 | 0.000 |
| predicted_SLG | 0.347 | 0.250 | 0.250 | Hitting_SLG | 0.396 | 0.500 | -0.146 | -0.250 |
| predicted_SO | 0.649 | 0.000 | 0.000 | Hitting_SO | 0.643 | 0.000 | -0.643 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.2700 -> 4.0000 (boost 0.7300, better) |
| Biggest Deboost | predicted_SO: 0.6490 -> 0.0000 (deboost -0.6490, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2630 -> 0.2689 (boost 0.0059, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.3212 -> 0.3294 (boost 0.0082, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.6597 -> 1.0000 (boost 0.3403, worse) | predicted_RBI: 0.3512 -> 0.0000 (deboost -0.3512, worse) | AB rounded to 3 (raw=3.32), rates preserved: AVG=0.256 HR/AB=0.011 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3831 -> 0.0000 (deboost -0.3831, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4482 (boost 0.4482, better) | predicted_H: 1.0000 -> 0.8209 (deboost -0.1791, 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.8209 -> 1.0000 (boost 0.1791, better) | predicted_RBI: 0.4482 -> 0.0000 (deboost -0.4482, 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 | 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 |
| 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_OBP: 0.3110 -> 0.2760 (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": "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.095,
"predicted_3B": 0.027,
"predicted_AB": 3.27,
"predicted_AVG": 0.263,
"predicted_BB": 0.324,
"predicted_H": 0.86,
"predicted_HR": 0.04,
"predicted_OBP": 0.317,
"predicted_R": 0.419,
"predicted_RBI": 0.35,
"predicted_SLG": 0.347,
"predicted_SO": 0.649
},
"changed_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.1135,
"predicted_3B": 0.0228,
"predicted_AB": 3.3196,
"predicted_AVG": 0.2689,
"predicted_BB": 0.2988,
"predicted_H": 0.8932,
"predicted_HBP": 0.018,
"predicted_HR": 0.0379,
"predicted_OBP": 0.3212,
"predicted_R": 0.3832,
"predicted_RBI": 0.3513,
"predicted_SLG": 0.352,
"predicted_SO": 0.6641
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2689,
"delta": 0.0059,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.352,
"delta": 0.005,
"percent_delta": 0.0144,
"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.263,
"after": 0.2689,
"delta": 0.0059,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1135,
"predicted_3B": 0.0228,
"predicted_AB": 3.3196,
"predicted_AVG": 0.2687,
"predicted_BB": 0.3008,
"predicted_H": 0.8919,
"predicted_HBP": 0.018,
"predicted_HR": 0.0378,
"predicted_OBP": 0.3294,
"predicted_R": 0.3831,
"predicted_RBI": 0.3512,
"predicted_SLG": 0.3508,
"predicted_SO": 0.6597
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3212,
"after": 0.3294,
"delta": 0.0082,
"percent_delta": 0.0255,
"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.3212,
"after": 0.3294,
"delta": 0.0082,
"percent_delta": 0.0255,
"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=3.32), rates preserved: AVG=0.256 HR/AB=0.011",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1135,
"after": 0.0,
"delta": -0.1135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.3196,
"after": 3.0,
"delta": -0.3196,
"percent_delta": -0.0963,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3008,
"after": 0.0,
"delta": -0.3008,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8919,
"after": 1.0,
"delta": 0.1081,
"percent_delta": 0.1212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3512,
"after": 0.0,
"delta": -0.3512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6597,
"after": 1.0,
"delta": 0.3403,
"percent_delta": 0.5158,
"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.6597,
"after": 1.0,
"delta": 0.3403,
"percent_delta": 0.5158,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3512,
"after": 0.0,
"delta": -0.3512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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.3831,
"after": 0.0,
"delta": -0.3831,
"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.3831,
"after": 0.0,
"delta": -0.3831,
"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.1462,
"predicted_3B": 0.0149,
"predicted_BB": 0.3177,
"predicted_H": 0.8209,
"predicted_HR": 0.0733,
"predicted_RBI": 0.4482,
"predicted_SO": 0.8788
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1462,
"delta": 0.1462,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3177,
"delta": 0.3177,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8209,
"delta": -0.1791,
"percent_delta": -0.1791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0733,
"delta": 0.0733,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4482,
"delta": 0.4482,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8788,
"delta": -0.1212,
"percent_delta": -0.1212,
"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.4482,
"delta": 0.4482,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8209,
"delta": -0.1791,
"percent_delta": -0.1791,
"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.241,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.311,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.357,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1462,
"after": 0.0,
"delta": -0.1462,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2687,
"after": 0.241,
"delta": -0.0277,
"percent_delta": -0.1031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3177,
"after": 0.0,
"delta": -0.3177,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8209,
"after": 1.0,
"delta": 0.1791,
"percent_delta": 0.2182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0733,
"after": 0.0,
"delta": -0.0733,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3294,
"after": 0.311,
"delta": -0.0184,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4482,
"after": 0.0,
"delta": -0.4482,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3508,
"after": 0.357,
"delta": 0.0062,
"percent_delta": 0.0177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8788,
"after": 1.0,
"delta": 0.1212,
"percent_delta": 0.1379,
"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.8209,
"after": 1.0,
"delta": 0.1791,
"percent_delta": 0.2182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4482,
"after": 0.0,
"delta": -0.4482,
"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.241,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.311,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.357,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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_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": 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": 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": 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.213,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.276,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.33,
"predicted_SO": 0.0,
"predicted_SS": 0.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.213,
"delta": -0.028,
"percent_delta": -0.1162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.276,
"delta": -0.035,
"percent_delta": -0.1125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.33,
"delta": -0.027,
"percent_delta": -0.0756,
"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.311,
"after": 0.276,
"delta": -0.035,
"percent_delta": -0.1125,
"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.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.27,
"after": 4.0,
"delta": 0.73,
"percent_delta": 0.2232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.213,
"delta": -0.05,
"percent_delta": -0.1901,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.0,
"delta": -0.324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.0,
"delta": 0.14,
"percent_delta": 0.1628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.276,
"delta": -0.041,
"percent_delta": -0.1293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 1.0,
"delta": 0.581,
"percent_delta": 1.3866,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.33,
"delta": -0.017,
"percent_delta": -0.049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.649,
"after": 0.0,
"delta": -0.649,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.27,
"after": 4.0,
"delta": 0.73,
"percent_delta": 0.2232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.649,
"after": 0.0,
"delta": -0.649,
"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.095 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.270 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.324 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.419 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.347 | - |
| predicted_SO | 0.649 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | 0.019 |
| predicted_3B | 0.023 | -0.004 |
| predicted_AB | 3.320 | 0.050 |
| predicted_AVG | 0.269 | 0.006 |
| predicted_BB | 0.299 | -0.025 |
| predicted_H | 0.893 | 0.033 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.038 | -0.002 |
| predicted_OBP | 0.321 | 0.004 |
| predicted_R | 0.383 | -0.036 |
| predicted_RBI | 0.351 | 0.001 |
| predicted_SLG | 0.352 | 0.005 |
| predicted_SO | 0.664 | 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.114 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.320 | 0.000 |
| predicted_AVG | 0.269 | -0.000 |
| predicted_BB | 0.301 | 0.002 |
| predicted_H | 0.892 | -0.001 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.038 | -0.000 |
| predicted_OBP | 0.329 | 0.008 |
| predicted_R | 0.383 | -0.000 |
| predicted_RBI | 0.351 | -0.000 |
| predicted_SLG | 0.351 | -0.001 |
| predicted_SO | 0.660 | -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.32), rates preserved: AVG=0.256 HR/AB=0.011
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.015 | 0.015 |
| BB | 0.318 | 0.318 |
| H | 0.821 | -0.179 |
| HR | 0.073 | 0.073 |
| RBI | 0.448 | 0.448 |
| SO | 0.879 | -0.121 |
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.015 |
| AB | 3.000 | 0.000 |
| AVG | 0.241 | - |
| BB | 0.000 | -0.318 |
| H | 1.000 | 0.179 |
| HR | 0.000 | -0.073 |
| OBP | 0.311 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.448 |
| SLG | 0.357 | - |
| SO | 1.000 | 0.121 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.114 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | -0.320 |
| predicted_AVG | 0.241 | -0.028 |
| predicted_BB | 0.000 | -0.301 |
| predicted_H | 1.000 | 0.108 |
| predicted_HR | 0.000 | -0.038 |
| predicted_OBP | 0.311 | -0.018 |
| predicted_R | 0.000 | -0.383 |
| predicted_RBI | 0.000 | -0.351 |
| predicted_SLG | 0.357 | 0.006 |
| predicted_SO | 1.000 | 0.340 |
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 | 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 | 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 | - | 19.000 | 5.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 4.000 | 0.2632 | 0.2632 | 0.3158 | 0.2632 | 0.0000 | 0.0000 | 0.0000 | 0.2105 |
| last_10 | 0.20 | 10 | - | 33.000 | 10.000 | 2.000 | 0.000 | 0.000 | 3.000 | 1.000 | 3.000 | 6.000 | 0.3030 | 0.3611 | 0.3636 | 0.3030 | 0.0000 | 0.0909 | 0.0909 | 0.1818 |
| season | 0.60 | 74 | - | 237.000 | 66.000 | 7.000 | 2.000 | 3.000 | 33.000 | 31.000 | 24.000 | 48.000 | 0.2785 | 0.3407 | 0.3629 | 0.2785 | 0.0127 | 0.1392 | 0.1013 | 0.2025 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1390 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.3880 |
| predicted_AVG | 0.2771 |
| predicted_BB | 0.2640 |
| predicted_H | 0.9390 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0350 |
| predicted_OBP | 0.3269 |
| predicted_R | 0.3340 |
| predicted_RBI | 0.3530 |
| predicted_SLG | 0.3590 |
| predicted_SO | 0.6850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0950 | 0.1390 | 0.1135 | model_form_blend |
| predicted_3B | 0.0270 | 0.0170 | 0.0228 | model_form_blend |
| predicted_AB | 3.2700 | 3.3880 | 3.3196 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2771 | 0.2689 | model_form_blend |
| predicted_BB | 0.3240 | 0.2640 | 0.2988 | model_form_blend |
| predicted_H | 0.8600 | 0.9390 | 0.8932 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0400 | 0.0350 | 0.0379 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3269 | 0.3212 | model_form_blend |
| predicted_R | 0.4190 | 0.3340 | 0.3832 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3530 | 0.3513 | model_form_blend |
| predicted_SLG | 0.3470 | 0.3590 | 0.3520 | model_form_blend |
| predicted_SO | 0.6490 | 0.6850 | 0.6641 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 252 |
| Season rows before report date | 252 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 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 | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20261007_MIL@SD |
| game_type | full |
| mlbID | 806198 |
| playerID | 806198 |
| playerName | Cooper Pratt |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-07 |
| 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.125 | 0.000 | 0.000 | Hitting_2B | 0.116 | 0.000 | -0.116 | 0.000 |
| predicted_3B | 0.036 | 0.000 | 0.000 | Hitting_3B | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_AB | 3.411 | 3.000 | 3.000 | Hitting_AB | 3.553 | 0.000 | -0.553 | 3.000 |
| predicted_AVG | 0.241 | 0.000 | 0.000 | Hitting_AVG | 0.256 | - | -0.256 | - |
| predicted_BB | 0.304 | 1.000 | 1.000 | Hitting_BB | 0.382 | 0.000 | 0.618 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_H | 0.821 | 0.000 | 0.000 | Hitting_H | 0.910 | 0.000 | -0.910 | 0.000 |
| predicted_HR | 0.018 | 0.000 | 0.000 | Hitting_HR | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_OBP | 0.303 | 0.250 | 0.250 | Hitting_OBP | 0.330 | - | -0.080 | - |
| predicted_R | 0.429 | 1.000 | 1.000 | Hitting_R | 0.492 | 0.000 | 0.508 | 1.000 |
| predicted_RBI | 0.464 | 0.000 | 0.000 | Hitting_RBI | 0.533 | 0.000 | -0.533 | 0.000 |
| predicted_SLG | 0.314 | 0.000 | 0.000 | Hitting_SLG | 0.334 | - | -0.334 | - |
| predicted_SO | 0.821 | 1.000 | 1.000 | Hitting_SO | 0.859 | 0.000 | 0.141 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3040 -> 1.0000 (boost 0.6960, better) |
| Biggest Deboost | predicted_H: 0.8210 -> 0.0000 (deboost -0.8210, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AB: 3.4110 -> 3.4730 (boost 0.0620, better) | predicted_SLG: 0.3140 -> 0.2989 (deboost -0.0151, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_AB: 3.4730 -> 4.0000 (boost 0.5270, better) | predicted_RBI: 0.4565 -> 0.0000 (deboost -0.4565, worse) | AB rounded to 4 (raw=3.47), rates preserved: AVG=0.219 HR/AB=0.006 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3942 -> 0.0000 (deboost -0.3942, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.4612 (boost 0.4612, better) | predicted_H: 1.0000 -> 0.8136 (deboost -0.1864, 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_H: 0.8136 -> 1.0000 (boost 0.1864, better) | predicted_RBI: 0.4612 -> 0.0000 (deboost -0.4612, 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 | 2 | 2 | 2 | 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 |
| 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.2320 -> 0.2120 (deboost -0.0200, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "800325",
"player_name": "Luis Lara",
"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.125,
"predicted_3B": 0.036,
"predicted_AB": 3.411,
"predicted_AVG": 0.241,
"predicted_BB": 0.304,
"predicted_H": 0.821,
"predicted_HR": 0.018,
"predicted_OBP": 0.303,
"predicted_R": 0.429,
"predicted_RBI": 0.464,
"predicted_SLG": 0.314,
"predicted_SO": 0.821
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1176,
"predicted_3B": 0.0298,
"predicted_AB": 3.473,
"predicted_AVG": 0.2299,
"predicted_BB": 0.3085,
"predicted_H": 0.797,
"predicted_HBP": 0.014,
"predicted_HR": 0.0209,
"predicted_OBP": 0.2928,
"predicted_R": 0.3943,
"predicted_RBI": 0.4566,
"predicted_SLG": 0.2989,
"predicted_SO": 0.7995
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.411,
"after": 3.473,
"delta": 0.062,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2299,
"delta": -0.0111,
"percent_delta": -0.0461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.2928,
"delta": -0.0102,
"percent_delta": -0.0337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.314,
"after": 0.2989,
"delta": -0.0151,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.411,
"after": 3.473,
"delta": 0.062,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.314,
"after": 0.2989,
"delta": -0.0151,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 56
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1176,
"predicted_3B": 0.0298,
"predicted_AB": 3.473,
"predicted_AVG": 0.2292,
"predicted_BB": 0.3105,
"predicted_H": 0.7959,
"predicted_HBP": 0.014,
"predicted_HR": 0.0208,
"predicted_OBP": 0.2924,
"predicted_R": 0.3942,
"predicted_RBI": 0.4565,
"predicted_SLG": 0.2982,
"predicted_SO": 0.7942
},
"changed_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.47), rates preserved: AVG=0.219 HR/AB=0.006",
"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.1176,
"after": 0.0,
"delta": -0.1176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.473,
"after": 4.0,
"delta": 0.527,
"percent_delta": 0.1517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3105,
"after": 0.0,
"delta": -0.3105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7959,
"after": 1.0,
"delta": 0.2041,
"percent_delta": 0.2564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4565,
"after": 0.0,
"delta": -0.4565,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7942,
"after": 1.0,
"delta": 0.2058,
"percent_delta": 0.2591,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.473,
"after": 4.0,
"delta": 0.527,
"percent_delta": 0.1517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4565,
"after": 0.0,
"delta": -0.4565,
"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.3942,
"after": 0.0,
"delta": -0.3942,
"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.3942,
"after": 0.0,
"delta": -0.3942,
"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.1577,
"predicted_3B": 0.0161,
"predicted_BB": 0.3072,
"predicted_H": 0.8136,
"predicted_HR": 0.0692,
"predicted_RBI": 0.4612,
"predicted_SO": 1.0697
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1577,
"delta": 0.1577,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3072,
"delta": 0.3072,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8136,
"delta": -0.1864,
"percent_delta": -0.1864,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0692,
"delta": 0.0692,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4612,
"delta": 0.4612,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0697,
"delta": 0.0697,
"percent_delta": 0.0697,
"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.4612,
"delta": 0.4612,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8136,
"delta": -0.1864,
"percent_delta": -0.1864,
"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.232,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.346,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1577,
"after": 0.0,
"delta": -0.1577,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3072,
"after": 0.0,
"delta": -0.3072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8136,
"after": 1.0,
"delta": 0.1864,
"percent_delta": 0.2291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0692,
"after": 0.0,
"delta": -0.0692,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2924,
"after": 0.3,
"delta": 0.0076,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4612,
"after": 0.0,
"delta": -0.4612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2982,
"after": 0.346,
"delta": 0.0478,
"percent_delta": 0.1603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0697,
"after": 1.0,
"delta": -0.0697,
"percent_delta": -0.0652,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8136,
"after": 1.0,
"delta": 0.1864,
"percent_delta": 0.2291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4612,
"after": 0.0,
"delta": -0.4612,
"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.232,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.346,
"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": 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_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
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 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.212,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.281,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.326,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.212,
"delta": -0.02,
"percent_delta": -0.0862,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.281,
"delta": -0.019,
"percent_delta": -0.0633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.346,
"after": 0.326,
"delta": -0.02,
"percent_delta": -0.0578,
"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.232,
"after": 0.212,
"delta": -0.02,
"percent_delta": -0.0862,
"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.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.411,
"after": 3.0,
"delta": -0.411,
"percent_delta": -0.1205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.212,
"delta": -0.029,
"percent_delta": -0.1203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.304,
"after": 1.0,
"delta": 0.696,
"percent_delta": 2.2895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.821,
"after": 0.0,
"delta": -0.821,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.281,
"delta": -0.022,
"percent_delta": -0.0726,
"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.464,
"after": 0.0,
"delta": -0.464,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.314,
"after": 0.326,
"delta": 0.012,
"percent_delta": 0.0382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.821,
"after": 1.0,
"delta": 0.179,
"percent_delta": 0.218,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.304,
"after": 1.0,
"delta": 0.696,
"percent_delta": 2.2895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.821,
"after": 0.0,
"delta": -0.821,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | - |
| predicted_3B | 0.036 | - |
| predicted_AB | 3.411 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.304 | - |
| predicted_H | 0.821 | - |
| predicted_HR | 0.018 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.429 | - |
| predicted_RBI | 0.464 | - |
| predicted_SLG | 0.314 | - |
| predicted_SO | 0.821 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | -0.007 |
| predicted_3B | 0.030 | -0.006 |
| predicted_AB | 3.473 | 0.062 |
| predicted_AVG | 0.230 | -0.011 |
| predicted_BB | 0.308 | 0.005 |
| predicted_H | 0.797 | -0.024 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.021 | 0.003 |
| predicted_OBP | 0.293 | -0.010 |
| predicted_R | 0.394 | -0.035 |
| predicted_RBI | 0.457 | -0.007 |
| predicted_SLG | 0.299 | -0.015 |
| predicted_SO | 0.799 | -0.021 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 3.473 | 0.000 |
| predicted_AVG | 0.229 | -0.001 |
| predicted_BB | 0.310 | 0.002 |
| predicted_H | 0.796 | -0.001 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.021 | -0.000 |
| predicted_OBP | 0.292 | -0.000 |
| predicted_R | 0.394 | -0.000 |
| predicted_RBI | 0.457 | -0.000 |
| predicted_SLG | 0.298 | -0.001 |
| predicted_SO | 0.794 | -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 4 (raw=3.47), rates preserved: AVG=0.219 HR/AB=0.006
| 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.158 | 0.158 |
| 3B | 0.016 | 0.016 |
| BB | 0.307 | 0.307 |
| H | 0.814 | -0.186 |
| HR | 0.069 | 0.069 |
| RBI | 0.461 | 0.461 |
| SO | 1.070 | 0.070 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.158 |
| 3B | 0.000 | -0.016 |
| AB | 4.000 | 0.000 |
| AVG | 0.232 | - |
| BB | 0.000 | -0.307 |
| H | 1.000 | 0.186 |
| HR | 0.000 | -0.069 |
| OBP | 0.300 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.461 |
| SLG | 0.346 | - |
| SO | 1.000 | -0.070 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.118 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 4.000 | 0.527 |
| predicted_AVG | 0.232 | 0.003 |
| predicted_BB | 0.000 | -0.310 |
| predicted_H | 1.000 | 0.204 |
| predicted_HR | 0.000 | -0.021 |
| predicted_OBP | 0.300 | 0.008 |
| predicted_R | 0.000 | -0.394 |
| predicted_RBI | 0.000 | -0.457 |
| predicted_SLG | 0.346 | 0.048 |
| predicted_SO | 1.000 | 0.206 |
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 | 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 | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 3.000 | 0.1579 | 0.2381 | 0.1579 | 0.1579 | 0.0000 | 0.1053 | 0.1053 | 0.1579 |
| last_10 | 0.20 | 10 | - | 36.000 | 6.000 | 1.000 | 0.000 | 0.000 | 4.000 | 3.000 | 3.000 | 7.000 | 0.1667 | 0.2250 | 0.1944 | 0.1667 | 0.0000 | 0.1111 | 0.0833 | 0.1944 |
| season | 0.60 | 56 | - | 191.000 | 46.000 | 7.000 | 2.000 | 1.000 | 26.000 | 24.000 | 17.000 | 46.000 | 0.2408 | 0.3033 | 0.3141 | 0.2408 | 0.0052 | 0.1361 | 0.0890 | 0.2408 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1070 |
| predicted_3B | 0.0210 |
| predicted_AB | 3.5610 |
| predicted_AVG | 0.2142 |
| predicted_BB | 0.3150 |
| predicted_H | 0.7630 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.0250 |
| predicted_OBP | 0.2784 |
| predicted_R | 0.3450 |
| predicted_RBI | 0.4460 |
| predicted_SLG | 0.2774 |
| predicted_SO | 0.7690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1070 | 0.1176 | model_form_blend |
| predicted_3B | 0.0360 | 0.0210 | 0.0298 | model_form_blend |
| predicted_AB | 3.4110 | 3.5610 | 3.4730 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2142 | 0.2299 | model_form_blend |
| predicted_BB | 0.3040 | 0.3150 | 0.3085 | model_form_blend |
| predicted_H | 0.8210 | 0.7630 | 0.7970 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.0180 | 0.0250 | 0.0209 | model_form_blend |
| predicted_OBP | 0.3030 | 0.2784 | 0.2928 | model_form_blend |
| predicted_R | 0.4290 | 0.3450 | 0.3943 | model_form_blend |
| predicted_RBI | 0.4640 | 0.4460 | 0.4566 | model_form_blend |
| predicted_SLG | 0.3140 | 0.2774 | 0.2989 | model_form_blend |
| predicted_SO | 0.8210 | 0.7690 | 0.7995 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 199 |
| Season rows before report date | 199 |
| Report year | 2026 |
| Profile rows used | 56 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 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 | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PR |
| gameID | 20261006_MIL@SD |
| game_type | ph |
| mlbID | 800325 |
| note | Ran for Contreras, Wm in the 9th. |
| playerID | 800325 |
| playerName | Luis Lara |
| pos | CF |
| started | False |
| startingPosition | PR |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-06 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.286 |
| sl_xwoba | 0.293 |
| sl_xba | 0.256 |
| sl_xslg | 0.331 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 41.5 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 5.3 |
| sl_whiff_percent | 17.0 |
| sl_swing_percent | 42.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.109 | 0.000 | 0.000 | Hitting_2B | 0.117 | 0.000 | -0.117 | 0.000 |
| predicted_3B | 0.034 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 3.134 | 3.000 | 3.000 | Hitting_AB | 3.246 | 4.000 | -0.246 | -1.000 |
| predicted_AVG | 0.263 | 0.333 | 0.333 | Hitting_AVG | 0.279 | 0.000 | 0.055 | 0.333 |
| predicted_BB | 0.286 | 1.000 | 1.000 | Hitting_BB | 0.307 | 0.000 | 0.693 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 0.824 | 1.000 | 1.000 | Hitting_H | 0.905 | 0.000 | 0.095 | 1.000 |
| predicted_HR | 0.076 | 0.000 | 0.000 | Hitting_HR | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_OBP | 0.324 | 0.500 | 0.500 | Hitting_OBP | 0.337 | 0.000 | 0.163 | 0.500 |
| predicted_R | 0.395 | 0.000 | 0.000 | Hitting_R | 0.449 | 0.000 | -0.449 | 0.000 |
| predicted_RBI | 0.387 | 1.000 | 1.000 | Hitting_RBI | 0.417 | 0.000 | 0.583 | 1.000 |
| predicted_SLG | 0.391 | 0.333 | 0.333 | Hitting_SLG | 0.426 | 0.000 | -0.093 | 0.333 |
| predicted_SO | 0.714 | 1.000 | 1.000 | Hitting_SO | 0.693 | 1.000 | 0.307 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.2860 -> 1.0000 (boost 0.7140, better) |
| Biggest Deboost | predicted_R: 0.3950 -> 0.0000 (deboost -0.3950, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 1 | 4 | predicted_AB: 3.1340 -> 3.2123 (boost 0.0783, better) | predicted_SLG: 0.3910 -> 0.3700 (deboost -0.0210, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.7721 -> 1.0000 (boost 0.2279, worse) | predicted_RBI: 0.3542 -> 0.0000 (deboost -0.3542, worse) | AB rounded to 3 (raw=3.21), rates preserved: AVG=0.245 HR/AB=0.021 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.000) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3678 -> 0.0000 (deboost -0.3678, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.3920 (boost 0.3920, better) | predicted_H: 1.0000 -> 0.7557 (deboost -0.2443, 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 | 0 | 9 | 1 | 8 | - | predicted_H: 0.7557 -> 0.0000 (deboost -0.7557, 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 | 3 | 0 | 3 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 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.2950 -> 0.2680 (deboost -0.0270, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "687401",
"player_name": "Joey Ortiz",
"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.109,
"predicted_3B": 0.034,
"predicted_AB": 3.134,
"predicted_AVG": 0.263,
"predicted_BB": 0.286,
"predicted_H": 0.824,
"predicted_HR": 0.076,
"predicted_OBP": 0.324,
"predicted_R": 0.395,
"predicted_RBI": 0.387,
"predicted_SLG": 0.391,
"predicted_SO": 0.714
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0944,
"predicted_3B": 0.0357,
"predicted_AB": 3.2123,
"predicted_AVG": 0.257,
"predicted_BB": 0.2804,
"predicted_H": 0.8249,
"predicted_HBP": 0.002,
"predicted_HR": 0.0661,
"predicted_OBP": 0.3155,
"predicted_R": 0.3679,
"predicted_RBI": 0.3543,
"predicted_SLG": 0.37,
"predicted_SO": 0.7772
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.134,
"after": 3.2123,
"delta": 0.0783,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.257,
"delta": -0.006,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3155,
"delta": -0.0085,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.37,
"delta": -0.021,
"percent_delta": -0.0537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 0.7772,
"delta": 0.0632,
"percent_delta": 0.0885,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.134,
"after": 3.2123,
"delta": 0.0783,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.37,
"delta": -0.021,
"percent_delta": -0.0537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 119
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0944,
"predicted_3B": 0.0357,
"predicted_AB": 3.2123,
"predicted_AVG": 0.2564,
"predicted_BB": 0.2823,
"predicted_H": 0.8237,
"predicted_HBP": 0.002,
"predicted_HR": 0.0659,
"predicted_OBP": 0.3165,
"predicted_R": 0.3678,
"predicted_RBI": 0.3542,
"predicted_SLG": 0.3696,
"predicted_SO": 0.7721
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.21), rates preserved: AVG=0.245 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.0944,
"after": 0.0,
"delta": -0.0944,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.2123,
"after": 3.0,
"delta": -0.2123,
"percent_delta": -0.0661,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2823,
"after": 0.0,
"delta": -0.2823,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8237,
"after": 1.0,
"delta": 0.1763,
"percent_delta": 0.214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0659,
"after": 0.0,
"delta": -0.0659,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3542,
"after": 0.0,
"delta": -0.3542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7721,
"after": 1.0,
"delta": 0.2279,
"percent_delta": 0.2952,
"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.7721,
"after": 1.0,
"delta": 0.2279,
"percent_delta": 0.2952,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3542,
"after": 0.0,
"delta": -0.3542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.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": 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.3678,
"after": 0.0,
"delta": -0.3678,
"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.3678,
"after": 0.0,
"delta": -0.3678,
"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.1362,
"predicted_3B": 0.0168,
"predicted_BB": 0.295,
"predicted_H": 0.7557,
"predicted_HR": 0.0826,
"predicted_RBI": 0.392,
"predicted_SO": 1.1148
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1362,
"delta": 0.1362,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.295,
"delta": 0.295,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7557,
"delta": -0.2443,
"percent_delta": -0.2443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0826,
"delta": 0.0826,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.392,
"delta": 0.392,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.1148,
"delta": 0.1148,
"percent_delta": 0.1148,
"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.392,
"delta": 0.392,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7557,
"delta": -0.2443,
"percent_delta": -0.2443,
"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.226,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.295,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.351,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1362,
"after": 0.0,
"delta": -0.1362,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2564,
"after": 0.226,
"delta": -0.0304,
"percent_delta": -0.1186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.295,
"after": 0.0,
"delta": -0.295,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7557,
"after": 0.0,
"delta": -0.7557,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0826,
"after": 0.0,
"delta": -0.0826,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3165,
"after": 0.295,
"delta": -0.0215,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.392,
"after": 0.0,
"delta": -0.392,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3696,
"after": 0.351,
"delta": -0.0186,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1148,
"after": 1.0,
"delta": -0.1148,
"percent_delta": -0.103,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 0,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.7557,
"after": 0.0,
"delta": -0.7557,
"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.226,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.295,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.351,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 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": 1.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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"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": 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.207,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.268,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.332,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.207,
"delta": -0.019,
"percent_delta": -0.0841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.268,
"delta": -0.027,
"percent_delta": -0.0915,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.332,
"delta": -0.019,
"percent_delta": -0.0541,
"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.295,
"after": 0.268,
"delta": -0.027,
"percent_delta": -0.0915,
"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.109,
"after": 0.0,
"delta": -0.109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.134,
"after": 3.0,
"delta": -0.134,
"percent_delta": -0.0428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.207,
"delta": -0.056,
"percent_delta": -0.2129,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 1.0,
"delta": 0.714,
"percent_delta": 2.4965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.824,
"after": 1.0,
"delta": 0.176,
"percent_delta": 0.2136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.268,
"delta": -0.056,
"percent_delta": -0.1728,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.395,
"after": 0.0,
"delta": -0.395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.387,
"after": 1.0,
"delta": 0.613,
"percent_delta": 1.584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.332,
"delta": -0.059,
"percent_delta": -0.1509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 1.0,
"delta": 0.286,
"percent_delta": 0.4006,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.286,
"after": 1.0,
"delta": 0.714,
"percent_delta": 2.4965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.395,
"after": 0.0,
"delta": -0.395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.109 | - |
| predicted_3B | 0.034 | - |
| predicted_AB | 3.134 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.286 | - |
| predicted_H | 0.824 | - |
| predicted_HR | 0.076 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.395 | - |
| predicted_RBI | 0.387 | - |
| predicted_SLG | 0.391 | - |
| predicted_SO | 0.714 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.094 | -0.015 |
| predicted_3B | 0.036 | 0.002 |
| predicted_AB | 3.212 | 0.078 |
| predicted_AVG | 0.257 | -0.006 |
| predicted_BB | 0.280 | -0.006 |
| predicted_H | 0.825 | 0.001 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.066 | -0.010 |
| predicted_OBP | 0.316 | -0.009 |
| predicted_R | 0.368 | -0.027 |
| predicted_RBI | 0.354 | -0.033 |
| predicted_SLG | 0.370 | -0.021 |
| predicted_SO | 0.777 | 0.063 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.094 | 0.000 |
| predicted_3B | 0.036 | 0.000 |
| predicted_AB | 3.212 | 0.000 |
| predicted_AVG | 0.256 | -0.001 |
| predicted_BB | 0.282 | 0.002 |
| predicted_H | 0.824 | -0.001 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.066 | -0.000 |
| predicted_OBP | 0.317 | 0.001 |
| predicted_R | 0.368 | -0.000 |
| predicted_RBI | 0.354 | -0.000 |
| predicted_SLG | 0.370 | -0.000 |
| predicted_SO | 0.772 | -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=3.21), rates preserved: AVG=0.245 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=11.0, weight=0.107, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.136 | 0.136 |
| 3B | 0.017 | 0.017 |
| BB | 0.295 | 0.295 |
| H | 0.756 | -0.244 |
| HR | 0.083 | 0.083 |
| RBI | 0.392 | 0.392 |
| SO | 1.115 | 0.115 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.136 |
| 3B | 0.000 | -0.017 |
| AB | 3.000 | 0.000 |
| AVG | 0.226 | - |
| BB | 0.000 | -0.295 |
| H | 0.000 | -0.756 |
| HR | 0.000 | -0.083 |
| OBP | 0.295 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.392 |
| SLG | 0.351 | - |
| SO | 1.000 | -0.115 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.094 |
| predicted_3B | 0.000 | -0.036 |
| predicted_AB | 3.000 | -0.212 |
| predicted_AVG | 0.226 | -0.030 |
| predicted_BB | 0.000 | -0.282 |
| predicted_H | 0.000 | -0.824 |
| predicted_HR | 0.000 | -0.066 |
| predicted_OBP | 0.295 | -0.022 |
| predicted_R | 0.000 | -0.368 |
| predicted_RBI | 0.000 | -0.354 |
| predicted_SLG | 0.351 | -0.019 |
| predicted_SO | 1.000 | 0.228 |
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 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 5.000 | 0.2353 | 0.2778 | 0.2353 | 0.2353 | 0.0000 | 0.0588 | 0.0588 | 0.2941 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 0.000 | 1.000 | 0.000 | 1.000 | 4.000 | 3.000 | 12.000 | 0.2222 | 0.2821 | 0.2778 | 0.2222 | 0.0000 | 0.0278 | 0.0833 | 0.3333 |
| season | 0.60 | 119 | - | 373.000 | 98.000 | 13.000 | 4.000 | 9.000 | 46.000 | 47.000 | 34.000 | 85.000 | 0.2627 | 0.3204 | 0.3914 | 0.2627 | 0.0241 | 0.1233 | 0.0911 | 0.2279 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0750 |
| predicted_3B | 0.0380 |
| predicted_AB | 3.3160 |
| predicted_AVG | 0.2490 |
| predicted_BB | 0.2730 |
| predicted_H | 0.8260 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.0530 |
| predicted_OBP | 0.3043 |
| predicted_R | 0.3320 |
| predicted_RBI | 0.3110 |
| predicted_SLG | 0.3422 |
| predicted_SO | 0.8610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1090 | 0.0750 | 0.0944 | model_form_blend |
| predicted_3B | 0.0340 | 0.0380 | 0.0357 | model_form_blend |
| predicted_AB | 3.1340 | 3.3160 | 3.2123 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2490 | 0.2570 | model_form_blend |
| predicted_BB | 0.2860 | 0.2730 | 0.2804 | model_form_blend |
| predicted_H | 0.8240 | 0.8260 | 0.8249 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.0760 | 0.0530 | 0.0661 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3043 | 0.3155 | model_form_blend |
| predicted_R | 0.3950 | 0.3320 | 0.3679 | model_form_blend |
| predicted_RBI | 0.3870 | 0.3110 | 0.3543 | model_form_blend |
| predicted_SLG | 0.3910 | 0.3422 | 0.3700 | model_form_blend |
| predicted_SO | 0.7140 | 0.8610 | 0.7772 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 410 |
| Season rows before report date | 410 |
| Report year | 2026 |
| Profile rows used | 119 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20261007_MIL@SD |
| game_type | full |
| mlbID | 687401 |
| playerID | 687401 |
| playerName | Joey Ortiz |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-07 |
| sl_k_percent | 19.8 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.321 |
| sl_xwoba | 0.297 |
| sl_xba | 0.243 |
| sl_xslg | 0.346 |
| sl_sweet_spot_percent | 29.2 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 37.6 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 6.4 |
| sl_whiff_percent | 19.9 |
| sl_swing_percent | 44.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.452 | 1.000 | 0.548 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.194 | 2.000 | -0.194 | -1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 3.226 | 4.000 | -0.226 | -1.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.726 | 4.000 | -0.626 | 1.100 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 8.323 | 6.000 | -2.323 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 6 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 3 |
| Better Metrics | 3 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, worse) |
| Biggest Deboost | predicted_ER: 2.0000 -> 1.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, 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 | 3 | 1 | 2 | 3 | 0 | predicted_SO: 4.0000 -> 7.0000 (boost 3.0000, better) | predicted_ER: 2.0000 -> 1.0000 (deboost -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 | 4 | 2 | 2 | 0 | 4 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, worse) | predicted_SO: 7.0000 -> 6.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": "694819",
"player_name": "Jacob Misiorowski",
"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": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"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": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"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": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "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": 2.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_R": 1.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 5.1,
"delta": -0.9,
"percent_delta": -0.15,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"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": 2.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 5.1,
"delta": -0.9,
"percent_delta": -0.15,
"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": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 6.000 | - |
| 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 | 1.000 | -1.000 |
| predicted_H | 2.000 | 0.000 |
| predicted_HR | 0.000 | -1.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 7.000 | 3.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 | 2.000 | - |
| BF | 21.000 | - |
| ER | 1.000 | - |
| H | 3.000 | - |
| HR | 0.000 | - |
| IP | 5.100 | - |
| Pitches | 80.000 | - |
| R | 1.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 | 23.200 | 3.000 | 16.000 | 6.000 | 31.000 | 0.000 | 1.1408 | 0.9296 | 0.1268 | 0.6761 | 0.2535 | 1.3099 | 0.0000 |
| last_10 | 0.35 | 10 | 51.200 | 14.000 | 36.000 | 16.000 | 63.000 | 3.000 | 2.4387 | 1.0065 | 0.2710 | 0.6968 | 0.3097 | 1.2193 | 0.0581 |
| season | 0.20 | 31 | 178.200 | 37.000 | 100.000 | 45.000 | 258.000 | 14.000 | 1.8638 | 0.8116 | 0.2071 | 0.5597 | 0.2519 | 1.4440 | 0.0784 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5050 |
| predicted_ER | 1.2430 |
| predicted_ERA | 2.1407 |
| predicted_H | 3.6850 |
| predicted_HR | 0.2690 |
| predicted_IP | 5.1000 |
| predicted_SO | 6.5490 |
| predicted_WHIP | 0.9932 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.5050 | 0.8899 | model_form_blend |
| predicted_ER | 2.0000 | 1.2430 | 1.5524 | model_form_blend |
| predicted_ERA | - | 2.1407 | 2.1407 | form_only |
| predicted_H | 2.0000 | 3.6850 | 2.9964 | model_form_blend |
| predicted_HR | 1.0000 | 0.2690 | 0.5677 | model_form_blend |
| predicted_IP | 6.0000 | 5.1000 | 5.2000 | model_form_blend |
| predicted_SO | 4.0000 | 6.5490 | 5.5073 | model_form_blend |
| predicted_WHIP | - | 0.9932 | 0.9932 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.1 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 2 |
| SO | 6 |
| HR | 0 |
| BF | 21 |
| Pitches | 80 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 18 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.50 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 5 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 88 |
| Pitching_R | 2 |
| Pitching_SO | 6 |
| Pitching_Strikes | 64 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20261003_SD@MIL |
| game_type | full |
| mlbID | 694819 |
| playerID | 694819 |
| playerName | Jacob Misiorowski |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-03 |
| sl_k_percent | 37.9 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.216 |
| sl_xwoba | 0.226 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 33.3 |
| sl_whiff_percent | 37.3 |
| sl_swing_percent | 51.3 |
| sl_avg_best_speed | 76.498458531 |
| sl_avg_hyper_speed | 92.952685282 |
| 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 | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.462 | 1.000 | 0.538 | 0.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 | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.154 | 2.000 | 0.846 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 6 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 2 |
| Better Metrics | 2 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 6 | 4 | 2 | 2 | 4 | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 5.000 | - |
| ER | 1.000 | - |
| H | 1.000 | - |
| HR | 1.000 | - |
| IP | 1.100 | - |
| Pitches | 24.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 | 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.0962 |
| predicted_H | 0.9280 |
| predicted_HR | 0.1880 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.4010 |
| predicted_WHIP | 0.9812 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3340 | 0.6492 | model_form_blend |
| predicted_ER | 0.0000 | 0.4420 | 0.2328 | model_form_blend |
| predicted_ERA | - | 3.0962 | 3.0962 | form_only |
| predicted_H | 0.0000 | 0.9280 | 0.4888 | 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.9812 | 0.9812 | 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 | 1 |
| ER | 1 |
| BB | 0 |
| SO | 2 |
| HR | 1 |
| BF | 5 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 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 | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.400 | 0.000 | 0.600 | 1.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 | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.600 | 1.000 | -0.600 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | pitcher_quality_run_redistribution | 2 | 2 | 0 | 0 | 2 | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) | - | Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent. |
| 8 | play_by_play_realization | 4 | 0 | 4 | 3 | 1 | - | predicted_ER: 1.0000 -> 0.0000 (deboost -1.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 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": "622608",
"player_name": "Antonio Senzatela",
"position": "Middle 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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"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": "pitcher_quality_run_redistribution",
"description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"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": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 9,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 1.000 | 1.000 |
| predicted_IP | 1.000 | 0.000 |
| predicted_SO | 1.000 | 0.000 |
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 1.000 | - |
| BF | 4.000 | - |
| ER | 0.000 | - |
| H | 0.000 | - |
| HR | 0.000 | - |
| IP | 1.000 | - |
| Pitches | 14.000 | - |
| R | 0.000 | - |
| SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 0.000 | 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.2987 |
| predicted_H | 0.9560 |
| predicted_HR | 0.0770 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7470 |
| predicted_WHIP | 1.3614 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3540 | 0.6466 | model_form_blend |
| predicted_ER | 0.0000 | 0.2460 | 0.1346 | model_form_blend |
| predicted_ERA | - | 2.2987 | 2.2987 | form_only |
| predicted_H | 1.0000 | 0.9560 | 0.9759 | 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 | 1.0000 | 0.7470 | 0.8616 | model_form_blend |
| predicted_WHIP | - | 1.3614 | 1.3614 | 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 | 1 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 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 | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.551 | 2.000 | 0.449 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.397 | 0.000 | -0.397 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 0.000 | -1.000 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.119 | 3.000 | -0.019 | -1.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.551 | 3.000 | -0.551 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 4 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 2 |
| Better Metrics | 2 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_H: 2.0000 -> 0.0000 (deboost -2.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 4 | 2 | 2 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_H: 2.0000 -> 0.0000 (deboost -2.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "676879",
"player_name": "Aaron Ashby",
"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": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.65,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.65,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| 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 | 1.000 | - |
| BF | 5.000 | - |
| ER | 0.000 | - |
| H | 0.000 | - |
| HR | 0.000 | - |
| IP | 1.100 | - |
| Pitches | 24.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 | 9.200 | 0.000 | 2.000 | 2.000 | 9.000 | 0.000 | 0.0000 | 0.4138 | 0.0000 | 0.2069 | 0.2069 | 0.9310 | 0.0000 |
| last_10 | 0.35 | 10 | 15.000 | 2.000 | 7.000 | 4.000 | 12.000 | 1.000 | 1.2000 | 0.7333 | 0.1333 | 0.4667 | 0.2667 | 0.8000 | 0.0667 |
| season | 0.20 | 78 | 95.000 | 31.000 | 78.000 | 43.000 | 121.000 | 8.000 | 2.9368 | 1.2737 | 0.3263 | 0.8210 | 0.4526 | 1.2737 | 0.0842 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4290 |
| predicted_ER | 0.2780 |
| predicted_ERA | 1.7418 |
| predicted_H | 0.7690 |
| predicted_HR | 0.0890 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.3650 |
| predicted_WHIP | 0.8334 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4290 | 0.2421 | model_form_blend |
| predicted_ER | 0.0000 | 0.2780 | 0.1569 | model_form_blend |
| predicted_ERA | - | 1.7418 | 1.7418 | form_only |
| predicted_H | 2.0000 | 0.7690 | 1.3054 | model_form_blend |
| predicted_HR | 0.0000 | 0.0890 | 0.0502 | model_form_blend |
| predicted_IP | 0.2000 | 1.1000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.3650 | 1.6417 | model_form_blend |
| predicted_WHIP | - | 0.8334 | 0.8334 | 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 | 78 |
| Season rows before report date | 78 |
| Report year | 2026 |
| Profile rows used | 78 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 10 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 5 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.0 |
| Pitching_Pitches | 38 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 22 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20261007_MIL@SD |
| game_type | full |
| mlbID | 676879 |
| playerID | 676879 |
| playerName | Aaron Ashby |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-10-07 |
| sl_k_percent | 30.3 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.287 |
| sl_xwoba | 0.268 |
| sl_sweet_spot_percent | 28.1 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 40.2 |
| sl_whiff_percent | 32.1 |
| sl_swing_percent | 40.5 |
| sl_avg_best_speed | 76.20475045 |
| sl_avg_hyper_speed | 94.447155135 |