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 | CHW 5 - 6 CLE | CLE | 0.527 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | CHW 5 - 6 CLE | CLE | - | organic_simulation_realized_target | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.
| Priority | Change | Runtime status | Evidence |
|---|---|---|---|
| P1 | Empirical confidence blend | applied | raw=0.5101; empirical=0.5683; weight=0.4500; final=0.5363 |
| P1 | H2H margin as base feature | available | home net=-5; abs=5; home delta=-0.0288; away delta=0.0288 |
| P2 | Wider score distribution | implemented_above_requested_1.4x | variance multiplier=2.2500; floor=2.7500 |
| P2 | Simulation flip control | diagnostic_only_unless_independently_supported | candidate=False; trusted=False; published flip=False |
| P3 | Season edge + recent form | implemented | window=10; season edge=-0.2685; recent edge=0.0400; blended=- |
| P3 | Continuous calibration audit | trace emitted | Checked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports. |
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 9.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5268 |
| 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.082 | 4.860 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 5 | 6 | 0.5268 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| 4 | kpi_layer | 5 | 6 | - | Savant KPI blend computed and withheld; baseline kept |
| 5 | embedded_savant_run_environment | 5 | 6 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 6 | fundamental_edge_target_review | 5 | 6 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 7 | capped_target | 5 | 6 | - | Capped at max 12 realistic runs |
| 8 | simulation_result | 5 | 6 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4672664576802508,
"base_low_score_probability": 0.4278996865203762,
"low_score_signal_threshold": 0.5078996865203762,
"low_score_signal_strength": 0.039366771159874636,
"confidence": 0.646,
"factors": {
"environmental": 1.05,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.092
},
"prediction": "normal_scoring",
"expected_total_runs": 11,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 11,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 739,
"near_bucket_sample_size": 739,
"medium_bucket_sample_size": 1001,
"wide_bucket_sample_size": 1115,
"global_sample_size": 1140,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5683,
"bayesian_hit_rate": 0.5667,
"prior_strength": 18.0,
"raw_pick_probability": 0.5627,
"raw_pick_probability_unclamped": 0.5627,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.5073,
"margin_implied_pick_probability": 0.5073,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5377,
"score_implied_floor_pick_probability": 0.5072,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.562662,
"uncapped_away_win_probability": 0.437338,
"calibrated_pick_probability": 0.5372,
"predicted_side": "home",
"reliability": 0.976222,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.984544
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.5101,
"sample_size": 739,
"empirical_hit_rate": 0.5683,
"empirical_weight": 0.45,
"empirical_max_weight": 0.45,
"empirical_sample_scale": 200.0,
"blended_confidence": 0.53629,
"published_confidence": 0.526845,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": -5.0,
"absolute_net_margin": 5.0,
"home_average_margin": -1.0,
"home_run_delta": -0.0288,
"away_run_delta": 0.0288,
"evidence": [
{
"game_id": null,
"home_margin": 3.0
},
{
"game_id": null,
"home_margin": 1.0
},
{
"game_id": null,
"home_margin": -4.0
},
{
"game_id": null,
"home_margin": -2.0
},
{
"game_id": null,
"home_margin": -3.0
}
],
"adaptive_parameters": {
"h2h.history_limit": 5,
"h2h.maximum_weight": 0.15,
"h2h.prior_games": 8.0,
"h2h.maximum_total_shift": 0.65
}
}{
"applied": false,
"home": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5246913580246914,
"runs_scored": 678,
"runs_allowed": 667,
"run_differential": 11,
"run_differential_per_game": 0.06790123456790123,
"available": true
},
"away": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185185185185185,
"runs_scored": 776,
"runs_allowed": 720,
"run_differential": 56,
"run_differential_per_game": 0.345679012345679,
"available": true
},
"run_differential_edge_per_game": -0.2778,
"win_pct_edge": 0.0062,
"quality_edge": -0.1605,
"season_quality_edge": -0.2685,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": -0.2685,
"recent_quality_edge": 0.04,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": -0.1605
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 5,
"away_runs": 5,
"probability": 0.016105061651613514
},
{
"home_runs": 5,
"away_runs": 4,
"probability": 0.015604888784574392
},
{
"home_runs": 4,
"away_runs": 5,
"probability": 0.015475104170797418
},
{
"home_runs": 6,
"away_runs": 5,
"probability": 0.015319647301526141
},
{
"home_runs": 5,
"away_runs": 6,
"probability": 0.015164065395994575
}
],
"home_distribution": {
"0": 0.042088349881007514,
"1": 0.06275675094894718,
"2": 0.0855296249829942,
"3": 0.10654430703624167,
"4": 0.12131136654563023,
"5": 0.12624968566904232,
"6": 0.12009271980554614,
"7": 0.10441445365599299,
"8": 0.08297783986028358,
"9": 0.06027277591819486,
"10": 0.04001638265884713,
"11": 0.024283541571535158,
"12": 0.013469261618018659,
"13": 0.006828622676162745,
"14": 0.003164317171555586
},
"away_distribution": {
"0": 0.04352501688314665,
"1": 0.06483872848411987,
"2": 0.08812143769079438,
"3": 0.10926478149299158,
"4": 0.12360338722333046,
"5": 0.12756516237063895,
"6": 0.12011170812532926,
"7": 0.10317872177202496,
"8": 0.08086237384618969,
"9": 0.057816842870782106,
"10": 0.037714973125808106,
"11": 0.022445266965423996,
"12": 0.012186732856621793,
"13": 0.006036724414603299,
"14": 0.002728141878195012
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 2.25,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.56,
"winner_flipped": false,
"reasons": [
"local prediction memory shows 3 straight prior same-side picks",
"a prior same-side pick already missed against the actual result"
],
"signals": {
"predicted_team": "CLE",
"opponent_team": "CHW",
"h2h_net_margin": 0,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-09-16",
"predicted_team_runs": 6,
"opponent_runs": 3,
"margin_for_predicted_team": 3,
"winner": "CLE"
},
{
"date": "2026-09-15",
"predicted_team_runs": 7,
"opponent_runs": 6,
"margin_for_predicted_team": 1,
"winner": "CLE"
},
{
"date": "2026-09-14",
"predicted_team_runs": 3,
"opponent_runs": 7,
"margin_for_predicted_team": -4,
"winner": "CHW"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 15,
"consecutive_same_pick_count": 3,
"same_pick_actual_loss_count": 2,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20261008",
"away": "CLE",
"home": "CHW",
"game_number": 1,
"predicted_team": "CLE",
"actual_winner": "CLE",
"actual_margin": 4,
"raw_pick_probability": 0.505,
"artifact": "20261008_CLE@CHW.json",
"verification": "pregame_official_final"
},
{
"date": "20261007",
"away": "CLE",
"home": "CHW",
"game_number": 1,
"predicted_team": "CLE",
"actual_winner": "CLE",
"actual_margin": 6,
"raw_pick_probability": 0.535129,
"artifact": "20261007_CLE@CHW.json",
"verification": "pregame_official_final"
},
{
"date": "20261005",
"away": "CHW",
"home": "CLE",
"game_number": 1,
"predicted_team": "CLE",
"actual_winner": "CHW",
"actual_margin": 1,
"raw_pick_probability": 0.5185,
"artifact": "20261005_CHW@CLE.json",
"verification": "pregame_official_final"
},
{
"date": "20261003",
"away": "CHW",
"home": "CLE",
"game_number": 1,
"predicted_team": "CHW",
"actual_winner": "CHW",
"actual_margin": 3,
"raw_pick_probability": 0.5229980000000001,
"artifact": "20261003_CHW@CLE.json",
"verification": "pregame_official_final"
},
{
"date": "20260916",
"away": "CHW",
"home": "CLE",
"game_number": 1,
"predicted_team": "CLE",
"actual_winner": "CLE",
"actual_margin": 3,
"raw_pick_probability": 0.556513,
"artifact": "20260916_CHW@CLE.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "CLE",
"guardrail_opponent_team": "CHW",
"output_pre_simulation_winner": "CLE",
"output_opponent_team": "CHW",
"simulation_score_winner": "CLE",
"final_score_winner": "CLE",
"pre_simulation_winner": "CLE",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": false,
"flip_authority": "caps_confidence_and_shifts_runs_only"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"hard_flip_suppressed": false,
"policy": "recency_uncertainty_shrinkage_v2",
"reasons": [],
"signals": {
"home": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5246913580246914,
"runs_scored": 678,
"runs_allowed": 667,
"run_differential": 11,
"run_differential_per_game": 0.06790123456790123,
"available": true
},
"away": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185185185185185,
"runs_scored": 776,
"runs_allowed": 720,
"run_differential": 56,
"run_differential_per_game": 0.345679012345679,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.1,
"final_margin": 0.1,
"margin_cap": 1.5,
"season_quality_edge": 0.1605,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.53629,
"final_confidence": 0.5372,
"calibrated_pick_probability": 0.5372,
"shrinkage_weight": 0.984544,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.1,
"calibration_sample_size": 739,
"calibration_empirical_hit_rate": 0.5683,
"calibration_bayesian_hit_rate": 0.5667,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.1605,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 5,
"home_runs": 6
},
"margin": 1,
"probability_before": 0.537156,
"margin_implied_home_probability": 0.572388,
"shrinkage_weight": 0.984544,
"side_flipped": false,
"applied": false,
"magnitude_pull_suppressed": true,
"probability_after": 0.537156,
"aligned_pick_probability": 0.537156
},
"starter_experience": {
"applied": false,
"min_starter_games": 34,
"shrink_factor": 1.0
}
}{
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 6,
"score_text": "CHW 5 - 6 CLE",
"winner": "CLE"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 6,
"score_text": "CHW 5 - 6 CLE",
"winner": "CLE"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.0225,
"recent_form_edge_home_minus_away": -0.03,
"winner_direction": "home",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 5,
"home_runs": 6,
"winner": "CLE",
"model_winner": "CLE",
"simulation_winner": "CLE",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 5,
"published_winner": "CLE",
"published_winner_draw_share": 0.2,
"draw_majority_team": "CHW",
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 5,
"home_runs": 6
},
"simulation_score": {
"away_runs": 5,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.1605,
"winner": "CLE",
"score_reviewed": {
"away_runs": 5,
"home_runs": 6,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 5,
"home_runs": 6,
"confidence": 0.52684521,
"home_win_probability": 0.52684521,
"away_win_probability": 0.47315479000000005,
"predicted_score_text": "CHW 5 - 6 CLE",
"uncapped_home_win_probability": 0.537156,
"uncapped_away_win_probability": 0.462844,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.537156,
"discount_factor": 0.7225,
"published_confidence": 0.526845,
"guardrail_confidence_cap": 0.56,
"guardrail_cap_enforced": false,
"guardrail_soft_ceiling_applied": false,
"confidence_before_ceiling": 0.526845,
"applied_discounts": [
{
"reason": "projected_margin_is_one_run",
"factor": 0.85
},
{
"reason": "matchup_recency_guardrail",
"factor": 0.85
}
]
},
"score_probability_reconciliation": {
"policy": "published_probability_follows_published_score_v1",
"incoming_home_win_probability": 0.566467,
"incoming_favoured_side": "home",
"score_winner_side": "home",
"published_home_win_probability": 0.526845,
"probability_side_reverted_by_score": false,
"note": "The probability and the projected score agree on the winner."
},
"confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
"pre_simulation_target": {
"away_runs": 5,
"home_runs": 6,
"predicted_score_text": "CHW 5 - 6 CLE",
"confidence": 0.52684521,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_simulation_realized_target",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 6,
"score_text": "CHW 5 - 6 CLE",
"winner": "CLE"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 6,
"score_text": "CHW 5 - 6 CLE",
"winner": "CLE"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.0225,
"recent_form_edge_home_minus_away": -0.03,
"winner_direction": "home",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 5,
"home_runs": 6,
"winner": "CLE",
"model_winner": "CLE",
"simulation_winner": "CLE",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 5,
"published_winner": "CLE",
"published_winner_draw_share": 0.2,
"draw_majority_team": "CHW",
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 5,
"home_runs": 6
},
"simulation_score": {
"away_runs": 5,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.1605,
"winner": "CLE",
"score_reviewed": {
"away_runs": 5,
"home_runs": 6,
"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 CHW | True | 1.0223 | 1.0223 | 1 | 9 | 0 |
| Home CLE | True | 1.0221 | 1.0221 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Sam Antonacci | - | 1.0446 | 0.5947 | neutral | 0.3480 | 0.2840 | 0.3990 | 5 | 33.60 | 87.50 | 9.90 | 14.70 | 14.70 | 7.70 | 0.0857 |
| C | Kyle Teel | - | 1.0131 | 0.1752 | neutral | 0.3210 | 0.2110 | 0.3750 | 11.40 | 47.10 | 85.70 | 13.60 | 35.60 | 35.40 | 13.20 | 0.1143 |
| 3B | Miguel Vargas | - | 1.1095 | 1.4598 | neutral | 0.3780 | 0.2630 | 0.4960 | 13 | 43.80 | 90.10 | 20.50 | 21 | 17.90 | 14.30 | 0.4286 |
| 1B | Munetaka Murakami | - | 1.0835 | 1.1131 | neutral | 0.3510 | 0.2040 | 0.4690 | 20.50 | 56.80 | 93.90 | 16.10 | 42.30 | 35.40 | 16.60 | -0.1429 |
| DH | Andrew Benintendi | - | 1.0232 | 0.3097 | neutral | 0.3070 | 0.2400 | 0.3980 | 8.60 | 45.10 | 89.30 | 17.30 | 28.30 | 23.90 | 8.30 | -0.1143 |
| RF | Tristan Peters | - | 1.0019 | 0.0255 | neutral | 0.3140 | 0.2480 | 0.3840 | 5.40 | 34.10 | 87.50 | 18 | 23 | 18.30 | 7.50 | -0.7429 |
| 2B | Chase Meidroth | - | 0.9823 | -0.2365 | negative_batter_regression | 0.3010 | 0.2390 | 0.3480 | 4.60 | 34.60 | 87.20 | 8.50 | 19.70 | 21.90 | 9.50 | -1.0857 |
| SS | Colson Montgomery | - | 1.0009 | 0.0126 | neutral | 0.2940 | 0.1990 | 0.3880 | 12 | 40.90 | 88.60 | 23.60 | 37.40 | 35.60 | 8.50 | -0.1714 |
| CF | Brenton Doyle | - | 0.9413 | -0.7821 | negative_batter_regression | 0.2450 | 0.2030 | 0.3070 | 6.70 | 35.50 | 89.10 | 8.60 | 32.50 | 32.70 | 5.40 | -1 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Steven Kwan | - | 1.0007 | 0.0095 | neutral | 0.3280 | 0.2770 | 0.3430 | 0.40 | 10.50 | 83.90 | 12.80 | 8.20 | 9.70 | 13.30 | -0.1714 |
| 3B | José Ramírez | - | 1.0359 | 0.4788 | neutral | 0.3250 | 0.2660 | 0.3910 | 4.10 | 38.80 | 88.60 | 19 | 15.30 | 12.70 | 11 | 0.6857 |
| RF | Chase DeLauter | - | 1.0602 | 0.8032 | neutral | 0.3460 | 0.2770 | 0.4270 | 6.30 | 46.30 | 91.40 | 11.80 | 15 | 14.70 | 10.70 | -0.3714 |
| DH | Jo Adell | - | 1.0538 | 0.7179 | neutral | 0.3290 | 0.2570 | 0.4440 | 8.90 | 44.90 | 90.40 | 16.20 | 28.20 | 23.80 | 5.20 | 0.6286 |
| 1B | Nathaniel Lowe | - | 1.0555 | 0.7399 | neutral | 0.3350 | 0.2680 | 0.4370 | 8.40 | 41.40 | 89.60 | 14.60 | 22 | 23.10 | 8.90 | 0.1714 |
| 2B | Travis Bazzana | - | 0.9817 | -0.2433 | neutral | 0.2990 | 0.2240 | 0.3470 | 5.20 | 36.20 | 87.60 | 15.70 | 23.20 | 20.70 | 10.80 | -0.8286 |
| C | Patrick Bailey | - | 1.0330 | 0.4406 | positive_batter_regression | 0.3070 | 0.2400 | 0.3980 | 7.70 | 42.40 | 90.50 | 13.40 | 26.80 | 26.70 | 8.10 | 1.0286 |
| CF | Petey Halpin | - | 0.9990 | -0.0139 | positive_batter_regression | 0.2950 | 0.2520 | 0.3770 | 5.40 | 25.50 | 85.50 | 20.80 | 25.10 | 17.90 | 4.60 | 0.8857 |
| SS | Brayan Rocchio | - | 0.9791 | -0.2783 | neutral | 0.2940 | 0.2460 | 0.3500 | 2.90 | 30 | 87 | 13.80 | 22.10 | 14.40 | 6.40 | -0.4857 |
{
"home": {
"applied": true,
"offense_factor": 1.0221,
"raw_average_factor": 1.0221,
"team_espn_average_rank": null,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "680757",
"player_name": "Steven Kwan",
"offense_factor": 1.0007,
"quality_score": 0.0095,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "680757",
"espn_rank": null
},
"metrics": {
"pa": 580.0,
"k_percent": 9.7,
"bb_percent": 13.3,
"woba": 0.334,
"xwoba": 0.328,
"xba": 0.277,
"xslg": 0.343,
"sweet_spot_percent": 40.6,
"barrel_batted_rate": 0.4,
"hard_hit_percent": 10.5,
"exit_velocity_avg": 83.9,
"launch_angle_avg": 12.8,
"whiff_percent": 8.2,
"swing_percent": 35.7
},
"components": {
"expected_quality": 0.039,
"regression_edge": -0.1714,
"xwoba_edge": 0.8286,
"xba_edge": 1.1714,
"xslg_edge": -0.2857,
"barrel_edge": -1.3778,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.8,
"sweet_spot_edge": 1.2167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "608070",
"player_name": "José Ramírez",
"offense_factor": 1.0359,
"quality_score": 0.4788,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "608070",
"espn_rank": null
},
"metrics": {
"pa": 486.0,
"k_percent": 12.7,
"bb_percent": 11.0,
"woba": 0.301,
"xwoba": 0.325,
"xba": 0.266,
"xslg": 0.391,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 19.0,
"whiff_percent": 15.3,
"swing_percent": 45.4
},
"components": {
"expected_quality": 0.4451,
"regression_edge": 0.6857,
"xwoba_edge": 0.7429,
"xba_edge": 0.8571,
"xslg_edge": 0.4,
"barrel_edge": -0.5556,
"hard_hit_edge": 0.1714,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "800050",
"player_name": "Chase DeLauter",
"offense_factor": 1.0602,
"quality_score": 0.8032,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "800050",
"espn_rank": null
},
"metrics": {
"pa": 511.0,
"k_percent": 14.7,
"bb_percent": 10.7,
"woba": 0.359,
"xwoba": 0.346,
"xba": 0.277,
"xslg": 0.427,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 11.8,
"whiff_percent": 15.0,
"swing_percent": 42.3
},
"components": {
"expected_quality": 0.9944,
"regression_edge": -0.3714,
"xwoba_edge": 1.3429,
"xba_edge": 1.1714,
"xslg_edge": 0.9143,
"barrel_edge": -0.0667,
"hard_hit_edge": 1.2429,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": 0.3,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "666176",
"player_name": "Jo Adell",
"offense_factor": 1.0538,
"quality_score": 0.7179,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "666176",
"espn_rank": null
},
"metrics": {
"pa": 605.0,
"k_percent": 23.8,
"bb_percent": 5.2,
"woba": 0.307,
"xwoba": 0.329,
"xba": 0.257,
"xslg": 0.444,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 44.9,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 16.2,
"whiff_percent": 28.2,
"swing_percent": 53.2
},
"components": {
"expected_quality": 0.7325,
"regression_edge": 0.6286,
"xwoba_edge": 0.8571,
"xba_edge": 0.6,
"xslg_edge": 1.1571,
"barrel_edge": 0.5111,
"hard_hit_edge": 1.0429,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -0.1833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"offense_factor": 1.0555,
"quality_score": 0.7399,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "663993",
"espn_rank": null
},
"metrics": {
"pa": 391.0,
"k_percent": 23.1,
"bb_percent": 8.9,
"woba": 0.329,
"xwoba": 0.335,
"xba": 0.268,
"xslg": 0.437,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 41.4,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 14.6,
"whiff_percent": 22.0,
"swing_percent": 46.1
},
"components": {
"expected_quality": 0.8325,
"regression_edge": 0.1714,
"xwoba_edge": 1.0286,
"xba_edge": 0.9143,
"xslg_edge": 1.0571,
"barrel_edge": 0.4,
"hard_hit_edge": 0.5429,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 1.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "683953",
"player_name": "Travis Bazzana",
"offense_factor": 0.9817,
"quality_score": -0.2433,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "683953",
"espn_rank": null
},
"metrics": {
"pa": 473.0,
"k_percent": 20.7,
"bb_percent": 10.8,
"woba": 0.328,
"xwoba": 0.299,
"xba": 0.224,
"xslg": 0.347,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 36.2,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 15.7,
"whiff_percent": 23.2,
"swing_percent": 45.9
},
"components": {
"expected_quality": -0.1481,
"regression_edge": -0.8286,
"xwoba_edge": 0.0,
"xba_edge": -0.3429,
"xslg_edge": -0.2286,
"barrel_edge": -0.3111,
"hard_hit_edge": -0.2,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "672275",
"player_name": "Patrick Bailey",
"offense_factor": 1.033,
"quality_score": 0.4406,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": false,
"player_id": "672275",
"espn_rank": null
},
"metrics": {
"pa": 306.0,
"k_percent": 26.7,
"bb_percent": 8.1,
"woba": 0.271,
"xwoba": 0.307,
"xba": 0.24,
"xslg": 0.398,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 42.4,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 13.4,
"whiff_percent": 26.8,
"swing_percent": 49.6
},
"components": {
"expected_quality": 0.3449,
"regression_edge": 1.0286,
"xwoba_edge": 0.2286,
"xba_edge": 0.1143,
"xslg_edge": 0.5,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.6857,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "690984",
"player_name": "Petey Halpin",
"offense_factor": 0.999,
"quality_score": -0.0139,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": false,
"player_id": "690984",
"espn_rank": null
},
"metrics": {
"pa": 171.0,
"k_percent": 17.9,
"bb_percent": 4.6,
"woba": 0.264,
"xwoba": 0.295,
"xba": 0.252,
"xslg": 0.377,
"sweet_spot_percent": 38.3,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 25.5,
"exit_velocity_avg": 85.5,
"launch_angle_avg": 20.8,
"whiff_percent": 25.1,
"swing_percent": 59.0
},
"components": {
"expected_quality": -0.165,
"regression_edge": 0.8857,
"xwoba_edge": -0.1143,
"xba_edge": 0.4571,
"xslg_edge": 0.2,
"barrel_edge": -0.2667,
"hard_hit_edge": -1.7286,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": 0.8333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "677587",
"player_name": "Brayan Rocchio",
"offense_factor": 0.9791,
"quality_score": -0.2783,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "677587",
"espn_rank": null
},
"metrics": {
"pa": 548.0,
"k_percent": 14.4,
"bb_percent": 6.4,
"woba": 0.311,
"xwoba": 0.294,
"xba": 0.246,
"xslg": 0.35,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 30.0,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 13.8,
"whiff_percent": 22.1,
"swing_percent": 50.0
},
"components": {
"expected_quality": -0.2445,
"regression_edge": -0.4857,
"xwoba_edge": -0.1429,
"xba_edge": 0.2857,
"xslg_edge": -0.1857,
"barrel_edge": -0.8222,
"hard_hit_edge": -1.0857,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 0.2667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0223,
"raw_average_factor": 1.0223,
"team_espn_average_rank": null,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "803011",
"player_name": "Sam Antonacci",
"offense_factor": 1.0446,
"quality_score": 0.5947,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "803011",
"espn_rank": null
},
"metrics": {
"pa": 511.0,
"k_percent": 14.7,
"bb_percent": 7.7,
"woba": 0.345,
"xwoba": 0.348,
"xba": 0.284,
"xslg": 0.399,
"sweet_spot_percent": 38.0,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 33.6,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 9.9,
"whiff_percent": 14.7,
"swing_percent": 42.5
},
"components": {
"expected_quality": 0.6776,
"regression_edge": 0.0857,
"xwoba_edge": 1.4,
"xba_edge": 1.3714,
"xslg_edge": 0.5143,
"barrel_edge": -0.3556,
"hard_hit_edge": -0.5714,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 0.7833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "691019",
"player_name": "Kyle Teel",
"offense_factor": 1.0131,
"quality_score": 0.1752,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "691019",
"espn_rank": null
},
"metrics": {
"pa": 106.0,
"k_percent": 35.4,
"bb_percent": 13.2,
"woba": 0.317,
"xwoba": 0.321,
"xba": 0.211,
"xslg": 0.375,
"sweet_spot_percent": 41.4,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 47.1,
"exit_velocity_avg": 85.7,
"launch_angle_avg": 13.6,
"whiff_percent": 35.6,
"swing_percent": 45.4
},
"components": {
"expected_quality": 0.4042,
"regression_edge": 0.1143,
"xwoba_edge": 0.6286,
"xba_edge": -0.7143,
"xslg_edge": 0.1714,
"barrel_edge": 1.0667,
"hard_hit_edge": 1.3571,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": 1.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "678246",
"player_name": "Miguel Vargas",
"offense_factor": 1.1095,
"quality_score": 1.4598,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "678246",
"espn_rank": null
},
"metrics": {
"pa": 651.0,
"k_percent": 17.9,
"bb_percent": 14.3,
"woba": 0.363,
"xwoba": 0.378,
"xba": 0.263,
"xslg": 0.496,
"sweet_spot_percent": 39.4,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 43.8,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 20.5,
"whiff_percent": 21.0,
"swing_percent": 43.9
},
"components": {
"expected_quality": 1.6277,
"regression_edge": 0.4286,
"xwoba_edge": 2.2571,
"xba_edge": 0.7714,
"xslg_edge": 1.9,
"barrel_edge": 1.4222,
"hard_hit_edge": 0.8857,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 1.0167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "808959",
"player_name": "Munetaka Murakami",
"offense_factor": 1.0835,
"quality_score": 1.1131,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "808959",
"espn_rank": null
},
"metrics": {
"pa": 491.0,
"k_percent": 35.4,
"bb_percent": 16.6,
"woba": 0.356,
"xwoba": 0.351,
"xba": 0.204,
"xslg": 0.469,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 20.5,
"hard_hit_percent": 56.8,
"exit_velocity_avg": 93.9,
"launch_angle_avg": 16.1,
"whiff_percent": 42.3,
"swing_percent": 40.7
},
"components": {
"expected_quality": 1.3175,
"regression_edge": -0.1429,
"xwoba_edge": 1.4857,
"xba_edge": -0.9143,
"xslg_edge": 1.5143,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.2,
"sweet_spot_edge": -0.4667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "643217",
"player_name": "Andrew Benintendi",
"offense_factor": 1.0232,
"quality_score": 0.3097,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "643217",
"espn_rank": null
},
"metrics": {
"pa": 435.0,
"k_percent": 23.9,
"bb_percent": 8.3,
"woba": 0.311,
"xwoba": 0.307,
"xba": 0.24,
"xslg": 0.398,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 45.1,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 17.3,
"whiff_percent": 28.3,
"swing_percent": 51.8
},
"components": {
"expected_quality": 0.3787,
"regression_edge": -0.1143,
"xwoba_edge": 0.2286,
"xba_edge": 0.1143,
"xslg_edge": 0.5,
"barrel_edge": 0.4444,
"hard_hit_edge": 1.0714,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "671976",
"player_name": "Tristan Peters",
"offense_factor": 1.0019,
"quality_score": 0.0255,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "671976",
"espn_rank": null
},
"metrics": {
"pa": 452.0,
"k_percent": 18.3,
"bb_percent": 7.5,
"woba": 0.34,
"xwoba": 0.314,
"xba": 0.248,
"xslg": 0.384,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 34.1,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 18.0,
"whiff_percent": 23.0,
"swing_percent": 53.6
},
"components": {
"expected_quality": 0.1505,
"regression_edge": -0.7429,
"xwoba_edge": 0.4286,
"xba_edge": 0.3429,
"xslg_edge": 0.3,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.5,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "805367",
"player_name": "Chase Meidroth",
"offense_factor": 0.9823,
"quality_score": -0.2365,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "805367",
"espn_rank": null
},
"metrics": {
"pa": 597.0,
"k_percent": 21.9,
"bb_percent": 9.5,
"woba": 0.339,
"xwoba": 0.301,
"xba": 0.239,
"xslg": 0.348,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 34.6,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 8.5,
"whiff_percent": 19.7,
"swing_percent": 42.0
},
"components": {
"expected_quality": -0.0983,
"regression_edge": -1.0857,
"xwoba_edge": 0.0571,
"xba_edge": 0.0857,
"xslg_edge": -0.2143,
"barrel_edge": -0.4444,
"hard_hit_edge": -0.4286,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "695657",
"player_name": "Colson Montgomery",
"offense_factor": 1.0009,
"quality_score": 0.0126,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "695657",
"espn_rank": null
},
"metrics": {
"pa": 588.0,
"k_percent": 35.6,
"bb_percent": 8.5,
"woba": 0.3,
"xwoba": 0.294,
"xba": 0.199,
"xslg": 0.388,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 23.6,
"whiff_percent": 37.4,
"swing_percent": 51.5
},
"components": {
"expected_quality": 0.0426,
"regression_edge": -0.1714,
"xwoba_edge": -0.1429,
"xba_edge": -1.0571,
"xslg_edge": 0.3571,
"barrel_edge": 1.2,
"hard_hit_edge": 0.4714,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "686668",
"player_name": "Brenton Doyle",
"offense_factor": 0.9413,
"quality_score": -0.7821,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "686668",
"espn_rank": null
},
"metrics": {
"pa": 192.0,
"k_percent": 32.7,
"bb_percent": 5.4,
"woba": 0.28,
"xwoba": 0.245,
"xba": 0.203,
"xslg": 0.307,
"sweet_spot_percent": 26.8,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 35.5,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 8.6,
"whiff_percent": 32.5,
"swing_percent": 54.5
},
"components": {
"expected_quality": -0.8792,
"regression_edge": -1.0,
"xwoba_edge": -1.5429,
"xba_edge": -0.9429,
"xslg_edge": -0.8,
"barrel_edge": 0.0222,
"hard_hit_edge": -0.3,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -1.0833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | Sean Burke | True | - | 0.1206 | 1 | 0.9898 | 1.0229 | 0.9900 | 1.0144 | neutral | 0.3000 | 0.3020 | 25.80 | 8.70 | 25.50 | 8.30 | 38.80 |
| Home CLE | Gavin Williams | True | - | 0.2212 | 1 | 0.9812 | 1.1069 | 0.9800 | 1.1158 | neutral | 0.3020 | 0.2940 | 33.20 | 8.20 | 32.80 | 11.40 | 46.60 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | Sean Burke | True | None | 71 | 89.63 | 2515 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0129 |
| Home CLE | Gavin Williams | True | None | 106 | 90.98 | 2292 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0624 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9916 |
| home_runs_vs_away_pitcher | 0.9953 |
| home_pitcher_starter_only_factor | 0.9812 |
| away_pitcher_starter_only_factor | 0.9898 |
| home_pitcher_workload_share | 0.5926 |
| away_pitcher_workload_share | 0.5556 |
| home_pitcher_quality_edge | 0.0641 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "668909",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 700.0,
"k_percent": 33.2,
"bb_percent": 8.2,
"woba": 0.294,
"xwoba": 0.302,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 46.6,
"avg_best_speed": 79.2974,
"avg_hyper_speed": 94.9953,
"whiff_percent": 32.8,
"swing_percent": 49.1
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.1041,
"command_and_miss": 1.1436,
"regression_edge": -0.2286,
"xwoba_edge": 0.2857,
"barrel_edge": -0.9333,
"hard_hit_edge": -1.2429,
"whiff_edge": 1.0857,
"bb_edge": 0.25,
"pitch_design_score": 0.0624
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668909",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 106,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 106,
"pitch_usage": 0.0,
"release_speed": 90.97845935651245,
"release_spin_rate": 2292.19753528252,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 106,
"pitch_usage": 0.0,
"release_speed": 90.97845935651245,
"release_spin_rate": 2292.19753528252,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.9785,
"release_spin_rate": 2292.1975,
"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.0624,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4457,
"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.2212,
"sample_weight": 1.0,
"run_prevention_factor": 0.9812,
"strikeout_factor": 1.1069,
"walk_factor": 0.98,
"homer_factor": 1.1158,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "668909",
"espn_rank": null
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "680732",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 644.0,
"k_percent": 25.8,
"bb_percent": 8.7,
"woba": 0.302,
"xwoba": 0.3,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 38.8,
"avg_best_speed": 79.3949,
"avg_hyper_speed": 93.9697,
"whiff_percent": 25.5,
"swing_percent": 49.1
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.0779,
"command_and_miss": 0.2779,
"regression_edge": 0.0571,
"xwoba_edge": 0.3429,
"barrel_edge": -0.2444,
"hard_hit_edge": -0.1286,
"whiff_edge": 0.0429,
"bb_edge": 0.125,
"pitch_design_score": -0.0129
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "680732",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 71,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 71,
"pitch_usage": 0.0,
"release_speed": 89.63367275202977,
"release_spin_rate": 2515.4651388536104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 71,
"pitch_usage": 0.0,
"release_speed": 89.63367275202977,
"release_spin_rate": 2515.4651388536104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.6337,
"release_spin_rate": 2515.4651,
"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.0129,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0922,
"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.1206,
"sample_weight": 1.0,
"run_prevention_factor": 0.9898,
"strikeout_factor": 1.0229,
"walk_factor": 0.99,
"homer_factor": 1.0144,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "680732",
"espn_rank": null
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9916,
"home_runs_vs_away_pitcher": 0.9953,
"home_pitcher_starter_only_factor": 0.9812,
"away_pitcher_starter_only_factor": 0.9898,
"home_pitcher_workload_share": 0.5926,
"away_pitcher_workload_share": 0.5556,
"home_pitcher_quality_edge": 0.0641
},
"score_before": {
"away_runs": 4.6314,
"home_runs": 5.423
},
"score_after": {
"away_runs": 4.5924,
"home_runs": 5.3975,
"home_win_probability": 0.5696
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away CHW | 7-3 | 0.700 | 6.50 | 4.30 | 22 | 1W | hot | average |
| Home CLE | 8-2 | 0.800 | 5.30 | 3.20 | 21 | 1L | hot | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CHW | 84-78 | 0.519 | 56 | 0.346 | True |
| Home CLE | 85-77 | 0.525 | 11 | 0.068 | True |
| Signal | - | - | -0.278 | -0.161 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-09-16 | CHW @ CLE | 3 - 6 | CLE | 3 | blowout |
| 2026-09-15 | CHW @ CLE | 6 - 7 | CLE | 1 | close |
| 2026-09-14 | CHW @ CLE | 7 - 3 | CHW | 4 | blowout |
| 2026-08-09 | CLE @ CHW | 3 - 5 | CHW | 2 | close |
| 2026-08-08 | CLE @ CHW | 3 - 6 | CHW | 3 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CHW | - | - | 5 | - | - | - | - |
| Game target CLE | - | - | 6 | - | - | - | - |
| Player finalized CHW | 33 | 6 | 5 | 1 | 5 | 4 | 18 |
| Player finalized CLE | 34 | 8 | 6 | 2 | 5 | 4 | 8 |
| Player model fractional CHW | 30.34 | 6.41 | 4.69 | 1.18 | 4.22 | 3.64 | 11.41 |
| Player model fractional CLE | 32.90 | 7.47 | 4.06 | 0.97 | 4.04 | 3.42 | 6.80 |
| Simulation box CHW | 33 | 6 | 5 | 1 | 5 | 4 | 18 |
| Simulation box CLE | 34 | 8 | 6 | 2 | 5 | 4 | 8 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | Starter | Sean Burke | 4.10 | 5 | 5 | 7 | 3 | 3.38 | 1.19 | True |
| Away CHW | Long Reliever | Sean Newcomb | 1.10 | 0 | 1 | 1 | 0 | 4.18 | 1.24 | True |
| Away CHW | Long Reliever | Noah Schultz | 2 | 0 | 2 | 0 | 1 | 5.89 | 1.45 | True |
| Away CHW | Middle Reliever | Jordan Hicks | 0.10 | 0 | 0 | 0 | 0 | 5.08 | 1.49 | True |
| Home CLE | Starter | Gavin Williams | 4.20 | 1 | 10 | 2 | 4 | 3.89 | 1.31 | True |
| Home CLE | Middle Reliever | Tim Herrin | 0.20 | 0 | 1 | 0 | 0 | 3.03 | 1.49 | True |
| Home CLE | Middle Reliever | Shawn Armstrong | 1 | 0 | 2 | 0 | 0 | 2.74 | 0.90 | True |
| Home CLE | Middle Reliever (High Leverage) | Daniel Espino | 1 | 0 | 2 | 0 | 0 | 5.22 | 1.51 | True |
| Home CLE | Middle Reliever (High Leverage) | Hunter Gaddis | 1 | 1 | 2 | 1 | 0 | 3.93 | 1.42 | True |
| Home CLE | Setup Man | Tanner Bibee | 0.20 | 3 | 1 | 3 | 0 | 6.11 | 1.48 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | CLE | pitcher | Starter | Gavin Williams | better | 6 | 2 | 4 | 4 | 2 | predicted_H | -7.0000 | deboost | better |
| away | CHW | pitcher | Starter | Sean Burke | worse | 6 | 5 | 1 | 1 | 5 | predicted_BB | 3.0000 | boost | worse |
| home | CLE | pitcher | Setup Man | Tanner Bibee | worse | 5 | 4 | 1 | 2 | 3 | predicted_ER | 3.0000 | boost | worse |
| away | CHW | batter | CF | Brenton Doyle | worse | 11 | 5 | 6 | 4 | 7 | predicted_SO | 2.0260 | boost | worse |
| away | CHW | pitcher | Long Reliever | Sean Newcomb | better | 4 | 0 | 4 | 3 | 1 | predicted_ER | -2.0000 | deboost | better |
| away | CHW | pitcher | Long Reliever | Noah Schultz | better | 5 | 3 | 2 | 4 | 1 | predicted_H | -2.0000 | deboost | better |
| away | CHW | pitcher | Middle Reliever | Jordan Hicks | worse | 3 | 0 | 3 | 1 | 2 | predicted_SO | -2.0000 | deboost | worse |
| home | CLE | pitcher | Middle Reliever (High Leverage) | Daniel Espino | better | 2 | 1 | 1 | 2 | 0 | predicted_SO | 2.0000 | boost | better |
| home | CLE | batter | RF | Chase DeLauter | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | -1.7200 | deboost | worse |
| away | CHW | batter | C | Kyle Teel | worse | 12 | 2 | 10 | 1 | 11 | predicted_SO | 1.5910 | boost | worse |
| away | CHW | batter | SS | Colson Montgomery | worse | 12 | 6 | 6 | 5 | 7 | predicted_RBI | 1.5800 | boost | better |
| away | CHW | batter | LF | Sam Antonacci | worse | 12 | 3 | 9 | 2 | 10 | predicted_AB | 1.5790 | boost | better |
| home | CLE | batter | 1B | Nathaniel Lowe | worse | 11 | 6 | 5 | 5 | 6 | predicted_RBI | 1.5400 | boost | better |
| away | CHW | batter | 2B | Chase Meidroth | worse | 11 | 5 | 6 | 4 | 7 | predicted_RBI | 1.5000 | boost | better |
| away | CHW | batter | 1B | Munetaka Murakami | worse | 11 | 4 | 7 | 3 | 8 | predicted_SO | 1.4360 | boost | worse |
| home | CLE | batter | CF | Petey Halpin | worse | 10 | 4 | 6 | 3 | 7 | predicted_AB | 1.3080 | boost | better |
| away | CHW | batter | DH | Andrew Benintendi | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.2000 | boost | worse |
| away | CHW | batter | RF | Tristan Peters | worse | 11 | 5 | 6 | 4 | 7 | predicted_AB | 1.0260 | boost | better |
| home | CLE | pitcher | Middle Reliever | Tim Herrin | better | 3 | 1 | 2 | 2 | 1 | predicted_ER | -1.0000 | deboost | better |
| home | CLE | pitcher | Middle Reliever | Shawn Armstrong | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| home | CLE | pitcher | Middle Reliever (High Leverage) | Hunter Gaddis | boosted | 4 | 3 | 1 | 2 | 2 | predicted_BB | -1.0000 | deboost | better |
| home | CLE | batter | DH | Jo Adell | boosted | 12 | 7 | 5 | 6 | 6 | predicted_SO | 0.9880 | boost | worse |
| away | CHW | batter | 3B | Miguel Vargas | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -0.8700 | deboost | worse |
| home | CLE | batter | 3B | José Ramírez | worse | 10 | 4 | 6 | 3 | 7 | predicted_HR | 0.8100 | boost | better |
| home | CLE | batter | 2B | Travis Bazzana | worse | 9 | 2 | 7 | 1 | 8 | predicted_H | -0.7900 | deboost | worse |
| home | CLE | batter | C | Patrick Bailey | worse | 10 | 4 | 6 | 3 | 7 | predicted_BB | 0.7450 | boost | better |
| home | CLE | batter | LF | Steven Kwan | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | 0.7400 | boost | better |
| home | CLE | batter | SS | Brayan Rocchio | worse | 11 | 3 | 8 | 4 | 7 | predicted_R | 0.5750 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Sean Burke |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1206 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0129 |
| Avg Velo | 89.6337 |
| Avg Spin | 2515.4651 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.1000 |
| Pre ER | 5 |
| Pre H | 7 |
| Pre BB | 3 |
| Pre SO | 5 |
| Season ERA | 3.3688 |
| Season WHIP | 1.1670 |
| Role Avg IP | 5.2260 |
| Recent Avg IP | 4.4670 |
| Last Start IP | 4 |
{
"team": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0673,
"defense_index": 1.0098,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9325,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0062,
"offense_edge": 0.0673,
"opponent_offense_edge": -0.0675,
"defense_strength": 0.0098,
"opponent_defense_weakness": -0.0901,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9885,
"strikeout": 1.0052
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "680732",
"profile": {
"available": true,
"pitcher_id": "680732",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 644.0,
"k_percent": 25.8,
"bb_percent": 8.7,
"woba": 0.302,
"xwoba": 0.3,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 38.8,
"avg_best_speed": 79.3949,
"avg_hyper_speed": 93.9697,
"whiff_percent": 25.5,
"swing_percent": 49.1
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.0779,
"command_and_miss": 0.2779,
"regression_edge": 0.0571,
"xwoba_edge": 0.3429,
"barrel_edge": -0.2444,
"hard_hit_edge": -0.1286,
"whiff_edge": 0.0429,
"bb_edge": 0.125,
"pitch_design_score": -0.0129
},
"quality_score": 0.1206,
"sample_weight": 1.0,
"run_prevention_factor": 0.9898,
"strikeout_factor": 1.0229,
"walk_factor": 0.99,
"homer_factor": 1.0144,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "680732",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9898,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9898,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.99,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0144,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0229,
"adjusted": 6
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 46.0,
"ER": 23,
"H": 41,
"BB": 24,
"SO": 47,
"HR": 7,
"ERA": 4.5,
"WHIP": 1.4130434782608696,
"K9": 9.195652173913043,
"HR9": 1.3695652173913044,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-05T00:00:00"
}{
"available": true,
"pitcher_id": "680732",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 71,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 71,
"pitch_usage": 0.0,
"release_speed": 89.63367275202977,
"release_spin_rate": 2515.4651388536104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 71,
"pitch_usage": 0.0,
"release_speed": 89.63367275202977,
"release_spin_rate": 2515.4651388536104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.6337,
"release_spin_rate": 2515.4651,
"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.0129,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0922,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 34.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8718,
"prior_weight": 0.1282
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "680732",
"report_date": "20261010",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.2,
"ER": 6.0,
"R": 7.0,
"H": 18.0,
"BB": 7.0,
"SO": 30.0,
"HR": 4.0,
"BF": 101.0,
"Pitches": 435.0
},
"per_game": {
"IP": 5.0,
"ER": 1.2,
"R": 1.4,
"H": 3.6,
"BB": 1.4,
"SO": 6.0,
"HR": 0.8,
"BF": 20.2,
"Pitches": 87.0
},
"rates": {
"ERA": 2.1039,
"WHIP": 0.974,
"ER_per_IP": 0.23377,
"H_per_IP": 0.7013,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.16883,
"HR_per_IP": 0.15584
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 46.0,
"ER": 23.0,
"R": 24.0,
"H": 41.0,
"BB": 24.0,
"SO": 47.0,
"HR": 7.0,
"BF": 200.0,
"Pitches": 849.0
},
"per_game": {
"IP": 4.2,
"ER": 2.3,
"R": 2.4,
"H": 4.1,
"BB": 2.4,
"SO": 4.7,
"HR": 0.7,
"BF": 20.0,
"Pitches": 84.9
},
"rates": {
"ERA": 4.5,
"WHIP": 1.413,
"ER_per_IP": 0.5,
"H_per_IP": 0.8913,
"BB_per_IP": 0.52174,
"SO_per_IP": 1.02174,
"HR_per_IP": 0.15217
}
},
"season": {
"games": 34,
"totals": {
"IP": 181.2,
"ER": 68.0,
"R": 71.0,
"H": 149.0,
"BB": 63.0,
"SO": 199.0,
"HR": 22.0,
"BF": 750.0,
"Pitches": 3033.0
},
"per_game": {
"IP": 5.1,
"ER": 2.0,
"R": 2.0882,
"H": 4.3824,
"BB": 1.8529,
"SO": 5.8529,
"HR": 0.6471,
"BF": 22.0588,
"Pitches": 89.2059
},
"rates": {
"ERA": 3.3688,
"WHIP": 1.167,
"ER_per_IP": 0.37431,
"H_per_IP": 0.82018,
"BB_per_IP": 0.34679,
"SO_per_IP": 1.09541,
"HR_per_IP": 0.1211
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 1.861,
"predicted_H": 4.047,
"predicted_BB": 1.862,
"predicted_SO": 5.358,
"predicted_HR": 0.732,
"predicted_ERA": 3.3797,
"predicted_WHIP": 1.1921
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4042,
"form_weight": 0.5958,
"form_reliability": 0.8718,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 34.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8718,
"prior_weight": 0.1282
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.861,
"final": 2.3213,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.047,
"final": 4.4322,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.862,
"final": 1.1094,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 5.358,
"final": 4.405,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.732,
"final": 0.8403,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3797,
"final": 3.3797,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1921,
"final": 1.1921,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Sean Newcomb |
| Role | Long Reliever |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0519 |
| ESPN Rank | - |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.9893 |
| Season WHIP | 1.1250 |
| Role Avg IP | 1.5310 |
| Recent Avg IP | 1.4670 |
| Last Start IP | 0 |
{
"team": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0673,
"defense_index": 1.0098,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9325,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0062,
"offense_edge": 0.0673,
"opponent_offense_edge": -0.0675,
"defense_strength": 0.0098,
"opponent_defense_weakness": -0.0901,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9885,
"strikeout": 1.0052
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656794",
"profile": {
"available": true,
"pitcher_id": "656794",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 339.0,
"k_percent": 22.6,
"bb_percent": 9.1,
"woba": 0.285,
"xwoba": 0.317,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7324,
"avg_hyper_speed": 94.0135,
"whiff_percent": 23.9,
"swing_percent": 45.9
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.0834,
"command_and_miss": -0.0279,
"regression_edge": -0.9143,
"xwoba_edge": -0.1429,
"barrel_edge": 0.1556,
"hard_hit_edge": -0.1,
"whiff_edge": -0.1857,
"bb_edge": 0.025,
"pitch_design_score": 0.0
},
"quality_score": -0.0519,
"sample_weight": 1.0,
"run_prevention_factor": 1.0044,
"strikeout_factor": 0.9954,
"walk_factor": 0.998,
"homer_factor": 0.9958,
"woba_minus_xwoba": -0.032,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "656794",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0044,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0044,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.998,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9958,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9954,
"adjusted": 2
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.2,
"ER": 9,
"H": 14,
"BB": 5,
"SO": 13,
"HR": 2,
"ERA": 6.942857142857142,
"WHIP": 1.6285714285714283,
"K9": 10.028571428571427,
"HR9": 1.5428571428571427,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-05T00:00:00"
}{
"available": false,
"pitcher_id": "656794",
"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.298,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7942,
"prior_weight": 0.2058
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656794",
"report_date": "20261010",
"season_year": 2026,
"rows_used": 60,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.1,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 2.0,
"SO": 9.0,
"HR": 1.0,
"BF": 29.0,
"Pitches": 123.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.4,
"SO": 1.8,
"HR": 0.2,
"BF": 5.8,
"Pitches": 24.6
},
"rates": {
"ERA": 2.4545,
"WHIP": 0.9545,
"ER_per_IP": 0.27273,
"H_per_IP": 0.68182,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.22727,
"HR_per_IP": 0.13636
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.1,
"ER": 10.0,
"R": 10.0,
"H": 16.0,
"BB": 5.0,
"SO": 14.0,
"HR": 2.0,
"BF": 59.0,
"Pitches": 255.0
},
"per_game": {
"IP": 1.1,
"ER": 1.0,
"R": 1.0,
"H": 1.6,
"BB": 0.5,
"SO": 1.4,
"HR": 0.2,
"BF": 5.9,
"Pitches": 25.5
},
"rates": {
"ERA": 6.75,
"WHIP": 1.575,
"ER_per_IP": 0.75,
"H_per_IP": 1.2,
"BB_per_IP": 0.375,
"SO_per_IP": 1.05,
"HR_per_IP": 0.15
}
},
"season": {
"games": 60,
"totals": {
"IP": 93.1,
"ER": 31.0,
"R": 34.0,
"H": 72.0,
"BB": 33.0,
"SO": 87.0,
"HR": 4.0,
"BF": 380.0,
"Pitches": 1502.0
},
"per_game": {
"IP": 1.2,
"ER": 0.5167,
"R": 0.5667,
"H": 1.2,
"BB": 0.55,
"SO": 1.45,
"HR": 0.0667,
"BF": 6.3333,
"Pitches": 25.0333
},
"rates": {
"ERA": 2.9893,
"WHIP": 1.125,
"ER_per_IP": 0.33214,
"H_per_IP": 0.77143,
"BB_per_IP": 0.35357,
"SO_per_IP": 0.93214,
"HR_per_IP": 0.04286
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.644,
"predicted_H": 1.251,
"predicted_BB": 0.466,
"predicted_SO": 1.484,
"predicted_HR": 0.177,
"predicted_ERA": 4.1816,
"predicted_WHIP": 1.2391
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.437,
"form_weight": 0.563,
"form_reliability": 0.7942,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 19.298,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7942,
"prior_weight": 0.2058
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.644,
"final": 1.2365,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 1.251,
"final": 1.5783,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.466,
"final": 0.2624,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.484,
"final": 1.2725,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.177,
"final": 0.5366,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1816,
"final": 4.1816,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2391,
"final": 1.2391,
"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 | Noah Schultz |
| Role | Long Reliever |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.6085 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0528 |
| Avg Velo | 90.8063 |
| Avg Spin | 2521.1587 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 2 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 5.8154 |
| Season WHIP | 1.3846 |
| Role Avg IP | 5 |
| Recent Avg IP | 5 |
| Last Start IP | 0 |
{
"team": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0673,
"defense_index": 1.0098,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9325,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0062,
"offense_edge": 0.0673,
"opponent_offense_edge": -0.0675,
"defense_strength": 0.0098,
"opponent_defense_weakness": -0.0901,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9885,
"strikeout": 1.0052
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "702273",
"profile": {
"available": true,
"pitcher_id": "702273",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 263.0,
"k_percent": 20.7,
"bb_percent": 9.6,
"woba": 0.335,
"xwoba": 0.358,
"sweet_spot_percent": 38.7,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 41.9,
"avg_best_speed": 78.2229,
"avg_hyper_speed": 94.4485,
"whiff_percent": 21.0,
"swing_percent": 45.2
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.8283,
"command_and_miss": -0.32,
"regression_edge": -0.6571,
"xwoba_edge": -1.3143,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.5714,
"whiff_edge": -0.6,
"bb_edge": -0.1,
"pitch_design_score": 0.0528
},
"quality_score": -0.6085,
"sample_weight": 1.0,
"run_prevention_factor": 1.0517,
"strikeout_factor": 0.968,
"walk_factor": 1.008,
"homer_factor": 1.1067,
"woba_minus_xwoba": -0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "702273",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0517,
"adjusted": 1
},
"predicted_H": {
"original": 2.0,
"factor": 1.0517,
"adjusted": 2
},
"predicted_BB": {
"original": 0.0,
"factor": 1.008,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.1067,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.968,
"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": 43.2,
"ER": 36,
"H": 49,
"BB": 19,
"SO": 38,
"HR": 8,
"ERA": 7.419847328244275,
"WHIP": 1.5572519083969467,
"K9": 7.8320610687022905,
"HR9": 1.6488549618320612,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-01T00:00:00"
}{
"available": true,
"pitcher_id": "702273",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 81,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 90.80632794358091,
"release_spin_rate": 2521.158682018695,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 81,
"pitch_usage": 0.0,
"release_speed": 90.80632794358091,
"release_spin_rate": 2521.158682018695,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.8063,
"release_spin_rate": 2521.1587,
"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.0528,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3769,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "702273",
"report_date": "20261010",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 22.0,
"ER": 14.0,
"R": 14.0,
"H": 27.0,
"BB": 5.0,
"SO": 18.0,
"HR": 4.0,
"BF": 100.0,
"Pitches": 385.0
},
"per_game": {
"IP": 4.1,
"ER": 2.8,
"R": 2.8,
"H": 5.4,
"BB": 1.0,
"SO": 3.6,
"HR": 0.8,
"BF": 20.0,
"Pitches": 77.0
},
"rates": {
"ERA": 5.7273,
"WHIP": 1.4545,
"ER_per_IP": 0.63636,
"H_per_IP": 1.22727,
"BB_per_IP": 0.22727,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.18182
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 43.2,
"ER": 36.0,
"R": 36.0,
"H": 49.0,
"BB": 19.0,
"SO": 38.0,
"HR": 8.0,
"BF": 201.0,
"Pitches": 788.0
},
"per_game": {
"IP": 4.1,
"ER": 3.6,
"R": 3.6,
"H": 4.9,
"BB": 1.9,
"SO": 3.8,
"HR": 0.8,
"BF": 20.1,
"Pitches": 78.8
},
"rates": {
"ERA": 7.4198,
"WHIP": 1.5573,
"ER_per_IP": 0.82443,
"H_per_IP": 1.12214,
"BB_per_IP": 0.43511,
"SO_per_IP": 0.87023,
"HR_per_IP": 0.18321
}
},
"season": {
"games": 14,
"totals": {
"IP": 65.0,
"ER": 42.0,
"R": 43.0,
"H": 59.0,
"BB": 31.0,
"SO": 58.0,
"HR": 9.0,
"BF": 286.0,
"Pitches": 1124.0
},
"per_game": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0714,
"H": 4.2143,
"BB": 2.2143,
"SO": 4.1429,
"HR": 0.6429,
"BF": 20.4286,
"Pitches": 80.2857
},
"rates": {
"ERA": 5.8154,
"WHIP": 1.3846,
"ER_per_IP": 0.64615,
"H_per_IP": 0.90769,
"BB_per_IP": 0.47692,
"SO_per_IP": 0.89231,
"HR_per_IP": 0.13846
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.1,
"predicted_ER": 2.179,
"predicted_H": 3.628,
"predicted_BB": 1.193,
"predicted_SO": 2.906,
"predicted_HR": 0.555,
"predicted_ERA": 5.8885,
"predicted_WHIP": 1.4479
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4612,
"form_weight": 0.5388,
"form_reliability": 0.7368,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 3.1,
"final": 2.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.179,
"final": 1.6352,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 3.628,
"final": 2.8772,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.193,
"final": 0.6428,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 2.906,
"final": 2.0269,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.555,
"final": 0.299,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.8885,
"final": 5.8885,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4479,
"final": 1.4479,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jordan Hicks |
| Role | Middle Reliever |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4937 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 94.9903 |
| Avg Spin | 2069.2367 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.8250 |
| Season WHIP | 1.5000 |
| Role Avg IP | 0.9510 |
| Recent Avg IP | 1.2000 |
| Last Start IP | 0 |
{
"team": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0673,
"defense_index": 1.0098,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9325,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0062,
"offense_edge": 0.0673,
"opponent_offense_edge": -0.0675,
"defense_strength": 0.0098,
"opponent_defense_weakness": -0.0901,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9885,
"strikeout": 1.0052
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663855",
"profile": {
"available": true,
"pitcher_id": "663855",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 164.0,
"k_percent": 29.6,
"bb_percent": 15.3,
"woba": 0.309,
"xwoba": 0.262,
"sweet_spot_percent": 27.1,
"barrel_batted_rate": 1.7,
"hard_hit_percent": 33.1,
"avg_best_speed": 78.2319,
"avg_hyper_speed": 93.4981,
"whiff_percent": 28.2,
"swing_percent": 44.3
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.9121,
"command_and_miss": 0.3271,
"regression_edge": 1.3429,
"xwoba_edge": 1.4286,
"barrel_edge": 1.2222,
"hard_hit_edge": 0.6857,
"whiff_edge": 0.4286,
"bb_edge": -1.525,
"pitch_design_score": 0.28
},
"quality_score": 0.4937,
"sample_weight": 0.656,
"run_prevention_factor": 0.958,
"strikeout_factor": 1.0394,
"walk_factor": 1.08,
"homer_factor": 0.8898,
"woba_minus_xwoba": 0.047,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "663855",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9724,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9724,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0525,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9277,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0258,
"adjusted": 2
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 6,
"H": 13,
"BB": 4,
"SO": 14,
"HR": 2,
"ERA": 5.4,
"WHIP": 1.7,
"K9": 12.6,
"HR9": 1.8,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-25T00:00:00"
}{
"available": true,
"pitcher_id": "663855",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 94.99032641703893,
"release_spin_rate": 2069.2367121559296,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 94.99032641703893,
"release_spin_rate": 2069.2367121559296,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.9903,
"release_spin_rate": 2069.2367,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.271,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6232,
"prior_weight": 0.3768
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "663855",
"report_date": "20261010",
"season_year": 2026,
"rows_used": 42,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 3.0,
"SO": 9.0,
"HR": 1.0,
"BF": 27.0,
"Pitches": 103.0
},
"per_game": {
"IP": 1.1,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.6,
"SO": 1.8,
"HR": 0.2,
"BF": 5.4,
"Pitches": 20.6
},
"rates": {
"ERA": 6.0,
"WHIP": 1.5,
"ER_per_IP": 0.66667,
"H_per_IP": 1.0,
"BB_per_IP": 0.5,
"SO_per_IP": 1.5,
"HR_per_IP": 0.16667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 6.0,
"R": 6.0,
"H": 13.0,
"BB": 4.0,
"SO": 14.0,
"HR": 2.0,
"BF": 47.0,
"Pitches": 183.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.3,
"BB": 0.4,
"SO": 1.4,
"HR": 0.2,
"BF": 4.7,
"Pitches": 18.3
},
"rates": {
"ERA": 5.4,
"WHIP": 1.7,
"ER_per_IP": 0.6,
"H_per_IP": 1.3,
"BB_per_IP": 0.4,
"SO_per_IP": 1.4,
"HR_per_IP": 0.2
}
},
"season": {
"games": 42,
"totals": {
"IP": 40.0,
"ER": 17.0,
"R": 17.0,
"H": 35.0,
"BB": 25.0,
"SO": 49.0,
"HR": 3.0,
"BF": 178.0,
"Pitches": 695.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4048,
"R": 0.4048,
"H": 0.8333,
"BB": 0.5952,
"SO": 1.1667,
"HR": 0.0714,
"BF": 4.2381,
"Pitches": 16.5476
},
"rates": {
"ERA": 3.825,
"WHIP": 1.5,
"ER_per_IP": 0.425,
"H_per_IP": 0.875,
"BB_per_IP": 0.625,
"SO_per_IP": 1.225,
"HR_per_IP": 0.075
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.618,
"predicted_H": 1.142,
"predicted_BB": 0.491,
"predicted_SO": 1.345,
"predicted_HR": 0.17,
"predicted_ERA": 5.0826,
"predicted_WHIP": 1.4938
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5092,
"form_weight": 0.4908,
"form_reliability": 0.6232,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.271,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6232,
"prior_weight": 0.3768
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.618,
"final": 0.3033,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.142,
"final": 1.0697,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.491,
"final": 0.241,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.345,
"final": 1.6785,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.17,
"final": 0.0834,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.0826,
"final": 5.0826,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4938,
"final": 1.4938,
"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.179 | 0.000 | 0.000 | Hitting_2B | 0.187 | 0.000 | -0.187 | 0.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 3.421 | 5.000 | 5.000 | Hitting_AB | 3.627 | 2.000 | 1.373 | 3.000 |
| predicted_AVG | 0.276 | 0.200 | 0.200 | Hitting_AVG | 0.272 | 0.500 | -0.072 | -0.300 |
| predicted_BB | 0.310 | 0.000 | 0.000 | Hitting_BB | 0.362 | 0.000 | -0.362 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_H | 0.945 | 1.000 | 1.000 | Hitting_H | 0.985 | 1.000 | 0.015 | 0.000 |
| predicted_HR | 0.055 | 0.000 | 0.000 | Hitting_HR | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_OBP | 0.336 | 0.200 | 0.200 | Hitting_OBP | 0.374 | 0.500 | -0.174 | -0.300 |
| predicted_R | 0.579 | 0.000 | 0.000 | Hitting_R | 0.629 | 0.000 | -0.629 | 0.000 |
| predicted_RBI | 0.366 | 0.000 | 0.000 | Hitting_RBI | 0.390 | 2.000 | -0.390 | -2.000 |
| predicted_SLG | 0.393 | 0.200 | 0.200 | Hitting_SLG | 0.396 | 0.500 | -0.196 | -0.300 |
| predicted_SO | 0.586 | 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 | 12 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_AB: 3.4210 -> 5.0000 (boost 1.5790, better) |
| Biggest Deboost | predicted_R: 0.5790 -> 0.0000 (deboost -0.5790, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3360 -> 0.3614 (boost 0.0254, better) | predicted_AB: 3.4210 -> 3.3430 (deboost -0.0780, worse) | Final model input calibrated with local 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.3614 -> 0.3382 (deboost -0.0232, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.3430 -> 4.0000 (boost 0.6570, better) | predicted_RBI: 0.4030 -> 0.0000 (deboost -0.4030, worse) | AB rounded to 4 (raw=3.42), rates preserved: AVG=0.256 HR/AB=0.014 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5694 -> 1.0000 (boost 0.4306, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.3606 (boost 0.3606, better) | predicted_SO: 1.0000 -> 0.8344 (deboost -0.1656, better) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 3 | 6 | 2 | 7 | predicted_BB: 0.3572 -> 1.0000 (boost 0.6428, better) | predicted_RBI: 0.3606 -> 0.0000 (deboost -0.3606, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 3 | 1 | 2 | 1 | 2 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.2970 -> 0.3080 (boost 0.0110, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "803011",
"player_name": "Sam Antonacci",
"position": "LF",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.179,
"predicted_3B": 0.028,
"predicted_AB": 3.421,
"predicted_AVG": 0.276,
"predicted_BB": 0.31,
"predicted_H": 0.945,
"predicted_HR": 0.055,
"predicted_OBP": 0.336,
"predicted_R": 0.579,
"predicted_RBI": 0.366,
"predicted_SLG": 0.393,
"predicted_SO": 0.586
},
"changed_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.1838,
"predicted_3B": 0.0228,
"predicted_AB": 3.343,
"predicted_AVG": 0.2799,
"predicted_BB": 0.2987,
"predicted_H": 0.9359,
"predicted_HBP": 0.363,
"predicted_HR": 0.0463,
"predicted_OBP": 0.3614,
"predicted_R": 0.5725,
"predicted_RBI": 0.4052,
"predicted_SLG": 0.39,
"predicted_SO": 0.5799
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.421,
"after": 3.343,
"delta": -0.078,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3614,
"delta": 0.0254,
"percent_delta": 0.0756,
"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_OBP",
"before": 0.336,
"after": 0.3614,
"delta": 0.0254,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.421,
"after": 3.343,
"delta": -0.078,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 145
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1838,
"predicted_3B": 0.0228,
"predicted_AB": 3.343,
"predicted_AVG": 0.2789,
"predicted_BB": 0.2994,
"predicted_H": 0.9324,
"predicted_HBP": 0.363,
"predicted_HR": 0.0462,
"predicted_OBP": 0.3382,
"predicted_R": 0.5694,
"predicted_RBI": 0.403,
"predicted_SLG": 0.389,
"predicted_SO": 0.5785
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3614,
"after": 0.3382,
"delta": -0.0232,
"percent_delta": -0.0642,
"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.3614,
"after": 0.3382,
"delta": -0.0232,
"percent_delta": -0.0642,
"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.42), rates preserved: AVG=0.256 HR/AB=0.014",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1838,
"after": 0.0,
"delta": -0.1838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.343,
"after": 4.0,
"delta": 0.657,
"percent_delta": 0.1965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2994,
"after": 0.0,
"delta": -0.2994,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9324,
"after": 1.0,
"delta": 0.0676,
"percent_delta": 0.0725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.363,
"after": 0.0,
"delta": -0.363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.403,
"after": 0.0,
"delta": -0.403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5785,
"after": 1.0,
"delta": 0.4215,
"percent_delta": 0.7286,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.343,
"after": 4.0,
"delta": 0.657,
"percent_delta": 0.1965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.403,
"after": 0.0,
"delta": -0.403,
"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.091)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8927,
"bvp": 0.1073
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.5694,
"after": 1.0,
"delta": 0.4306,
"percent_delta": 0.7562,
"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.5694,
"after": 1.0,
"delta": 0.4306,
"percent_delta": 0.7562,
"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.1731,
"predicted_3B": 0.0157,
"predicted_BB": 0.3572,
"predicted_H": 0.8543,
"predicted_HR": 0.0674,
"predicted_RBI": 0.3606,
"predicted_SO": 0.8344
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1731,
"delta": 0.1731,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3572,
"delta": 0.3572,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8543,
"delta": -0.1457,
"percent_delta": -0.1457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0674,
"delta": 0.0674,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3606,
"delta": 0.3606,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8344,
"delta": -0.1656,
"percent_delta": -0.1656,
"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.3606,
"delta": 0.3606,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8344,
"delta": -0.1656,
"percent_delta": -0.1656,
"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.224,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.331,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1731,
"after": 0.0,
"delta": -0.1731,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2789,
"after": 0.224,
"delta": -0.0549,
"percent_delta": -0.1968,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3572,
"after": 1.0,
"delta": 0.6428,
"percent_delta": 1.7996,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8543,
"after": 1.0,
"delta": 0.1457,
"percent_delta": 0.1705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0674,
"after": 0.0,
"delta": -0.0674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3382,
"after": 0.297,
"delta": -0.0412,
"percent_delta": -0.1218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3606,
"after": 0.0,
"delta": -0.3606,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.331,
"delta": -0.058,
"percent_delta": -0.1491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8344,
"after": 1.0,
"delta": 0.1656,
"percent_delta": 0.1985,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.3572,
"after": 1.0,
"delta": 0.6428,
"percent_delta": 1.7996,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3606,
"after": 0.0,
"delta": -0.3606,
"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.224,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.331,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"reference_only": true
},
{
"index": 15,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.226,
"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.308,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.338,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.308,
"delta": 0.011,
"percent_delta": 0.037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.331,
"after": 0.338,
"delta": 0.007,
"percent_delta": 0.0211,
"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.297,
"after": 0.308,
"delta": 0.011,
"percent_delta": 0.037,
"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.179,
"after": 0.0,
"delta": -0.179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.421,
"after": 5.0,
"delta": 1.579,
"percent_delta": 0.4616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.226,
"delta": -0.05,
"percent_delta": -0.1812,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.945,
"after": 1.0,
"delta": 0.055,
"percent_delta": 0.0582,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.363,
"after": 0.0,
"delta": -0.363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.055,
"after": 0.0,
"delta": -0.055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.308,
"delta": -0.028,
"percent_delta": -0.0833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.579,
"after": 0.0,
"delta": -0.579,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.366,
"after": 0.0,
"delta": -0.366,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.338,
"delta": -0.055,
"percent_delta": -0.1399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.586,
"after": 1.0,
"delta": 0.414,
"percent_delta": 0.7065,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 3,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.421,
"after": 5.0,
"delta": 1.579,
"percent_delta": 0.4616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.579,
"after": 0.0,
"delta": -0.579,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 3.421 | - |
| predicted_AVG | 0.276 | - |
| predicted_BB | 0.310 | - |
| predicted_H | 0.945 | - |
| predicted_HR | 0.055 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.579 | - |
| predicted_RBI | 0.366 | - |
| predicted_SLG | 0.393 | - |
| predicted_SO | 0.586 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.184 | 0.005 |
| predicted_3B | 0.023 | -0.005 |
| predicted_AB | 3.343 | -0.078 |
| predicted_AVG | 0.280 | 0.004 |
| predicted_BB | 0.299 | -0.011 |
| predicted_H | 0.936 | -0.009 |
| predicted_HBP | 0.363 | - |
| predicted_HR | 0.046 | -0.009 |
| predicted_OBP | 0.361 | 0.025 |
| predicted_R | 0.573 | -0.006 |
| predicted_RBI | 0.405 | 0.039 |
| predicted_SLG | 0.390 | -0.003 |
| predicted_SO | 0.580 | -0.006 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.184 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.343 | 0.000 |
| predicted_AVG | 0.279 | -0.001 |
| predicted_BB | 0.299 | 0.001 |
| predicted_H | 0.932 | -0.003 |
| predicted_HBP | 0.363 | 0.000 |
| predicted_HR | 0.046 | -0.000 |
| predicted_OBP | 0.338 | -0.023 |
| predicted_R | 0.569 | -0.003 |
| predicted_RBI | 0.403 | -0.002 |
| predicted_SLG | 0.389 | -0.001 |
| predicted_SO | 0.579 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.42), rates preserved: AVG=0.256 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.016 | 0.016 |
| BB | 0.357 | 0.357 |
| H | 0.854 | -0.146 |
| HR | 0.067 | 0.067 |
| RBI | 0.361 | 0.361 |
| SO | 0.834 | -0.166 |
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.016 |
| AB | 4.000 | 0.000 |
| AVG | 0.224 | - |
| BB | 1.000 | 0.643 |
| H | 1.000 | 0.146 |
| HR | 0.000 | -0.067 |
| OBP | 0.297 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.361 |
| SLG | 0.331 | - |
| SO | 1.000 | 0.166 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.184 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 4.000 | 0.657 |
| predicted_AVG | 0.224 | -0.055 |
| predicted_BB | 1.000 | 0.701 |
| predicted_H | 1.000 | 0.068 |
| predicted_HR | 0.000 | -0.046 |
| predicted_OBP | 0.297 | -0.041 |
| predicted_R | 1.000 | 0.431 |
| predicted_RBI | 0.000 | -0.403 |
| predicted_SLG | 0.331 | -0.058 |
| predicted_SO | 1.000 | 0.421 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 3.000 | 1.000 | 0.000 | 0.000 | 3.000 | 2.000 | 1.000 | 3.000 | 0.2308 | 0.3889 | 0.3077 | 0.2308 | 0.0000 | 0.2308 | 0.0769 | 0.2308 |
| last_10 | 0.20 | 10 | - | 32.000 | 12.000 | 2.000 | 0.000 | 0.000 | 5.000 | 7.000 | 3.000 | 4.000 | 0.3750 | 0.4878 | 0.4375 | 0.3750 | 0.0000 | 0.1562 | 0.0938 | 0.1250 |
| season | 0.60 | 145 | - | 496.000 | 137.000 | 26.000 | 4.000 | 8.000 | 53.000 | 84.000 | 45.000 | 85.000 | 0.2762 | 0.3726 | 0.3931 | 0.2762 | 0.0161 | 0.1069 | 0.0907 | 0.1714 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1900 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.2420 |
| predicted_AVG | 0.2850 |
| predicted_BB | 0.2840 |
| predicted_H | 0.9240 |
| predicted_HBP | 0.3630 |
| predicted_HR | 0.0350 |
| predicted_OBP | 0.3943 |
| predicted_R | 0.5640 |
| predicted_RBI | 0.4560 |
| predicted_SLG | 0.3860 |
| predicted_SO | 0.5720 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.1900 | 0.1838 | model_form_blend |
| predicted_3B | 0.0280 | 0.0160 | 0.0228 | model_form_blend |
| predicted_AB | 3.4210 | 3.2420 | 3.3430 | model_form_blend |
| predicted_AVG | 0.2760 | 0.2850 | 0.2799 | model_form_blend |
| predicted_BB | 0.3100 | 0.2840 | 0.2987 | model_form_blend |
| predicted_H | 0.9450 | 0.9240 | 0.9359 | model_form_blend |
| predicted_HBP | - | 0.3630 | 0.3630 | form_only |
| predicted_HR | 0.0550 | 0.0350 | 0.0463 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3943 | 0.3614 | model_form_blend |
| predicted_R | 0.5790 | 0.5640 | 0.5725 | model_form_blend |
| predicted_RBI | 0.3660 | 0.4560 | 0.4052 | model_form_blend |
| predicted_SLG | 0.3930 | 0.3860 | 0.3900 | model_form_blend |
| predicted_SO | 0.5860 | 0.5720 | 0.5799 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 536 |
| Season rows before report date | 536 |
| Report year | 2026 |
| Profile rows used | 145 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-DH |
| gameID | 20261008_CLE@CHW |
| game_type | ph |
| mlbID | 803011 |
| note | Hit a sacrifice fly for Pham in the 3rd. |
| playerID | 803011 |
| playerName | Sam Antonacci |
| pos | SS |
| started | False |
| startingPosition | PH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-08 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.345 |
| sl_xwoba | 0.348 |
| sl_xba | 0.284 |
| sl_xslg | 0.399 |
| sl_sweet_spot_percent | 38.0 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 33.6 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 9.9 |
| sl_whiff_percent | 14.7 |
| sl_swing_percent | 42.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.091 | 0.000 | 0.000 | Hitting_2B | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.760 | 3.000 | 3.000 | Hitting_AB | 3.537 | 4.000 | -0.537 | -1.000 |
| predicted_AVG | 0.215 | 0.000 | 0.000 | Hitting_AVG | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_BB | 0.432 | 1.000 | 1.000 | Hitting_BB | 0.554 | 1.000 | 0.446 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.810 | 0.000 | 0.000 | Hitting_H | 0.727 | 0.000 | -0.727 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_OBP | 0.323 | 0.250 | 0.250 | Hitting_OBP | 0.323 | 0.200 | -0.073 | 0.050 |
| predicted_R | 0.523 | 0.000 | 0.000 | Hitting_R | 0.595 | 0.000 | -0.595 | 0.000 |
| predicted_RBI | 0.600 | 0.000 | 0.000 | Hitting_RBI | 0.851 | 0.000 | -0.851 | 0.000 |
| predicted_SLG | 0.372 | 0.000 | 0.000 | Hitting_SLG | 0.383 | 0.000 | -0.383 | 0.000 |
| predicted_SO | 1.409 | 3.000 | 3.000 | Hitting_SO | 1.545 | 2.000 | 1.455 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 1.4090 -> 3.0000 (boost 1.5910, worse) |
| Biggest Deboost | predicted_H: 0.8100 -> 0.0000 (deboost -0.8100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2150 -> 0.2203 (boost 0.0053, better) | predicted_AB: 3.7600 -> 3.6744 (deboost -0.0856, worse) | Final model input calibrated with local 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.3213 -> 0.2997 (deboost -0.0216, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_SO: 1.4314 -> 2.0000 (boost 0.5686, worse) | predicted_BB: 0.4204 -> 0.0000 (deboost -0.4204, worse) | AB rounded to 4 (raw=3.76), rates preserved: AVG=0.202 HR/AB=0.031 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5431 -> 1.0000 (boost 0.4569, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 0.4404 (boost 0.4404, better) | predicted_RBI: 1.0000 -> 0.4879 (deboost -0.5121, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 4 | 5 | 3 | 6 | predicted_BB: 0.4404 -> 1.0000 (boost 0.5596, better) | predicted_2B: 0.1525 -> 0.0000 (deboost -0.1525, 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 | 0 | 5 | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, worse) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2940 -> 0.2990 (boost 0.0050, better) | predicted_AVG: 0.2030 -> 0.1980 (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": "691019",
"player_name": "Kyle Teel",
"position": "C",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.091,
"predicted_3B": 0.0,
"predicted_AB": 3.76,
"predicted_AVG": 0.215,
"predicted_BB": 0.432,
"predicted_H": 0.81,
"predicted_HR": 0.13,
"predicted_OBP": 0.323,
"predicted_R": 0.523,
"predicted_RBI": 0.6,
"predicted_SLG": 0.372,
"predicted_SO": 1.409
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1036,
"predicted_3B": 0.0008,
"predicted_AB": 3.6744,
"predicted_AVG": 0.2203,
"predicted_BB": 0.4194,
"predicted_H": 0.8096,
"predicted_HBP": 0.087,
"predicted_HR": 0.117,
"predicted_OBP": 0.3213,
"predicted_R": 0.5461,
"predicted_RBI": 0.5972,
"predicted_SLG": 0.3615,
"predicted_SO": 1.435
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.76,
"after": 3.6744,
"delta": -0.0856,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2203,
"delta": 0.0053,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3615,
"delta": -0.0105,
"percent_delta": -0.0282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2203,
"delta": 0.0053,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.76,
"after": 3.6744,
"delta": -0.0856,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 44
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1036,
"predicted_3B": 0.0008,
"predicted_AB": 3.6744,
"predicted_AVG": 0.2195,
"predicted_BB": 0.4204,
"predicted_H": 0.8066,
"predicted_HBP": 0.087,
"predicted_HR": 0.1169,
"predicted_OBP": 0.2997,
"predicted_R": 0.5431,
"predicted_RBI": 0.5939,
"predicted_SLG": 0.3436,
"predicted_SO": 1.4314
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3213,
"after": 0.2997,
"delta": -0.0216,
"percent_delta": -0.0672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3615,
"after": 0.3436,
"delta": -0.0179,
"percent_delta": -0.0495,
"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.3213,
"after": 0.2997,
"delta": -0.0216,
"percent_delta": -0.0672,
"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.76), rates preserved: AVG=0.202 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1036,
"after": 0.0,
"delta": -0.1036,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.6744,
"after": 4.0,
"delta": 0.3256,
"percent_delta": 0.0886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4204,
"after": 0.0,
"delta": -0.4204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8066,
"after": 1.0,
"delta": 0.1934,
"percent_delta": 0.2398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.087,
"after": 0.0,
"delta": -0.087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1169,
"after": 0.0,
"delta": -0.1169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5939,
"after": 1.0,
"delta": 0.4061,
"percent_delta": 0.6838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4314,
"after": 2.0,
"delta": 0.5686,
"percent_delta": 0.3972,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.4314,
"after": 2.0,
"delta": 0.5686,
"percent_delta": 0.3972,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4204,
"after": 0.0,
"delta": -0.4204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.5431,
"after": 1.0,
"delta": 0.4569,
"percent_delta": 0.8413,
"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.5431,
"after": 1.0,
"delta": 0.4569,
"percent_delta": 0.8413,
"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.1525,
"predicted_3B": 0.0096,
"predicted_BB": 0.4404,
"predicted_H": 0.7421,
"predicted_HR": 0.104,
"predicted_RBI": 0.4879,
"predicted_SO": 1.8128
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1525,
"delta": 0.1525,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4404,
"delta": 0.4404,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7421,
"delta": -0.2579,
"percent_delta": -0.2579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.104,
"delta": 0.104,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4879,
"delta": -0.5121,
"percent_delta": -0.5121,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.8128,
"delta": -0.1872,
"percent_delta": -0.0936,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4404,
"delta": 0.4404,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4879,
"delta": -0.5121,
"percent_delta": -0.5121,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.203,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.294,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.335,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1525,
"after": 0.0,
"delta": -0.1525,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2195,
"after": 0.203,
"delta": -0.0165,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4404,
"after": 1.0,
"delta": 0.5596,
"percent_delta": 1.2707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7421,
"after": 1.0,
"delta": 0.2579,
"percent_delta": 0.3475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.104,
"after": 0.0,
"delta": -0.104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2997,
"after": 0.294,
"delta": -0.0057,
"percent_delta": -0.019,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4879,
"after": 1.0,
"delta": 0.5121,
"percent_delta": 1.0496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3436,
"after": 0.335,
"delta": -0.0086,
"percent_delta": -0.025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8128,
"after": 2.0,
"delta": 0.1872,
"percent_delta": 0.1033,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4404,
"after": 1.0,
"delta": 0.5596,
"percent_delta": 1.2707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1525,
"after": 0.0,
"delta": -0.1525,
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.294,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.335,
"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": 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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"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_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": 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": 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.198,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.299,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.334,
"predicted_SO": 3.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.198,
"delta": -0.005,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.299,
"delta": 0.005,
"percent_delta": 0.017,
"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_OBP",
"before": 0.294,
"after": 0.299,
"delta": 0.005,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.198,
"delta": -0.005,
"percent_delta": -0.0246,
"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.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.76,
"after": 3.0,
"delta": -0.76,
"percent_delta": -0.2021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.198,
"delta": -0.017,
"percent_delta": -0.0791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.432,
"after": 1.0,
"delta": 0.568,
"percent_delta": 1.3148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.087,
"after": 0.0,
"delta": -0.087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.299,
"delta": -0.024,
"percent_delta": -0.0743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.523,
"after": 0.0,
"delta": -0.523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.334,
"delta": -0.038,
"percent_delta": -0.1022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.409,
"after": 3.0,
"delta": 1.591,
"percent_delta": 1.1292,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 2,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.409,
"after": 3.0,
"delta": 1.591,
"percent_delta": 1.1292,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.091 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.760 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.432 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.523 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.372 | - |
| predicted_SO | 1.409 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.104 | 0.013 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.674 | -0.086 |
| predicted_AVG | 0.220 | 0.005 |
| predicted_BB | 0.419 | -0.013 |
| predicted_H | 0.810 | -0.000 |
| predicted_HBP | 0.087 | - |
| predicted_HR | 0.117 | -0.013 |
| predicted_OBP | 0.321 | -0.002 |
| predicted_R | 0.546 | 0.023 |
| predicted_RBI | 0.597 | -0.003 |
| predicted_SLG | 0.361 | -0.011 |
| predicted_SO | 1.435 | 0.026 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.104 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.674 | 0.000 |
| predicted_AVG | 0.220 | -0.001 |
| predicted_BB | 0.420 | 0.001 |
| predicted_H | 0.807 | -0.003 |
| predicted_HBP | 0.087 | 0.000 |
| predicted_HR | 0.117 | -0.000 |
| predicted_OBP | 0.300 | -0.022 |
| predicted_R | 0.543 | -0.003 |
| predicted_RBI | 0.594 | -0.003 |
| predicted_SLG | 0.344 | -0.018 |
| predicted_SO | 1.431 | -0.004 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.76), rates preserved: AVG=0.202 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.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 | 2.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.152 | 0.152 |
| 3B | 0.010 | 0.010 |
| BB | 0.440 | 0.440 |
| H | 0.742 | -0.258 |
| HR | 0.104 | 0.104 |
| RBI | 0.488 | -0.512 |
| SO | 1.813 | -0.187 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.152 |
| 3B | 0.000 | -0.010 |
| AB | 4.000 | 0.000 |
| AVG | 0.203 | - |
| BB | 1.000 | 0.560 |
| H | 1.000 | 0.258 |
| HR | 0.000 | -0.104 |
| OBP | 0.294 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.512 |
| SLG | 0.335 | - |
| SO | 2.000 | 0.187 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.104 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.326 |
| predicted_AVG | 0.203 | -0.016 |
| predicted_BB | 1.000 | 0.580 |
| predicted_H | 1.000 | 0.193 |
| predicted_HR | 0.000 | -0.117 |
| predicted_OBP | 0.294 | -0.006 |
| predicted_R | 1.000 | 0.457 |
| predicted_RBI | 1.000 | 0.406 |
| predicted_SLG | 0.335 | -0.009 |
| predicted_SO | 2.000 | 0.569 |
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 | 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 | 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 | 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 | - | 20.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 11.000 | 0.2000 | 0.2727 | 0.2500 | 0.2000 | 0.0000 | 0.1000 | 0.1000 | 0.5500 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 1.000 | 0.000 | 1.000 | 7.000 | 8.000 | 4.000 | 15.000 | 0.2973 | 0.3864 | 0.4054 | 0.2973 | 0.0270 | 0.1892 | 0.1081 | 0.4054 |
| season | 0.60 | 44 | - | 144.000 | 30.000 | 4.000 | 0.000 | 5.000 | 28.000 | 23.000 | 19.000 | 62.000 | 0.2083 | 0.3155 | 0.3403 | 0.2083 | 0.0347 | 0.1944 | 0.1319 | 0.4306 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1220 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5490 |
| predicted_AVG | 0.2280 |
| predicted_BB | 0.4010 |
| predicted_H | 0.8090 |
| predicted_HBP | 0.0870 |
| predicted_HR | 0.0980 |
| predicted_OBP | 0.3187 |
| predicted_R | 0.5800 |
| predicted_RBI | 0.5930 |
| predicted_SLG | 0.3461 |
| predicted_SO | 1.4730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.1220 | 0.1036 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.7600 | 3.5490 | 3.6744 | model_form_blend |
| predicted_AVG | 0.2150 | 0.2280 | 0.2203 | model_form_blend |
| predicted_BB | 0.4320 | 0.4010 | 0.4194 | model_form_blend |
| predicted_H | 0.8100 | 0.8090 | 0.8096 | model_form_blend |
| predicted_HBP | - | 0.0870 | 0.0870 | form_only |
| predicted_HR | 0.1300 | 0.0980 | 0.1170 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3187 | 0.3213 | model_form_blend |
| predicted_R | 0.5230 | 0.5800 | 0.5461 | model_form_blend |
| predicted_RBI | 0.6000 | 0.5930 | 0.5972 | model_form_blend |
| predicted_SLG | 0.3720 | 0.3461 | 0.3615 | model_form_blend |
| predicted_SO | 1.4090 | 1.4730 | 1.4350 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 121 |
| Season rows before report date | 121 |
| Report year | 2026 |
| Profile rows used | 44 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| 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 | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 691019 |
| playerID | 691019 |
| playerName | Kyle Teel |
| pos | C |
| started | True |
| startingPosition | C |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-08 |
| sl_k_percent | 35.4 |
| sl_bb_percent | 13.2 |
| sl_woba | 0.317 |
| sl_xwoba | 0.321 |
| sl_xba | 0.211 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 41.4 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 47.1 |
| sl_exit_velocity_avg | 85.7 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 35.6 |
| sl_swing_percent | 45.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.189 | 0.000 | 0.000 | Hitting_2B | 0.208 | 0.000 | -0.208 | 0.000 |
| predicted_3B | 0.006 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 3.701 | 3.000 | 3.000 | Hitting_AB | 3.808 | 2.000 | -0.808 | 1.000 |
| predicted_AVG | 0.271 | 0.000 | 0.000 | Hitting_AVG | 0.253 | 0.500 | -0.253 | -0.500 |
| predicted_BB | 0.665 | 1.000 | 1.000 | Hitting_BB | 0.647 | 3.000 | 0.353 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.870 | 0.000 | 0.000 | Hitting_H | 0.962 | 1.000 | -0.962 | -1.000 |
| predicted_HR | 0.250 | 0.000 | 0.000 | Hitting_HR | 0.217 | 1.000 | -0.217 | -1.000 |
| predicted_OBP | 0.443 | 0.250 | 0.250 | Hitting_OBP | 0.365 | 0.800 | -0.115 | -0.550 |
| predicted_R | 0.677 | 0.000 | 0.000 | Hitting_R | 0.710 | 2.000 | -0.710 | -2.000 |
| predicted_RBI | 0.520 | 1.000 | 1.000 | Hitting_RBI | 0.586 | 1.000 | 0.414 | 0.000 |
| predicted_SLG | 0.540 | 0.000 | 0.000 | Hitting_SLG | 0.481 | 2.000 | -0.481 | -2.000 |
| predicted_SO | 0.799 | 1.000 | 1.000 | Hitting_SO | 0.812 | 0.000 | 0.188 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_RBI: 0.5200 -> 1.0000 (boost 0.4800, better) |
| Biggest Deboost | predicted_H: 0.8700 -> 0.0000 (deboost -0.8700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 2 | 4 | 2 | 4 | predicted_BB: 0.6650 -> 0.8088 (boost 0.1438, better) | predicted_AB: 3.7010 -> 3.6098 (deboost -0.0912, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.4263 -> 0.3781 (deboost -0.0482, 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.6098 -> 4.0000 (boost 0.3902, better) | predicted_RBI: 0.4979 -> 0.0000 (deboost -0.4979, worse) | AB rounded to 4 (raw=3.70), rates preserved: AVG=0.218 HR/AB=0.060 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7239 -> 1.0000 (boost 0.2761, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 3 | 2 | 3 | 2 | predicted_RBI: 0.0000 -> 0.5170 (boost 0.5170, better) | predicted_BB: 1.0000 -> 0.5554 (deboost -0.4446, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 8 | 3 | 5 | 3 | 5 | predicted_RBI: 0.5170 -> 1.0000 (boost 0.4830, better) | predicted_HR: 0.1568 -> 0.0000 (deboost -0.1568, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 3 | 0 | 3 | 0 | 3 | - | predicted_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 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3390 -> 0.3540 (boost 0.0150, better) | predicted_AVG: 0.2310 -> 0.2210 (deboost -0.0100, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "3B",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.189,
"predicted_3B": 0.006,
"predicted_AB": 3.701,
"predicted_AVG": 0.271,
"predicted_BB": 0.665,
"predicted_H": 0.87,
"predicted_HR": 0.25,
"predicted_OBP": 0.443,
"predicted_R": 0.677,
"predicted_RBI": 0.52,
"predicted_SLG": 0.54,
"predicted_SO": 0.799
},
"changed_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.1539,
"predicted_3B": 0.0051,
"predicted_AB": 3.6098,
"predicted_AVG": 0.2597,
"predicted_BB": 0.8088,
"predicted_H": 0.8639,
"predicted_HBP": 0.024,
"predicted_HR": 0.2206,
"predicted_OBP": 0.4263,
"predicted_R": 0.7279,
"predicted_RBI": 0.5007,
"predicted_SLG": 0.4942,
"predicted_SO": 0.8113
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.701,
"after": 3.6098,
"delta": -0.0912,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2597,
"delta": -0.0113,
"percent_delta": -0.0417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.665,
"after": 0.8088,
"delta": 0.1438,
"percent_delta": 0.2162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.443,
"after": 0.4263,
"delta": -0.0167,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.677,
"after": 0.7279,
"delta": 0.0509,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.54,
"after": 0.4942,
"delta": -0.0458,
"percent_delta": -0.0848,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.665,
"after": 0.8088,
"delta": 0.1438,
"percent_delta": 0.2162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.701,
"after": 3.6098,
"delta": -0.0912,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 164
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1539,
"predicted_3B": 0.0051,
"predicted_AB": 3.6098,
"predicted_AVG": 0.2384,
"predicted_BB": 0.8108,
"predicted_H": 0.8607,
"predicted_HBP": 0.024,
"predicted_HR": 0.2203,
"predicted_OBP": 0.3781,
"predicted_R": 0.7239,
"predicted_RBI": 0.4979,
"predicted_SLG": 0.467,
"predicted_SO": 0.8093
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2597,
"after": 0.2384,
"delta": -0.0213,
"percent_delta": -0.082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.4263,
"after": 0.3781,
"delta": -0.0482,
"percent_delta": -0.1131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4942,
"after": 0.467,
"delta": -0.0272,
"percent_delta": -0.055,
"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.4263,
"after": 0.3781,
"delta": -0.0482,
"percent_delta": -0.1131,
"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.70), rates preserved: AVG=0.218 HR/AB=0.060",
"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.1539,
"after": 0.0,
"delta": -0.1539,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.6098,
"after": 4.0,
"delta": 0.3902,
"percent_delta": 0.1081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8108,
"after": 1.0,
"delta": 0.1892,
"percent_delta": 0.2333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8607,
"after": 1.0,
"delta": 0.1393,
"percent_delta": 0.1618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2203,
"after": 0.0,
"delta": -0.2203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4979,
"after": 0.0,
"delta": -0.4979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8093,
"after": 1.0,
"delta": 0.1907,
"percent_delta": 0.2356,
"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.6098,
"after": 4.0,
"delta": 0.3902,
"percent_delta": 0.1081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4979,
"after": 0.0,
"delta": -0.4979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8727,
"bvp": 0.1273
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.7239,
"after": 1.0,
"delta": 0.2761,
"percent_delta": 0.3814,
"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.7239,
"after": 1.0,
"delta": 0.2761,
"percent_delta": 0.3814,
"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.151,
"predicted_3B": 0.0075,
"predicted_BB": 0.5554,
"predicted_H": 0.8372,
"predicted_HR": 0.1568,
"predicted_RBI": 0.517,
"predicted_SO": 0.965
},
"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": 1.0,
"after": 0.5554,
"delta": -0.4446,
"percent_delta": -0.4446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8372,
"delta": -0.1628,
"percent_delta": -0.1628,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1568,
"delta": 0.1568,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.517,
"delta": 0.517,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.517,
"delta": 0.517,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5554,
"delta": -0.4446,
"percent_delta": -0.4446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.231,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.339,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.407,
"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.2384,
"after": 0.231,
"delta": -0.0074,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5554,
"after": 1.0,
"delta": 0.4446,
"percent_delta": 0.8005,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8372,
"after": 1.0,
"delta": 0.1628,
"percent_delta": 0.1945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1568,
"after": 0.0,
"delta": -0.1568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3781,
"after": 0.339,
"delta": -0.0391,
"percent_delta": -0.1034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.517,
"after": 1.0,
"delta": 0.483,
"percent_delta": 0.9342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.467,
"after": 0.407,
"delta": -0.06,
"percent_delta": -0.1285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.517,
"after": 1.0,
"delta": 0.483,
"percent_delta": 0.9342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1568,
"after": 0.0,
"delta": -0.1568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.231,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.339,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.407,
"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": 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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": 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.221,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.354,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.221,
"delta": -0.01,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.354,
"delta": 0.015,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.4,
"delta": -0.007,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.354,
"delta": 0.015,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.221,
"delta": -0.01,
"percent_delta": -0.0433,
"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.189,
"after": 0.0,
"delta": -0.189,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.701,
"after": 3.0,
"delta": -0.701,
"percent_delta": -0.1894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.221,
"delta": -0.05,
"percent_delta": -0.1845,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.665,
"after": 1.0,
"delta": 0.335,
"percent_delta": 0.5038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.443,
"after": 0.354,
"delta": -0.089,
"percent_delta": -0.2009,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.677,
"after": 0.0,
"delta": -0.677,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 1.0,
"delta": 0.48,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.54,
"after": 0.4,
"delta": -0.14,
"percent_delta": -0.2593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.799,
"after": 1.0,
"delta": 0.201,
"percent_delta": 0.2516,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.52,
"after": 1.0,
"delta": 0.48,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 3.701 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.665 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.443 | - |
| predicted_R | 0.677 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.540 | - |
| predicted_SO | 0.799 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | -0.035 |
| predicted_3B | 0.005 | -0.001 |
| predicted_AB | 3.610 | -0.091 |
| predicted_AVG | 0.260 | -0.011 |
| predicted_BB | 0.809 | 0.144 |
| predicted_H | 0.864 | -0.006 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.221 | -0.029 |
| predicted_OBP | 0.426 | -0.017 |
| predicted_R | 0.728 | 0.051 |
| predicted_RBI | 0.501 | -0.019 |
| predicted_SLG | 0.494 | -0.046 |
| predicted_SO | 0.811 | 0.012 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | 0.000 |
| predicted_3B | 0.005 | 0.000 |
| predicted_AB | 3.610 | 0.000 |
| predicted_AVG | 0.238 | -0.021 |
| predicted_BB | 0.811 | 0.002 |
| predicted_H | 0.861 | -0.003 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.220 | -0.000 |
| predicted_OBP | 0.378 | -0.048 |
| predicted_R | 0.724 | -0.004 |
| predicted_RBI | 0.498 | -0.003 |
| predicted_SLG | 0.467 | -0.027 |
| predicted_SO | 0.809 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.70), rates preserved: AVG=0.218 HR/AB=0.060
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.151 | 0.151 |
| 3B | 0.007 | 0.007 |
| BB | 0.555 | -0.445 |
| H | 0.837 | -0.163 |
| HR | 0.157 | 0.157 |
| RBI | 0.517 | 0.517 |
| SO | 0.965 | -0.035 |
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.007 |
| AB | 4.000 | 0.000 |
| AVG | 0.231 | - |
| BB | 1.000 | 0.445 |
| H | 1.000 | 0.163 |
| HR | 0.000 | -0.157 |
| OBP | 0.339 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.483 |
| SLG | 0.407 | - |
| SO | 1.000 | 0.035 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.154 |
| predicted_3B | 0.000 | -0.005 |
| predicted_AB | 4.000 | 0.390 |
| predicted_AVG | 0.231 | -0.007 |
| predicted_BB | 1.000 | 0.189 |
| predicted_H | 1.000 | 0.139 |
| predicted_HR | 0.000 | -0.220 |
| predicted_OBP | 0.339 | -0.039 |
| predicted_R | 1.000 | 0.276 |
| predicted_RBI | 1.000 | 0.502 |
| predicted_SLG | 0.407 | -0.060 |
| predicted_SO | 1.000 | 0.191 |
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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 0.000 | 0.000 | 1.000 | 1.000 | 5.000 | 8.000 | 4.000 | 0.2667 | 0.5217 | 0.4667 | 0.2667 | 0.0667 | 0.0667 | 0.5333 | 0.2667 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 0.000 | 0.000 | 1.000 | 5.000 | 9.000 | 13.000 | 9.000 | 0.2121 | 0.4255 | 0.3030 | 0.2121 | 0.0303 | 0.1515 | 0.3939 | 0.2727 |
| season | 0.60 | 164 | - | 607.000 | 151.000 | 31.000 | 1.000 | 34.000 | 94.000 | 111.000 | 109.000 | 131.000 | 0.2488 | 0.3658 | 0.4712 | 0.2488 | 0.0560 | 0.1549 | 0.1796 | 0.2158 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1090 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.4930 |
| predicted_AVG | 0.2452 |
| predicted_BB | 0.9930 |
| predicted_H | 0.8560 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.1830 |
| predicted_OBP | 0.4048 |
| predicted_R | 0.7930 |
| predicted_RBI | 0.4760 |
| predicted_SLG | 0.4355 |
| predicted_SO | 0.8270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1890 | 0.1090 | 0.1539 | model_form_blend |
| predicted_3B | 0.0060 | 0.0040 | 0.0051 | model_form_blend |
| predicted_AB | 3.7010 | 3.4930 | 3.6098 | model_form_blend |
| predicted_AVG | 0.2710 | 0.2452 | 0.2597 | model_form_blend |
| predicted_BB | 0.6650 | 0.9930 | 0.8088 | model_form_blend |
| predicted_H | 0.8700 | 0.8560 | 0.8639 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.2500 | 0.1830 | 0.2206 | model_form_blend |
| predicted_OBP | 0.4430 | 0.4048 | 0.4263 | model_form_blend |
| predicted_R | 0.6770 | 0.7930 | 0.7279 | model_form_blend |
| predicted_RBI | 0.5200 | 0.4760 | 0.5007 | model_form_blend |
| predicted_SLG | 0.5400 | 0.4355 | 0.4942 | model_form_blend |
| predicted_SO | 0.7990 | 0.8270 | 0.8113 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 677 |
| Season rows before report date | 677 |
| Report year | 2026 |
| Profile rows used | 164 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 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 | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 3 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 678246 |
| playerID | 678246 |
| playerName | Miguel Vargas |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-08 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.363 |
| sl_xwoba | 0.378 |
| sl_xba | 0.263 |
| sl_xslg | 0.496 |
| sl_sweet_spot_percent | 39.4 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 43.8 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 20.5 |
| sl_whiff_percent | 21.0 |
| sl_swing_percent | 43.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.120 | 0.000 | 0.000 | Hitting_2B | 0.131 | 0.000 | -0.131 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 3.586 | 4.000 | 4.000 | Hitting_AB | 3.684 | 3.000 | 0.316 | 1.000 |
| predicted_AVG | 0.208 | 0.250 | 0.250 | Hitting_AVG | 0.211 | 0.333 | 0.039 | -0.083 |
| predicted_BB | 0.714 | 0.000 | 0.000 | Hitting_BB | 0.778 | 2.000 | -0.778 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_H | 0.744 | 1.000 | 1.000 | Hitting_H | 0.776 | 1.000 | 0.224 | 0.000 |
| predicted_HR | 0.271 | 0.000 | 0.000 | Hitting_HR | 0.291 | 0.000 | -0.291 | 0.000 |
| predicted_OBP | 0.339 | 0.250 | 0.250 | Hitting_OBP | 0.354 | 0.600 | -0.104 | -0.350 |
| predicted_R | 0.639 | 1.000 | 1.000 | Hitting_R | 0.707 | 0.000 | 0.293 | 1.000 |
| predicted_RBI | 0.617 | 0.000 | 0.000 | Hitting_RBI | 0.622 | 1.000 | -0.622 | -1.000 |
| predicted_SLG | 0.472 | 0.250 | 0.250 | Hitting_SLG | 0.487 | 0.333 | -0.237 | -0.083 |
| predicted_SO | 1.564 | 3.000 | 3.000 | Hitting_SO | 1.580 | 1.000 | 1.420 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 1.5640 -> 3.0000 (boost 1.4360, worse) |
| Biggest Deboost | predicted_BB: 0.7140 -> 0.0000 (deboost -0.7140, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AB: 3.5860 -> 3.6592 (boost 0.0732, better) | predicted_BB: 0.7140 -> 0.6565 (deboost -0.0575, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 5 | 2 | 4 | 3 | predicted_SO: 1.5988 -> 2.0000 (boost 0.4012, worse) | predicted_HR: 0.2646 -> 0.0000 (deboost -0.2646, worse) | AB rounded to 4 (raw=3.66), rates preserved: AVG=0.198 HR/AB=0.072 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5965 -> 1.0000 (boost 0.4035, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 2 | 4 | 3 | 3 | predicted_HR: 0.0000 -> 0.2136 (boost 0.2136, better) | predicted_RBI: 1.0000 -> 0.5259 (deboost -0.4741, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 5 | 4 | 4 | 5 | predicted_HR: 0.2136 -> 1.0000 (boost 0.7864, better) | predicted_2B: 0.1496 -> 0.0000 (deboost -0.1496, 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: 2.0000 -> 3.0000 (boost 1.0000, worse) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3250 -> 0.3040 (deboost -0.0210, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "808959",
"player_name": "Munetaka Murakami",
"position": "1B",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.12,
"predicted_3B": 0.008,
"predicted_AB": 3.586,
"predicted_AVG": 0.208,
"predicted_BB": 0.714,
"predicted_H": 0.744,
"predicted_HR": 0.271,
"predicted_OBP": 0.339,
"predicted_R": 0.639,
"predicted_RBI": 0.617,
"predicted_SLG": 0.472,
"predicted_SO": 1.564
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1104,
"predicted_3B": 0.0067,
"predicted_AB": 3.6592,
"predicted_AVG": 0.2115,
"predicted_BB": 0.6565,
"predicted_H": 0.7736,
"predicted_HBP": 0.029,
"predicted_HR": 0.2649,
"predicted_OBP": 0.3319,
"predicted_R": 0.5998,
"predicted_RBI": 0.651,
"predicted_SLG": 0.4628,
"predicted_SO": 1.6028
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.586,
"after": 3.6592,
"delta": 0.0732,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.714,
"after": 0.6565,
"delta": -0.0575,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3319,
"delta": -0.0071,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.4628,
"delta": -0.0092,
"percent_delta": -0.0195,
"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.586,
"after": 3.6592,
"delta": 0.0732,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.714,
"after": 0.6565,
"delta": -0.0575,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 133
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1104,
"predicted_3B": 0.0067,
"predicted_AB": 3.6592,
"predicted_AVG": 0.2106,
"predicted_BB": 0.6581,
"predicted_H": 0.7707,
"predicted_HBP": 0.029,
"predicted_HR": 0.2646,
"predicted_OBP": 0.331,
"predicted_R": 0.5965,
"predicted_RBI": 0.6474,
"predicted_SLG": 0.4614,
"predicted_SO": 1.5988
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.66), rates preserved: AVG=0.198 HR/AB=0.072",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1104,
"after": 0.0,
"delta": -0.1104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.6592,
"after": 4.0,
"delta": 0.3408,
"percent_delta": 0.0931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6581,
"after": 1.0,
"delta": 0.3419,
"percent_delta": 0.5195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7707,
"after": 1.0,
"delta": 0.2293,
"percent_delta": 0.2975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2646,
"after": 0.0,
"delta": -0.2646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6474,
"after": 1.0,
"delta": 0.3526,
"percent_delta": 0.5446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5988,
"after": 2.0,
"delta": 0.4012,
"percent_delta": 0.2509,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.5988,
"after": 2.0,
"delta": 0.4012,
"percent_delta": 0.2509,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2646,
"after": 0.0,
"delta": -0.2646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.5965,
"after": 1.0,
"delta": 0.4035,
"percent_delta": 0.6764,
"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.5965,
"after": 1.0,
"delta": 0.4035,
"percent_delta": 0.6764,
"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.1496,
"predicted_3B": 0.0095,
"predicted_BB": 0.6621,
"predicted_H": 0.7467,
"predicted_HR": 0.2136,
"predicted_RBI": 0.5259,
"predicted_SO": 1.8851
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1496,
"delta": 0.1496,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.6621,
"delta": -0.3379,
"percent_delta": -0.3379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7467,
"delta": -0.2533,
"percent_delta": -0.2533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.2136,
"delta": 0.2136,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5259,
"delta": -0.4741,
"percent_delta": -0.4741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.8851,
"delta": -0.1149,
"percent_delta": -0.0575,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 0.2136,
"delta": 0.2136,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5259,
"delta": -0.4741,
"percent_delta": -0.4741,
"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.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.325,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.416,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1496,
"after": 0.0,
"delta": -0.1496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2106,
"after": 0.2,
"delta": -0.0106,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6621,
"after": 1.0,
"delta": 0.3379,
"percent_delta": 0.5103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7467,
"after": 1.0,
"delta": 0.2533,
"percent_delta": 0.3392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2136,
"after": 1.0,
"delta": 0.7864,
"percent_delta": 3.6816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.325,
"delta": -0.006,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5259,
"after": 1.0,
"delta": 0.4741,
"percent_delta": 0.9015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4614,
"after": 0.416,
"delta": -0.0454,
"percent_delta": -0.0984,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8851,
"after": 2.0,
"delta": 0.1149,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.2136,
"after": 1.0,
"delta": 0.7864,
"percent_delta": 3.6816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1496,
"after": 0.0,
"delta": -0.1496,
"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.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.325,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.416,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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_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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.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": 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.187,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.304,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.402,
"predicted_SO": 3.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.187,
"delta": -0.013,
"percent_delta": -0.065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.304,
"delta": -0.021,
"percent_delta": -0.0646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.402,
"delta": -0.014,
"percent_delta": -0.0337,
"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.325,
"after": 0.304,
"delta": -0.021,
"percent_delta": -0.0646,
"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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.586,
"after": 4.0,
"delta": 0.414,
"percent_delta": 0.1154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.187,
"delta": -0.021,
"percent_delta": -0.101,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.714,
"after": 0.0,
"delta": -0.714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.744,
"after": 1.0,
"delta": 0.256,
"percent_delta": 0.3441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.271,
"after": 0.0,
"delta": -0.271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.304,
"delta": -0.035,
"percent_delta": -0.1032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.639,
"after": 1.0,
"delta": 0.361,
"percent_delta": 0.5649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.617,
"after": 0.0,
"delta": -0.617,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.402,
"delta": -0.07,
"percent_delta": -0.1483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.564,
"after": 3.0,
"delta": 1.436,
"percent_delta": 0.9182,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.564,
"after": 3.0,
"delta": 1.436,
"percent_delta": 0.9182,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.714,
"after": 0.0,
"delta": -0.714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.120 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.586 | - |
| predicted_AVG | 0.208 | - |
| predicted_BB | 0.714 | - |
| predicted_H | 0.744 | - |
| predicted_HR | 0.271 | - |
| predicted_OBP | 0.339 | - |
| predicted_R | 0.639 | - |
| predicted_RBI | 0.617 | - |
| predicted_SLG | 0.472 | - |
| predicted_SO | 1.564 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.110 | -0.010 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.659 | 0.073 |
| predicted_AVG | 0.211 | 0.004 |
| predicted_BB | 0.656 | -0.057 |
| predicted_H | 0.774 | 0.030 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.265 | -0.006 |
| predicted_OBP | 0.332 | -0.007 |
| predicted_R | 0.600 | -0.039 |
| predicted_RBI | 0.651 | 0.034 |
| predicted_SLG | 0.463 | -0.009 |
| predicted_SO | 1.603 | 0.039 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.110 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.659 | 0.000 |
| predicted_AVG | 0.211 | -0.001 |
| predicted_BB | 0.658 | 0.002 |
| predicted_H | 0.771 | -0.003 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.265 | -0.000 |
| predicted_OBP | 0.331 | -0.001 |
| predicted_R | 0.597 | -0.003 |
| predicted_RBI | 0.647 | -0.004 |
| predicted_SLG | 0.461 | -0.001 |
| predicted_SO | 1.599 | -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.66), rates preserved: AVG=0.198 HR/AB=0.072
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.150 | 0.150 |
| 3B | 0.009 | 0.009 |
| BB | 0.662 | -0.338 |
| H | 0.747 | -0.253 |
| HR | 0.214 | 0.214 |
| RBI | 0.526 | -0.474 |
| SO | 1.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.150 |
| 3B | 0.000 | -0.009 |
| AB | 4.000 | 0.000 |
| AVG | 0.200 | - |
| BB | 1.000 | 0.338 |
| H | 1.000 | 0.253 |
| HR | 1.000 | 0.786 |
| OBP | 0.325 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.474 |
| SLG | 0.416 | - |
| SO | 2.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.110 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.341 |
| predicted_AVG | 0.200 | -0.011 |
| predicted_BB | 1.000 | 0.342 |
| predicted_H | 1.000 | 0.229 |
| predicted_HR | 1.000 | 0.735 |
| predicted_OBP | 0.325 | -0.006 |
| predicted_R | 1.000 | 0.403 |
| predicted_RBI | 1.000 | 0.353 |
| predicted_SLG | 0.416 | -0.045 |
| predicted_SO | 2.000 | 0.401 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | 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 | 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 | - | 20.000 | 4.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 2.000 | 10.000 | 0.2000 | 0.2727 | 0.3500 | 0.2000 | 0.0500 | 0.2000 | 0.1000 | 0.5000 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 1.000 | 0.000 | 3.000 | 9.000 | 6.000 | 4.000 | 18.000 | 0.2500 | 0.3111 | 0.5000 | 0.2500 | 0.0750 | 0.2250 | 0.1000 | 0.4500 |
| season | 0.60 | 133 | - | 477.000 | 99.000 | 16.000 | 1.000 | 36.000 | 82.000 | 85.000 | 95.000 | 208.000 | 0.2075 | 0.3448 | 0.4717 | 0.2076 | 0.0755 | 0.1719 | 0.1992 | 0.4361 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0980 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.7540 |
| predicted_AVG | 0.2161 |
| predicted_BB | 0.5820 |
| predicted_H | 0.8120 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.2570 |
| predicted_OBP | 0.3227 |
| predicted_R | 0.5490 |
| predicted_RBI | 0.6950 |
| predicted_SLG | 0.4508 |
| predicted_SO | 1.6530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1200 | 0.0980 | 0.1104 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 3.5860 | 3.7540 | 3.6592 | model_form_blend |
| predicted_AVG | 0.2080 | 0.2161 | 0.2115 | model_form_blend |
| predicted_BB | 0.7140 | 0.5820 | 0.6565 | model_form_blend |
| predicted_H | 0.7440 | 0.8120 | 0.7736 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.2710 | 0.2570 | 0.2649 | model_form_blend |
| predicted_OBP | 0.3390 | 0.3227 | 0.3319 | model_form_blend |
| predicted_R | 0.6390 | 0.5490 | 0.5998 | model_form_blend |
| predicted_RBI | 0.6170 | 0.6950 | 0.6510 | model_form_blend |
| predicted_SLG | 0.4720 | 0.4508 | 0.4628 | model_form_blend |
| predicted_SO | 1.5640 | 1.6530 | 1.6028 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 519 |
| Season rows before report date | 519 |
| Report year | 2026 |
| Profile rows used | 133 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 808959 |
| playerID | 808959 |
| playerName | Munetaka Murakami |
| pos | IF |
| started | True |
| startingPosition | 1B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-08 |
| sl_k_percent | 35.4 |
| sl_bb_percent | 16.6 |
| sl_woba | 0.356 |
| sl_xwoba | 0.351 |
| sl_xba | 0.204 |
| sl_xslg | 0.469 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 20.5 |
| sl_hard_hit_percent | 56.8 |
| sl_exit_velocity_avg | 93.9 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 42.3 |
| sl_swing_percent | 40.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.166 | 0.000 | 0.000 | Hitting_2B | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 2.945 | 3.000 | 3.000 | Hitting_AB | 3.439 | 1.000 | -0.439 | 2.000 |
| predicted_AVG | 0.228 | 0.000 | 0.000 | Hitting_AVG | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_BB | 0.283 | 1.000 | 1.000 | Hitting_BB | 0.320 | 0.000 | 0.680 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.250 | 0.000 | 0.000 | Hitting_H | 0.899 | 0.000 | -0.899 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_OBP | 0.287 | 0.250 | 0.250 | Hitting_OBP | 0.321 | 0.000 | -0.071 | 0.250 |
| predicted_R | 0.407 | 0.000 | 0.000 | Hitting_R | 0.522 | 0.000 | -0.522 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.621 | 0.000 | -0.621 | 0.000 |
| predicted_SLG | 0.357 | 0.000 | 0.000 | Hitting_SLG | 0.445 | 0.000 | -0.445 | 0.000 |
| predicted_SO | 0.800 | 2.000 | 2.000 | Hitting_SO | 0.842 | 1.000 | 1.158 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.8000 -> 2.0000 (boost 1.2000, worse) |
| Biggest Deboost | predicted_R: 0.4070 -> 0.0000 (deboost -0.4070, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 6 | 1 | 5 | 2 | predicted_RBI: 0.3600 -> 0.5162 (boost 0.1562, better) | predicted_AB: 2.9450 -> 2.7806 (deboost -0.1644, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3884 -> 0.2921 (deboost -0.0963, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5134 -> 1.0000 (boost 0.4866, better) | predicted_H: 0.3901 -> 0.0000 (deboost -0.3901, worse) | AB rounded to 3 (raw=2.94), rates preserved: AVG=0.124 HR/AB=0.030 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.385) |
| 7 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3970 -> 0.0000 (deboost -0.3970, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 3 | 2 | 3 | 2 | predicted_BB: 0.0000 -> 0.3178 (boost 0.3178, better) | predicted_RBI: 1.0000 -> 0.4950 (deboost -0.5050, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 8 | 4 | 4 | 4 | 4 | predicted_RBI: 0.4950 -> 1.0000 (boost 0.5050, better) | predicted_H: 0.7217 -> 0.0000 (deboost -0.7217, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 3 | 2 | 1 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 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.3080 -> 0.2640 (deboost -0.0440, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "643217",
"player_name": "Andrew Benintendi",
"position": "DH",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.166,
"predicted_3B": 0.014,
"predicted_AB": 2.945,
"predicted_AVG": 0.228,
"predicted_BB": 0.283,
"predicted_H": 0.25,
"predicted_HR": 0.05,
"predicted_OBP": 0.287,
"predicted_R": 0.407,
"predicted_RBI": 0.36,
"predicted_SLG": 0.357,
"predicted_SO": 0.8
},
"changed_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.1323,
"predicted_3B": 0.011,
"predicted_AB": 2.7806,
"predicted_AVG": 0.2266,
"predicted_BB": 0.3557,
"predicted_H": 0.3915,
"predicted_HBP": 0.005,
"predicted_HR": 0.0894,
"predicted_OBP": 0.3067,
"predicted_R": 0.3992,
"predicted_RBI": 0.5162,
"predicted_SLG": 0.3884,
"predicted_SO": 0.858
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 2.945,
"after": 2.7806,
"delta": -0.1644,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.283,
"after": 0.3557,
"delta": 0.0727,
"percent_delta": 0.2569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 0.3915,
"delta": 0.1415,
"percent_delta": 0.566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.3067,
"delta": 0.0197,
"percent_delta": 0.0686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.5162,
"delta": 0.1562,
"percent_delta": 0.4339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3884,
"delta": 0.0314,
"percent_delta": 0.088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8,
"after": 0.858,
"delta": 0.058,
"percent_delta": 0.0725,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 6,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.5162,
"delta": 0.1562,
"percent_delta": 0.4339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.945,
"after": 2.7806,
"delta": -0.1644,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 145
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1323,
"predicted_3B": 0.011,
"predicted_AB": 2.7806,
"predicted_AVG": 0.1403,
"predicted_BB": 0.3566,
"predicted_H": 0.3901,
"predicted_HBP": 0.005,
"predicted_HR": 0.0893,
"predicted_OBP": 0.238,
"predicted_R": 0.397,
"predicted_RBI": 0.5134,
"predicted_SLG": 0.2921,
"predicted_SO": 0.8559
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2266,
"after": 0.1403,
"delta": -0.0863,
"percent_delta": -0.3808,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3067,
"after": 0.238,
"delta": -0.0687,
"percent_delta": -0.224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3884,
"after": 0.2921,
"delta": -0.0963,
"percent_delta": -0.2479,
"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.3884,
"after": 0.2921,
"delta": -0.0963,
"percent_delta": -0.2479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.94), rates preserved: AVG=0.124 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1323,
"after": 0.0,
"delta": -0.1323,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.7806,
"after": 3.0,
"delta": 0.2194,
"percent_delta": 0.0789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3566,
"after": 0.0,
"delta": -0.3566,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3901,
"after": 0.0,
"delta": -0.3901,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0893,
"after": 0.0,
"delta": -0.0893,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5134,
"after": 1.0,
"delta": 0.4866,
"percent_delta": 0.9478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8559,
"after": 1.0,
"delta": 0.1441,
"percent_delta": 0.1684,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5134,
"after": 1.0,
"delta": 0.4866,
"percent_delta": 0.9478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3901,
"after": 0.0,
"delta": -0.3901,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.385)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 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.8791,
"bvp": 0.1209
}
},
{
"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": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"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.1631,
"predicted_3B": 0.0099,
"predicted_BB": 0.3178,
"predicted_H": 0.7217,
"predicted_HR": 0.0897,
"predicted_RBI": 0.495,
"predicted_SO": 1.0343
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1631,
"delta": 0.1631,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3178,
"delta": 0.3178,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7217,
"delta": -0.2783,
"percent_delta": -0.2783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0897,
"delta": 0.0897,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.495,
"delta": -0.505,
"percent_delta": -0.505,
"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.3178,
"delta": 0.3178,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.495,
"delta": -0.505,
"percent_delta": -0.505,
"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.232,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.308,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.377,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1631,
"after": 0.0,
"delta": -0.1631,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.1403,
"after": 0.232,
"delta": 0.0917,
"percent_delta": 0.6536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3178,
"after": 0.0,
"delta": -0.3178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7217,
"after": 0.0,
"delta": -0.7217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0897,
"after": 0.0,
"delta": -0.0897,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.238,
"after": 0.308,
"delta": 0.07,
"percent_delta": 0.2941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.495,
"after": 1.0,
"delta": 0.505,
"percent_delta": 1.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2921,
"after": 0.377,
"delta": 0.0849,
"percent_delta": 0.2907,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.495,
"after": 1.0,
"delta": 0.505,
"percent_delta": 1.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.7217,
"after": 0.0,
"delta": -0.7217,
"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.232,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.308,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.377,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 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_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 14,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.19,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.264,
"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_AVG",
"before": 0.232,
"after": 0.19,
"delta": -0.042,
"percent_delta": -0.181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.264,
"delta": -0.044,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.334,
"delta": -0.043,
"percent_delta": -0.1141,
"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.308,
"after": 0.264,
"delta": -0.044,
"percent_delta": -0.1429,
"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.166,
"after": 0.0,
"delta": -0.166,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.945,
"after": 3.0,
"delta": 0.055,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.19,
"delta": -0.038,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.283,
"after": 1.0,
"delta": 0.717,
"percent_delta": 2.5336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.264,
"delta": -0.023,
"percent_delta": -0.0801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.407,
"after": 0.0,
"delta": -0.407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.334,
"delta": -0.023,
"percent_delta": -0.0644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8,
"after": 2.0,
"delta": 1.2,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.8,
"after": 2.0,
"delta": 1.2,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.407,
"after": 0.0,
"delta": -0.407,
"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.166 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 2.945 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.283 | - |
| predicted_H | 0.250 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.407 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.357 | - |
| predicted_SO | 0.800 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.132 | -0.034 |
| predicted_3B | 0.011 | -0.003 |
| predicted_AB | 2.781 | -0.164 |
| predicted_AVG | 0.227 | -0.001 |
| predicted_BB | 0.356 | 0.073 |
| predicted_H | 0.392 | 0.142 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.089 | 0.039 |
| predicted_OBP | 0.307 | 0.020 |
| predicted_R | 0.399 | -0.008 |
| predicted_RBI | 0.516 | 0.156 |
| predicted_SLG | 0.388 | 0.031 |
| predicted_SO | 0.858 | 0.058 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.132 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 2.781 | 0.000 |
| predicted_AVG | 0.140 | -0.086 |
| predicted_BB | 0.357 | 0.001 |
| predicted_H | 0.390 | -0.001 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.089 | -0.000 |
| predicted_OBP | 0.238 | -0.069 |
| predicted_R | 0.397 | -0.002 |
| predicted_RBI | 0.513 | -0.003 |
| predicted_SLG | 0.292 | -0.096 |
| predicted_SO | 0.856 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.94), rates preserved: AVG=0.124 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.385)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 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 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.163 | 0.163 |
| 3B | 0.010 | 0.010 |
| BB | 0.318 | 0.318 |
| H | 0.722 | -0.278 |
| HR | 0.090 | 0.090 |
| RBI | 0.495 | -0.505 |
| SO | 1.034 | 0.034 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.163 |
| 3B | 0.000 | -0.010 |
| AB | 3.000 | 0.000 |
| AVG | 0.232 | - |
| BB | 0.000 | -0.318 |
| H | 0.000 | -0.722 |
| HR | 0.000 | -0.090 |
| OBP | 0.308 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.505 |
| SLG | 0.377 | - |
| SO | 1.000 | -0.034 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.132 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | 0.219 |
| predicted_AVG | 0.232 | 0.092 |
| predicted_BB | 0.000 | -0.357 |
| predicted_H | 0.000 | -0.390 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.308 | 0.070 |
| predicted_R | 0.000 | -0.397 |
| predicted_RBI | 1.000 | 0.487 |
| predicted_SLG | 0.377 | 0.085 |
| predicted_SO | 1.000 | 0.144 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 8.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 3.000 | 4.000 | 0.2500 | 0.4545 | 0.6250 | 0.2500 | 0.1250 | 0.5000 | 0.3750 | 0.5000 |
| last_10 | 0.20 | 10 | - | 20.000 | 3.000 | 0.000 | 0.000 | 1.000 | 8.000 | 2.000 | 5.000 | 11.000 | 0.1500 | 0.3077 | 0.3000 | 0.1500 | 0.0500 | 0.4000 | 0.2500 | 0.5500 |
| season | 0.60 | 145 | - | 427.000 | 102.000 | 24.000 | 2.000 | 15.000 | 79.000 | 59.000 | 41.000 | 116.000 | 0.2389 | 0.3032 | 0.4098 | 0.2389 | 0.0351 | 0.1850 | 0.0960 | 0.2717 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0880 |
| predicted_3B | 0.0070 |
| predicted_AB | 2.5650 |
| predicted_AVG | 0.2248 |
| predicted_BB | 0.4510 |
| predicted_H | 0.5770 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.1410 |
| predicted_OBP | 0.3326 |
| predicted_R | 0.3890 |
| predicted_RBI | 0.7210 |
| predicted_SLG | 0.4295 |
| predicted_SO | 0.9340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1660 | 0.0880 | 0.1323 | model_form_blend |
| predicted_3B | 0.0140 | 0.0070 | 0.0110 | model_form_blend |
| predicted_AB | 2.9450 | 2.5650 | 2.7806 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2248 | 0.2266 | model_form_blend |
| predicted_BB | 0.2830 | 0.4510 | 0.3557 | model_form_blend |
| predicted_H | 0.2500 | 0.5770 | 0.3915 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0500 | 0.1410 | 0.0894 | model_form_blend |
| predicted_OBP | 0.2870 | 0.3326 | 0.3067 | model_form_blend |
| predicted_R | 0.4070 | 0.3890 | 0.3992 | model_form_blend |
| predicted_RBI | 0.3600 | 0.7210 | 0.5162 | model_form_blend |
| predicted_SLG | 0.3570 | 0.4295 | 0.3884 | model_form_blend |
| predicted_SO | 0.8000 | 0.9340 | 0.8580 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 456 |
| Season rows before report date | 456 |
| Report year | 2026 |
| Profile rows used | 145 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20261008_CLE@CHW |
| game_type | ph |
| mlbID | 643217 |
| note | Struck out for Doyle, B in the 9th. |
| playerID | 643217 |
| playerName | Andrew Benintendi |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-08 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.311 |
| sl_xwoba | 0.307 |
| sl_xba | 0.24 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 45.1 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 17.3 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 51.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.209 | 1.000 | 1.000 | Hitting_2B | 0.252 | 0.000 | 0.748 | 1.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 2.974 | 4.000 | 4.000 | Hitting_AB | 3.205 | 3.000 | 0.795 | 1.000 |
| predicted_AVG | 0.266 | 0.250 | 0.250 | Hitting_AVG | 0.289 | 0.333 | -0.039 | -0.083 |
| predicted_BB | 0.242 | 0.000 | 0.000 | Hitting_BB | 0.271 | 0.000 | -0.271 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_H | 0.791 | 1.000 | 1.000 | Hitting_H | 0.926 | 1.000 | 0.074 | 0.000 |
| predicted_HR | 0.078 | 0.000 | 0.000 | Hitting_HR | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_OBP | 0.321 | 0.250 | 0.250 | Hitting_OBP | 0.355 | 0.333 | -0.105 | -0.083 |
| predicted_R | 0.405 | 1.000 | 1.000 | Hitting_R | 0.479 | 0.000 | 0.521 | 1.000 |
| predicted_RBI | 0.379 | 0.000 | 0.000 | Hitting_RBI | 0.483 | 0.000 | -0.483 | 0.000 |
| predicted_SLG | 0.433 | 0.500 | 0.500 | Hitting_SLG | 0.483 | 0.333 | 0.017 | 0.167 |
| predicted_SO | 0.634 | 1.000 | 1.000 | Hitting_SO | 0.612 | 1.000 | 0.388 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.9740 -> 4.0000 (boost 1.0260, better) |
| Biggest Deboost | predicted_RBI: 0.3790 -> 0.0000 (deboost -0.3790, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 0 | 2 | predicted_SO: 0.6340 -> 0.7103 (boost 0.0763, worse) | predicted_SLG: 0.4330 -> 0.4112 (deboost -0.0218, worse) | Final model input calibrated with local 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 | 2 | 4 | 1 | 5 | predicted_SO: 0.7085 -> 1.0000 (boost 0.2915, worse) | predicted_RBI: 0.3834 -> 0.0000 (deboost -0.3834, worse) | AB rounded to 3 (raw=3.00), rates preserved: AVG=0.246 HR/AB=0.022 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3717 -> 0.0000 (deboost -0.3717, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 4 | 1 | 4 | 1 | predicted_RBI: 0.0000 -> 0.3875 (boost 0.3875, better) | predicted_H: 1.0000 -> 0.7869 (deboost -0.2131, 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 | 2 | 6 | 2 | 6 | predicted_2B: 0.1809 -> 1.0000 (boost 0.8191, better) | predicted_RBI: 0.3875 -> 0.0000 (deboost -0.3875, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 2 | 2 | 0 | 2 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 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.2970 -> 0.2790 (deboost -0.0180, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "671976",
"player_name": "Tristan Peters",
"position": "RF",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.209,
"predicted_3B": 0.026,
"predicted_AB": 2.974,
"predicted_AVG": 0.266,
"predicted_BB": 0.242,
"predicted_H": 0.791,
"predicted_HR": 0.078,
"predicted_OBP": 0.321,
"predicted_R": 0.405,
"predicted_RBI": 0.379,
"predicted_SLG": 0.433,
"predicted_SO": 0.634
},
"changed_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.1995,
"predicted_3B": 0.0217,
"predicted_AB": 2.9983,
"predicted_AVG": 0.2633,
"predicted_BB": 0.2281,
"predicted_H": 0.7893,
"predicted_HBP": 0.039,
"predicted_HR": 0.0663,
"predicted_OBP": 0.3182,
"predicted_R": 0.3738,
"predicted_RBI": 0.3855,
"predicted_SLG": 0.4112,
"predicted_SO": 0.7103
},
"changed_metrics": [
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4112,
"delta": -0.0218,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.634,
"after": 0.7103,
"delta": 0.0763,
"percent_delta": 0.1203,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.634,
"after": 0.7103,
"delta": 0.0763,
"percent_delta": 0.1203,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4112,
"delta": -0.0218,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 153
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1995,
"predicted_3B": 0.0217,
"predicted_AB": 2.9983,
"predicted_AVG": 0.2623,
"predicted_BB": 0.2287,
"predicted_H": 0.7864,
"predicted_HBP": 0.039,
"predicted_HR": 0.0662,
"predicted_OBP": 0.3146,
"predicted_R": 0.3717,
"predicted_RBI": 0.3834,
"predicted_SLG": 0.4095,
"predicted_SO": 0.7085
},
"changed_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.00), rates preserved: AVG=0.246 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1995,
"after": 0.0,
"delta": -0.1995,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2287,
"after": 0.0,
"delta": -0.2287,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7864,
"after": 1.0,
"delta": 0.2136,
"percent_delta": 0.2716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0662,
"after": 0.0,
"delta": -0.0662,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3834,
"after": 0.0,
"delta": -0.3834,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7085,
"after": 1.0,
"delta": 0.2915,
"percent_delta": 0.4114,
"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.7085,
"after": 1.0,
"delta": 0.2915,
"percent_delta": 0.4114,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3834,
"after": 0.0,
"delta": -0.3834,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.3717,
"after": 0.0,
"delta": -0.3717,
"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.3717,
"after": 0.0,
"delta": -0.3717,
"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.1809,
"predicted_3B": 0.0151,
"predicted_BB": 0.3093,
"predicted_H": 0.7869,
"predicted_HR": 0.0849,
"predicted_RBI": 0.3875,
"predicted_SO": 0.9624
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1809,
"delta": 0.1809,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3093,
"delta": 0.3093,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7869,
"delta": -0.2131,
"percent_delta": -0.2131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0849,
"delta": 0.0849,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3875,
"delta": 0.3875,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3875,
"delta": 0.3875,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7869,
"delta": -0.2131,
"percent_delta": -0.2131,
"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": 3.0,
"predicted_AVG": 0.228,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.363,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1809,
"after": 1.0,
"delta": 0.8191,
"percent_delta": 4.5279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2623,
"after": 0.228,
"delta": -0.0343,
"percent_delta": -0.1308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3093,
"after": 0.0,
"delta": -0.3093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7869,
"after": 1.0,
"delta": 0.2131,
"percent_delta": 0.2708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0849,
"after": 0.0,
"delta": -0.0849,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3146,
"after": 0.297,
"delta": -0.0176,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3875,
"after": 0.0,
"delta": -0.3875,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4095,
"after": 0.363,
"delta": -0.0465,
"percent_delta": -0.1136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.1809,
"after": 1.0,
"delta": 0.8191,
"percent_delta": 4.5279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3875,
"after": 0.0,
"delta": -0.3875,
"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": 3.0,
"predicted_AVG": 0.228,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.363,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 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": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_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
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 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": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"reference_only": true
},
{
"index": 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": 4.0,
"predicted_AVG": 0.211,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.279,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.351,
"predicted_SO": 1.0,
"predicted_TB": 2.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.211,
"delta": -0.017,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.279,
"delta": -0.018,
"percent_delta": -0.0606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.351,
"delta": -0.012,
"percent_delta": -0.0331,
"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.297,
"after": 0.279,
"delta": -0.018,
"percent_delta": -0.0606,
"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": 1.0,
"delta": 0.791,
"percent_delta": 3.7847,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.974,
"after": 4.0,
"delta": 1.026,
"percent_delta": 0.345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.211,
"delta": -0.055,
"percent_delta": -0.2068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.242,
"after": 0.0,
"delta": -0.242,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.791,
"after": 1.0,
"delta": 0.209,
"percent_delta": 0.2642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.078,
"after": 0.0,
"delta": -0.078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.279,
"delta": -0.042,
"percent_delta": -0.1308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 1.0,
"delta": 0.595,
"percent_delta": 1.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.379,
"after": 0.0,
"delta": -0.379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.351,
"delta": -0.082,
"percent_delta": -0.1894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.634,
"after": 1.0,
"delta": 0.366,
"percent_delta": 0.5773,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.974,
"after": 4.0,
"delta": 1.026,
"percent_delta": 0.345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.379,
"after": 0.0,
"delta": -0.379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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.026 | - |
| predicted_AB | 2.974 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.242 | - |
| predicted_H | 0.791 | - |
| predicted_HR | 0.078 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.405 | - |
| predicted_RBI | 0.379 | - |
| predicted_SLG | 0.433 | - |
| predicted_SO | 0.634 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | -0.009 |
| predicted_3B | 0.022 | -0.004 |
| predicted_AB | 2.998 | 0.024 |
| predicted_AVG | 0.263 | -0.003 |
| predicted_BB | 0.228 | -0.014 |
| predicted_H | 0.789 | -0.002 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.066 | -0.012 |
| predicted_OBP | 0.318 | -0.003 |
| predicted_R | 0.374 | -0.031 |
| predicted_RBI | 0.386 | 0.007 |
| predicted_SLG | 0.411 | -0.022 |
| predicted_SO | 0.710 | 0.076 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 2.998 | 0.000 |
| predicted_AVG | 0.262 | -0.001 |
| predicted_BB | 0.229 | 0.001 |
| predicted_H | 0.786 | -0.003 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.066 | -0.000 |
| predicted_OBP | 0.315 | -0.004 |
| predicted_R | 0.372 | -0.002 |
| predicted_RBI | 0.383 | -0.002 |
| predicted_SLG | 0.409 | -0.002 |
| predicted_SO | 0.709 | -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.00), rates preserved: AVG=0.246 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.181 | 0.181 |
| 3B | 0.015 | 0.015 |
| BB | 0.309 | 0.309 |
| H | 0.787 | -0.213 |
| HR | 0.085 | 0.085 |
| RBI | 0.388 | 0.388 |
| SO | 0.962 | -0.038 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.819 |
| 3B | 0.000 | -0.015 |
| AB | 3.000 | 0.000 |
| AVG | 0.228 | - |
| BB | 0.000 | -0.309 |
| H | 1.000 | 0.213 |
| HR | 0.000 | -0.085 |
| OBP | 0.297 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.388 |
| SLG | 0.363 | - |
| SO | 1.000 | 0.038 |
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.800 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | 0.002 |
| predicted_AVG | 0.228 | -0.034 |
| predicted_BB | 0.000 | -0.229 |
| predicted_H | 1.000 | 0.214 |
| predicted_HR | 0.000 | -0.066 |
| predicted_OBP | 0.297 | -0.018 |
| predicted_R | 0.000 | -0.372 |
| predicted_RBI | 0.000 | -0.383 |
| predicted_SLG | 0.363 | -0.046 |
| predicted_SO | 1.000 | 0.291 |
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 | 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 | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 6.000 | 0.2857 | 0.3333 | 0.3571 | 0.2857 | 0.0000 | 0.1429 | 0.0714 | 0.4286 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 1.000 | 0.000 | 0.000 | 4.000 | 2.000 | 1.000 | 9.000 | 0.2188 | 0.2424 | 0.2500 | 0.2188 | 0.0000 | 0.1250 | 0.0312 | 0.2812 |
| season | 0.60 | 153 | - | 455.000 | 121.000 | 32.000 | 4.000 | 12.000 | 58.000 | 62.000 | 37.000 | 97.000 | 0.2659 | 0.3333 | 0.4330 | 0.2659 | 0.0264 | 0.1275 | 0.0813 | 0.2132 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1870 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.0300 |
| predicted_AVG | 0.2597 |
| predicted_BB | 0.2100 |
| predicted_H | 0.7870 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.0510 |
| predicted_OBP | 0.3146 |
| predicted_R | 0.3330 |
| predicted_RBI | 0.3940 |
| predicted_SLG | 0.3827 |
| predicted_SO | 0.8100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2090 | 0.1870 | 0.1995 | model_form_blend |
| predicted_3B | 0.0260 | 0.0160 | 0.0217 | model_form_blend |
| predicted_AB | 2.9740 | 3.0300 | 2.9983 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2597 | 0.2633 | model_form_blend |
| predicted_BB | 0.2420 | 0.2100 | 0.2281 | model_form_blend |
| predicted_H | 0.7910 | 0.7870 | 0.7893 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.0780 | 0.0510 | 0.0663 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3146 | 0.3182 | model_form_blend |
| predicted_R | 0.4050 | 0.3330 | 0.3738 | model_form_blend |
| predicted_RBI | 0.3790 | 0.3940 | 0.3855 | model_form_blend |
| predicted_SLG | 0.4330 | 0.3827 | 0.4112 | model_form_blend |
| predicted_SO | 0.6340 | 0.8100 | 0.7103 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 484 |
| Season rows before report date | 484 |
| Report year | 2026 |
| Profile rows used | 153 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-LF |
| gameID | 20261008_CLE@CHW |
| game_type | ph |
| mlbID | 671976 |
| note | Struck out for Grichuk in the 5th. |
| playerID | 671976 |
| playerName | Tristan Peters |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-08 |
| sl_k_percent | 18.3 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.34 |
| sl_xwoba | 0.314 |
| sl_xba | 0.248 |
| sl_xslg | 0.384 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 34.1 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 18.0 |
| sl_whiff_percent | 23.0 |
| sl_swing_percent | 53.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.208 | 0.000 | 0.000 | Hitting_2B | 0.206 | 1.000 | -0.206 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.860 | 4.000 | 4.000 | Hitting_AB | 3.773 | 4.000 | 0.227 | 0.000 |
| predicted_AVG | 0.269 | 0.500 | 0.500 | Hitting_AVG | 0.279 | 0.250 | 0.221 | 0.250 |
| predicted_BB | 0.390 | 0.000 | 0.000 | Hitting_BB | 0.435 | 1.000 | -0.435 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_H | 1.040 | 2.000 | 2.000 | Hitting_H | 1.051 | 1.000 | 0.949 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.363 | 0.500 | 0.500 | Hitting_OBP | 0.356 | 0.400 | 0.144 | 0.100 |
| predicted_R | 0.597 | 1.000 | 1.000 | Hitting_R | 0.628 | 2.000 | 0.372 | -1.000 |
| predicted_RBI | 0.500 | 2.000 | 2.000 | Hitting_RBI | 0.433 | 0.000 | 1.567 | 2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_SLG | 0.454 | 0.500 | 0.500 | Hitting_SLG | 0.423 | 0.500 | 0.077 | 0.000 |
| predicted_SO | 0.918 | 1.000 | 1.000 | Hitting_SO | 0.938 | 0.000 | 0.062 | 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_RBI: 0.5000 -> 2.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_BB: 0.3900 -> 0.0000 (deboost -0.3900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_H: 1.0400 -> 1.0973 (boost 0.0573, better) | predicted_AB: 3.8600 -> 3.7931 (deboost -0.0669, worse) | Final model input calibrated with local 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.4777 -> 0.4547 (deboost -0.0230, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 3.7931 -> 4.0000 (boost 0.2069, better) | predicted_RBI: 0.5460 -> 0.0000 (deboost -0.5460, worse) | AB rounded to 4 (raw=3.86), rates preserved: AVG=0.266 HR/AB=0.034 |
| 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.6259 -> 1.0000 (boost 0.3741, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.3725 (boost 0.3725, better) | predicted_H: 1.0000 -> 0.8482 (deboost -0.1518, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 1 | 8 | 2 | 7 | predicted_H: 0.8482 -> 1.0000 (boost 0.1518, better) | predicted_RBI: 0.3725 -> 0.0000 (deboost -0.3725, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 2 | 2 | 0 | 2 | 0 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3680 -> 0.3530 (deboost -0.0150, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "805367",
"player_name": "Chase Meidroth",
"position": "2B",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.208,
"predicted_3B": 0.0,
"predicted_AB": 3.86,
"predicted_AVG": 0.269,
"predicted_BB": 0.39,
"predicted_H": 1.04,
"predicted_HR": 0.12,
"predicted_OBP": 0.363,
"predicted_R": 0.597,
"predicted_RBI": 0.5,
"predicted_SLG": 0.454,
"predicted_SO": 0.918
},
"changed_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.2395,
"predicted_3B": 0.0004,
"predicted_AB": 3.7931,
"predicted_AVG": 0.2896,
"predicted_BB": 0.3808,
"predicted_H": 1.0973,
"predicted_HBP": 0.023,
"predicted_HR": 0.1305,
"predicted_OBP": 0.3708,
"predicted_R": 0.6294,
"predicted_RBI": 0.549,
"predicted_SLG": 0.4777,
"predicted_SO": 0.9049
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.86,
"after": 3.7931,
"delta": -0.0669,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2896,
"delta": 0.0206,
"percent_delta": 0.0766,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0973,
"delta": 0.0573,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.3708,
"delta": 0.0078,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4777,
"delta": 0.0237,
"percent_delta": 0.0522,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.04,
"after": 1.0973,
"delta": 0.0573,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.86,
"after": 3.7931,
"delta": -0.0669,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 159
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2395,
"predicted_3B": 0.0004,
"predicted_AB": 3.7931,
"predicted_AVG": 0.2882,
"predicted_BB": 0.3818,
"predicted_H": 1.0932,
"predicted_HBP": 0.023,
"predicted_HR": 0.1303,
"predicted_OBP": 0.3533,
"predicted_R": 0.6259,
"predicted_RBI": 0.546,
"predicted_SLG": 0.4547,
"predicted_SO": 0.9026
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3708,
"after": 0.3533,
"delta": -0.0175,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4777,
"after": 0.4547,
"delta": -0.023,
"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.4777,
"after": 0.4547,
"delta": -0.023,
"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=3.86), rates preserved: AVG=0.266 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2395,
"after": 0.0,
"delta": -0.2395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7931,
"after": 4.0,
"delta": 0.2069,
"percent_delta": 0.0545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3818,
"after": 0.0,
"delta": -0.3818,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0932,
"after": 1.0,
"delta": -0.0932,
"percent_delta": -0.0853,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1303,
"after": 0.0,
"delta": -0.1303,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.546,
"after": 0.0,
"delta": -0.546,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9026,
"after": 1.0,
"delta": 0.0974,
"percent_delta": 0.1079,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7931,
"after": 4.0,
"delta": 0.2069,
"percent_delta": 0.0545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.546,
"after": 0.0,
"delta": -0.546,
"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.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.6259,
"after": 1.0,
"delta": 0.3741,
"percent_delta": 0.5977,
"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.6259,
"after": 1.0,
"delta": 0.3741,
"percent_delta": 0.5977,
"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.1614,
"predicted_3B": 0.006,
"predicted_BB": 0.3555,
"predicted_H": 0.8482,
"predicted_HR": 0.0889,
"predicted_RBI": 0.3725,
"predicted_SO": 1.106
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1614,
"delta": 0.1614,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3555,
"delta": 0.3555,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8482,
"delta": -0.1518,
"percent_delta": -0.1518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0889,
"delta": 0.0889,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3725,
"delta": 0.3725,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.106,
"delta": 0.106,
"percent_delta": 0.106,
"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.3725,
"delta": 0.3725,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8482,
"delta": -0.1518,
"percent_delta": -0.1518,
"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.242,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.317,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.368,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1614,
"after": 0.0,
"delta": -0.1614,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2882,
"after": 0.242,
"delta": -0.0462,
"percent_delta": -0.1603,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3555,
"after": 0.0,
"delta": -0.3555,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8482,
"after": 1.0,
"delta": 0.1518,
"percent_delta": 0.179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0889,
"after": 0.0,
"delta": -0.0889,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3533,
"after": 0.317,
"delta": -0.0363,
"percent_delta": -0.1027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3725,
"after": 0.0,
"delta": -0.3725,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4547,
"after": 0.368,
"delta": -0.0867,
"percent_delta": -0.1907,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.106,
"after": 1.0,
"delta": -0.106,
"percent_delta": -0.0958,
"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.8482,
"after": 1.0,
"delta": 0.1518,
"percent_delta": 0.179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3725,
"after": 0.0,
"delta": -0.3725,
"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.242,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.317,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.368,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 14,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"reference_only": true
},
{
"index": 15,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.229,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.312,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.353,
"predicted_SO": 1.0,
"predicted_TB": 2.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.229,
"delta": -0.013,
"percent_delta": -0.0537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.312,
"delta": -0.005,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.353,
"delta": -0.015,
"percent_delta": -0.0408,
"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.368,
"after": 0.353,
"delta": -0.015,
"percent_delta": -0.0408,
"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.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.86,
"after": 4.0,
"delta": 0.14,
"percent_delta": 0.0363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.229,
"delta": -0.04,
"percent_delta": -0.1487,
"direction": "deboost",
"projection_effect": "worse",
"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_H",
"before": 1.04,
"after": 2.0,
"delta": 0.96,
"percent_delta": 0.9231,
"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.363,
"after": 0.312,
"delta": -0.051,
"percent_delta": -0.1405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.597,
"after": 1.0,
"delta": 0.403,
"percent_delta": 0.675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 2.0,
"delta": 1.5,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.353,
"delta": -0.101,
"percent_delta": -0.2225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.918,
"after": 1.0,
"delta": 0.082,
"percent_delta": 0.0893,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5,
"after": 2.0,
"delta": 1.5,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.208 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.860 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.390 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.363 | - |
| predicted_R | 0.597 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.454 | - |
| predicted_SO | 0.918 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.239 | 0.032 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.793 | -0.067 |
| predicted_AVG | 0.290 | 0.021 |
| predicted_BB | 0.381 | -0.009 |
| predicted_H | 1.097 | 0.057 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.131 | 0.011 |
| predicted_OBP | 0.371 | 0.008 |
| predicted_R | 0.629 | 0.032 |
| predicted_RBI | 0.549 | 0.049 |
| predicted_SLG | 0.478 | 0.024 |
| predicted_SO | 0.905 | -0.013 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.239 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.793 | 0.000 |
| predicted_AVG | 0.288 | -0.001 |
| predicted_BB | 0.382 | 0.001 |
| predicted_H | 1.093 | -0.004 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.130 | -0.000 |
| predicted_OBP | 0.353 | -0.018 |
| predicted_R | 0.626 | -0.003 |
| predicted_RBI | 0.546 | -0.003 |
| predicted_SLG | 0.455 | -0.023 |
| predicted_SO | 0.903 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.86), rates preserved: AVG=0.266 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=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.161 | 0.161 |
| 3B | 0.006 | 0.006 |
| BB | 0.355 | 0.355 |
| H | 0.848 | -0.152 |
| HR | 0.089 | 0.089 |
| RBI | 0.372 | 0.372 |
| SO | 1.106 | 0.106 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.161 |
| 3B | 0.000 | -0.006 |
| AB | 4.000 | 0.000 |
| AVG | 0.242 | - |
| BB | 0.000 | -0.355 |
| H | 1.000 | 0.152 |
| HR | 0.000 | -0.089 |
| OBP | 0.317 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.372 |
| SLG | 0.368 | - |
| SO | 1.000 | -0.106 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.239 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.207 |
| predicted_AVG | 0.242 | -0.046 |
| predicted_BB | 0.000 | -0.382 |
| predicted_H | 1.000 | -0.093 |
| predicted_HR | 0.000 | -0.130 |
| predicted_OBP | 0.317 | -0.036 |
| predicted_R | 1.000 | 0.374 |
| predicted_RBI | 0.000 | -0.546 |
| predicted_SLG | 0.368 | -0.087 |
| predicted_SO | 1.000 | 0.097 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 6.000 | 2.000 | 0.000 | 1.000 | 4.000 | 4.000 | 2.000 | 5.000 | 0.3158 | 0.3810 | 0.5789 | 0.3158 | 0.0526 | 0.2105 | 0.1053 | 0.2632 |
| last_10 | 0.20 | 10 | - | 36.000 | 16.000 | 4.000 | 0.000 | 2.000 | 10.000 | 8.000 | 3.000 | 7.000 | 0.4444 | 0.4872 | 0.7222 | 0.4444 | 0.0556 | 0.2778 | 0.0833 | 0.1944 |
| season | 0.60 | 159 | - | 589.000 | 164.000 | 33.000 | 0.000 | 17.000 | 68.000 | 95.000 | 62.000 | 146.000 | 0.2784 | 0.3510 | 0.4211 | 0.2784 | 0.0289 | 0.1154 | 0.1053 | 0.2479 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2800 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7070 |
| predicted_AVG | 0.3160 |
| predicted_BB | 0.3690 |
| predicted_H | 1.1710 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.1440 |
| predicted_OBP | 0.3808 |
| predicted_R | 0.6710 |
| predicted_RBI | 0.6120 |
| predicted_SLG | 0.5083 |
| predicted_SO | 0.8880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2080 | 0.2800 | 0.2395 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8600 | 3.7070 | 3.7931 | model_form_blend |
| predicted_AVG | 0.2690 | 0.3160 | 0.2896 | model_form_blend |
| predicted_BB | 0.3900 | 0.3690 | 0.3808 | model_form_blend |
| predicted_H | 1.0400 | 1.1710 | 1.0973 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.1200 | 0.1440 | 0.1305 | model_form_blend |
| predicted_OBP | 0.3630 | 0.3808 | 0.3708 | model_form_blend |
| predicted_R | 0.5970 | 0.6710 | 0.6294 | model_form_blend |
| predicted_RBI | 0.5000 | 0.6120 | 0.5490 | model_form_blend |
| predicted_SLG | 0.4540 | 0.5083 | 0.4777 | model_form_blend |
| predicted_SO | 0.9180 | 0.8880 | 0.9049 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 626 |
| Season rows before report date | 626 |
| Report year | 2026 |
| Profile rows used | 159 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 805367 |
| playerID | 805367 |
| playerName | Chase Meidroth |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-08 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.339 |
| sl_xwoba | 0.301 |
| sl_xba | 0.239 |
| sl_xslg | 0.348 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 34.6 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 8.5 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 42.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.157 | 0.000 | 0.000 | Hitting_2B | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.700 | 4.000 | 4.000 | Hitting_AB | 3.817 | 4.000 | 0.183 | 0.000 |
| predicted_AVG | 0.203 | 0.250 | 0.250 | Hitting_AVG | 0.206 | 0.500 | 0.044 | -0.250 |
| predicted_BB | 0.352 | 0.000 | 0.000 | Hitting_BB | 0.373 | 0.000 | -0.373 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_H | 0.750 | 1.000 | 1.000 | Hitting_H | 0.787 | 2.000 | 0.213 | -1.000 |
| predicted_HR | 0.130 | 1.000 | 1.000 | Hitting_HR | 0.218 | 0.000 | 0.782 | 1.000 |
| predicted_OBP | 0.288 | 0.250 | 0.250 | Hitting_OBP | 0.292 | 0.500 | -0.042 | -0.250 |
| predicted_R | 0.459 | 1.000 | 1.000 | Hitting_R | 0.505 | 1.000 | 0.495 | 0.000 |
| predicted_RBI | 0.420 | 2.000 | 2.000 | Hitting_RBI | 0.615 | 0.000 | 1.385 | 2.000 |
| predicted_SLG | 0.351 | 1.000 | 1.000 | Hitting_SLG | 0.423 | 0.500 | 0.577 | 0.500 |
| predicted_SO | 1.484 | 3.000 | 3.000 | Hitting_SO | 1.505 | 1.000 | 1.495 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_RBI: 0.4200 -> 2.0000 (boost 1.5800, better) |
| Biggest Deboost | predicted_BB: 0.3520 -> 0.0000 (deboost -0.3520, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3510 -> 0.3567 (boost 0.0057, better) | predicted_AB: 3.7000 -> 3.6160 (deboost -0.0840, worse) | Final model input calibrated with local 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.2914 -> 0.2712 (deboost -0.0202, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 1.4755 -> 2.0000 (boost 0.5245, worse) | predicted_AB: 3.6160 -> 3.0000 (deboost -0.6160, worse) | AB rounded to 3 (raw=3.70), rates preserved: AVG=0.186 HR/AB=0.036 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4108 -> 0.0000 (deboost -0.4108, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4080 (boost 0.4080, better) | predicted_H: 1.0000 -> 0.6137 (deboost -0.3863, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 7 | 1 | 6 | 0 | 7 | predicted_SO: 1.7087 -> 2.0000 (boost 0.2913, worse) | predicted_H: 0.6137 -> 0.0000 (deboost -0.6137, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 6 | 6 | 0 | 5 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.1900 -> 0.1630 (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": "695657",
"player_name": "Colson Montgomery",
"position": "SS",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.0,
"predicted_AB": 3.7,
"predicted_AVG": 0.203,
"predicted_BB": 0.352,
"predicted_H": 0.75,
"predicted_HR": 0.13,
"predicted_OBP": 0.288,
"predicted_R": 0.459,
"predicted_RBI": 0.42,
"predicted_SLG": 0.351,
"predicted_SO": 1.484
},
"changed_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.1566,
"predicted_3B": 0.0004,
"predicted_AB": 3.616,
"predicted_AVG": 0.203,
"predicted_BB": 0.3419,
"predicted_H": 0.7334,
"predicted_HBP": 0.14,
"predicted_HR": 0.1326,
"predicted_OBP": 0.2914,
"predicted_R": 0.4131,
"predicted_RBI": 0.4148,
"predicted_SLG": 0.3567,
"predicted_SO": 1.4792
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.7,
"after": 3.616,
"delta": -0.084,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3567,
"delta": 0.0057,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3567,
"delta": 0.0057,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.7,
"after": 3.616,
"delta": -0.084,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 159
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1566,
"predicted_3B": 0.0004,
"predicted_AB": 3.616,
"predicted_AVG": 0.2021,
"predicted_BB": 0.3428,
"predicted_H": 0.7307,
"predicted_HBP": 0.14,
"predicted_HR": 0.1324,
"predicted_OBP": 0.2712,
"predicted_R": 0.4108,
"predicted_RBI": 0.4125,
"predicted_SLG": 0.3555,
"predicted_SO": 1.4755
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.2914,
"after": 0.2712,
"delta": -0.0202,
"percent_delta": -0.0693,
"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.2914,
"after": 0.2712,
"delta": -0.0202,
"percent_delta": -0.0693,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.70), rates preserved: AVG=0.186 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1566,
"after": 0.0,
"delta": -0.1566,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.616,
"after": 3.0,
"delta": -0.616,
"percent_delta": -0.1704,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3428,
"after": 0.0,
"delta": -0.3428,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7307,
"after": 1.0,
"delta": 0.2693,
"percent_delta": 0.3686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1324,
"after": 0.0,
"delta": -0.1324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4125,
"after": 0.0,
"delta": -0.4125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4755,
"after": 2.0,
"delta": 0.5245,
"percent_delta": 0.3555,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.4755,
"after": 2.0,
"delta": 0.5245,
"percent_delta": 0.3555,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.616,
"after": 3.0,
"delta": -0.616,
"percent_delta": -0.1704,
"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.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": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9077,
"bvp": 0.0923
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.4108,
"after": 0.0,
"delta": -0.4108,
"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.4108,
"after": 0.0,
"delta": -0.4108,
"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.1387,
"predicted_3B": 0.0059,
"predicted_BB": 0.3241,
"predicted_H": 0.6137,
"predicted_HR": 0.1319,
"predicted_RBI": 0.408,
"predicted_SO": 1.7087
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1387,
"delta": 0.1387,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3241,
"delta": 0.3241,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6137,
"delta": -0.3863,
"percent_delta": -0.3863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1319,
"delta": 0.1319,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.408,
"delta": 0.408,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.7087,
"delta": -0.2913,
"percent_delta": -0.1456,
"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.408,
"delta": 0.408,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.6137,
"delta": -0.3863,
"percent_delta": -0.3863,
"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.19,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.27,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.359,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1387,
"after": 0.0,
"delta": -0.1387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2021,
"after": 0.19,
"delta": -0.0121,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3241,
"after": 0.0,
"delta": -0.3241,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6137,
"after": 0.0,
"delta": -0.6137,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1319,
"after": 0.0,
"delta": -0.1319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.408,
"after": 0.0,
"delta": -0.408,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7087,
"after": 2.0,
"delta": 0.2913,
"percent_delta": 0.1705,
"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": 1.7087,
"after": 2.0,
"delta": 0.2913,
"percent_delta": 0.1705,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6137,
"after": 0.0,
"delta": -0.6137,
"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.19,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.27,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.359,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"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": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.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": 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.163,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.244,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.335,
"predicted_SO": 3.0,
"predicted_SS": 0.0,
"predicted_TB": 4.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.19,
"after": 0.163,
"delta": -0.027,
"percent_delta": -0.1421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.244,
"delta": -0.026,
"percent_delta": -0.0963,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.335,
"delta": -0.024,
"percent_delta": -0.0669,
"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.19,
"after": 0.163,
"delta": -0.027,
"percent_delta": -0.1421,
"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.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7,
"after": 4.0,
"delta": 0.3,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.163,
"delta": -0.04,
"percent_delta": -0.197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.352,
"after": 0.0,
"delta": -0.352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 1.0,
"delta": 0.87,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.244,
"delta": -0.044,
"percent_delta": -0.1528,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.459,
"after": 1.0,
"delta": 0.541,
"percent_delta": 1.1786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 2.0,
"delta": 1.58,
"percent_delta": 3.7619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.335,
"delta": -0.016,
"percent_delta": -0.0456,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.484,
"after": 3.0,
"delta": 1.516,
"percent_delta": 1.0216,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 6,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.42,
"after": 2.0,
"delta": 1.58,
"percent_delta": 3.7619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.352,
"after": 0.0,
"delta": -0.352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.700 | - |
| predicted_AVG | 0.203 | - |
| predicted_BB | 0.352 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.459 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.351 | - |
| predicted_SO | 1.484 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | -0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.616 | -0.084 |
| predicted_AVG | 0.203 | 0.000 |
| predicted_BB | 0.342 | -0.010 |
| predicted_H | 0.733 | -0.017 |
| predicted_HBP | 0.140 | - |
| predicted_HR | 0.133 | 0.003 |
| predicted_OBP | 0.291 | 0.003 |
| predicted_R | 0.413 | -0.046 |
| predicted_RBI | 0.415 | -0.005 |
| predicted_SLG | 0.357 | 0.006 |
| predicted_SO | 1.479 | -0.005 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.616 | 0.000 |
| predicted_AVG | 0.202 | -0.001 |
| predicted_BB | 0.343 | 0.001 |
| predicted_H | 0.731 | -0.003 |
| predicted_HBP | 0.140 | 0.000 |
| predicted_HR | 0.132 | -0.000 |
| predicted_OBP | 0.271 | -0.020 |
| predicted_R | 0.411 | -0.002 |
| predicted_RBI | 0.412 | -0.002 |
| predicted_SLG | 0.355 | -0.001 |
| predicted_SO | 1.476 | -0.004 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.70), rates preserved: AVG=0.186 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, 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 | 2.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 | 2.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.139 | 0.139 |
| 3B | 0.006 | 0.006 |
| BB | 0.324 | 0.324 |
| H | 0.614 | -0.386 |
| HR | 0.132 | 0.132 |
| RBI | 0.408 | 0.408 |
| SO | 1.709 | -0.291 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.139 |
| 3B | 0.000 | -0.006 |
| AB | 3.000 | 0.000 |
| AVG | 0.190 | - |
| BB | 0.000 | -0.324 |
| H | 0.000 | -0.614 |
| HR | 0.000 | -0.132 |
| OBP | 0.270 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.408 |
| SLG | 0.359 | - |
| SO | 2.000 | 0.291 |
Player 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.000 |
| predicted_AB | 3.000 | -0.616 |
| predicted_AVG | 0.190 | -0.012 |
| predicted_BB | 0.000 | -0.343 |
| predicted_H | 0.000 | -0.731 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.270 | -0.001 |
| predicted_R | 0.000 | -0.411 |
| predicted_RBI | 0.000 | -0.412 |
| predicted_SLG | 0.359 | 0.004 |
| predicted_SO | 2.000 | 0.524 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | - | 16.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 8.000 | 0.2500 | 0.3684 | 0.3125 | 0.2500 | 0.0000 | 0.0625 | 0.1250 | 0.5000 |
| last_10 | 0.20 | 10 | - | 32.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 14.000 | 0.1562 | 0.2500 | 0.2812 | 0.1562 | 0.0312 | 0.0625 | 0.0625 | 0.4375 |
| season | 0.60 | 159 | - | 587.000 | 117.000 | 25.000 | 0.000 | 32.000 | 89.000 | 73.000 | 56.000 | 236.000 | 0.1993 | 0.2859 | 0.4055 | 0.1993 | 0.0545 | 0.1516 | 0.0954 | 0.4020 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1560 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5080 |
| predicted_AVG | 0.2029 |
| predicted_BB | 0.3290 |
| predicted_H | 0.7120 |
| predicted_HBP | 0.1400 |
| predicted_HR | 0.1360 |
| predicted_OBP | 0.2957 |
| predicted_R | 0.3540 |
| predicted_RBI | 0.4080 |
| predicted_SLG | 0.3640 |
| predicted_SO | 1.4730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.1560 | 0.1566 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7000 | 3.5080 | 3.6160 | model_form_blend |
| predicted_AVG | 0.2030 | 0.2029 | 0.2030 | model_form_blend |
| predicted_BB | 0.3520 | 0.3290 | 0.3419 | model_form_blend |
| predicted_H | 0.7500 | 0.7120 | 0.7334 | model_form_blend |
| predicted_HBP | - | 0.1400 | 0.1400 | form_only |
| predicted_HR | 0.1300 | 0.1360 | 0.1326 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2957 | 0.2914 | model_form_blend |
| predicted_R | 0.4590 | 0.3540 | 0.4131 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4080 | 0.4148 | model_form_blend |
| predicted_SLG | 0.3510 | 0.3640 | 0.3567 | model_form_blend |
| predicted_SO | 1.4840 | 1.4730 | 1.4792 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 616 |
| Season rows before report date | 616 |
| Report year | 2026 |
| Profile rows used | 159 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 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 | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 695657 |
| playerID | 695657 |
| playerName | Colson Montgomery |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-08 |
| sl_k_percent | 35.6 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.3 |
| sl_xwoba | 0.294 |
| sl_xba | 0.199 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 23.6 |
| sl_whiff_percent | 37.4 |
| sl_swing_percent | 51.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.092 | 0.000 | 0.000 | Hitting_2B | 0.068 | 0.000 | -0.068 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 2.842 | 3.000 | 3.000 | Hitting_AB | 2.864 | 1.000 | 0.136 | 2.000 |
| predicted_AVG | 0.272 | 0.000 | 0.000 | Hitting_AVG | 0.266 | 0.000 | -0.266 | 0.000 |
| predicted_BB | 0.158 | 1.000 | 1.000 | Hitting_BB | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 0.280 | 0.000 | 0.000 | Hitting_H | 0.761 | 0.000 | -0.761 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_OBP | 0.272 | 0.250 | 0.250 | Hitting_OBP | 0.266 | 0.000 | -0.016 | 0.250 |
| predicted_R | 0.434 | 1.000 | 1.000 | Hitting_R | 0.261 | 0.000 | 0.739 | 1.000 |
| predicted_RBI | 0.140 | 0.000 | 0.000 | Hitting_RBI | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_SLG | 0.402 | 0.000 | 0.000 | Hitting_SLG | 0.417 | 0.000 | -0.417 | 0.000 |
| predicted_SO | 0.974 | 3.000 | 3.000 | Hitting_SO | 0.875 | 0.000 | 2.125 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.9740 -> 3.0000 (boost 2.0260, worse) |
| Biggest Deboost | predicted_H: 0.2800 -> 0.0000 (deboost -0.2800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 4 | 2 | 5 | 1 | predicted_H: 0.2800 -> 0.4568 (boost 0.1768, better) | predicted_SO: 0.9740 -> 0.9049 (deboost -0.0691, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4324 -> 0.3170 (deboost -0.1154, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 2.8674 -> 3.0000 (boost 0.1326, better) | predicted_H: 0.4551 -> 0.0000 (deboost -0.4551, worse) | AB rounded to 3 (raw=2.87), rates preserved: AVG=0.149 HR/AB=0.040 |
| 6 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4527 -> 0.0000 (deboost -0.4527, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_SO: 1.0000 -> 1.4655 (boost 0.4655, worse) | predicted_H: 1.0000 -> 0.7408 (deboost -0.2592, 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_H: 0.7408 -> 1.0000 (boost 0.2592, better) | predicted_SO: 1.4655 -> 1.0000 (deboost -0.4655, 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 | 3 | 1 | 2 | 2 | predicted_SO: 1.0000 -> 3.0000 (boost 2.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 | 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": "686668",
"player_name": "Brenton Doyle",
"position": "CF",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.092,
"predicted_3B": 0.013,
"predicted_AB": 2.842,
"predicted_AVG": 0.272,
"predicted_BB": 0.158,
"predicted_H": 0.28,
"predicted_HR": 0.06,
"predicted_OBP": 0.272,
"predicted_R": 0.434,
"predicted_RBI": 0.14,
"predicted_SLG": 0.402,
"predicted_SO": 0.974
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0883,
"predicted_3B": 0.0113,
"predicted_AB": 2.8674,
"predicted_AVG": 0.2599,
"predicted_BB": 0.1376,
"predicted_H": 0.4568,
"predicted_HBP": 0.003,
"predicted_HR": 0.1145,
"predicted_OBP": 0.2716,
"predicted_R": 0.4552,
"predicted_RBI": 0.2286,
"predicted_SLG": 0.4324,
"predicted_SO": 0.9049
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2599,
"delta": -0.0121,
"percent_delta": -0.0445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 0.4568,
"delta": 0.1768,
"percent_delta": 0.6314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.1145,
"delta": 0.0545,
"percent_delta": 0.9083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.2286,
"delta": 0.0886,
"percent_delta": 0.6329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4324,
"delta": 0.0304,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.974,
"after": 0.9049,
"delta": -0.0691,
"percent_delta": -0.0709,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.28,
"after": 0.4568,
"delta": 0.1768,
"percent_delta": 0.6314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.974,
"after": 0.9049,
"delta": -0.0691,
"percent_delta": -0.0709,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 76
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0883,
"predicted_3B": 0.0113,
"predicted_AB": 2.8674,
"predicted_AVG": 0.1587,
"predicted_BB": 0.1379,
"predicted_H": 0.4551,
"predicted_HBP": 0.003,
"predicted_HR": 0.1144,
"predicted_OBP": 0.1973,
"predicted_R": 0.4527,
"predicted_RBI": 0.2273,
"predicted_SLG": 0.317,
"predicted_SO": 0.9026
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2599,
"after": 0.1587,
"delta": -0.1012,
"percent_delta": -0.3894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2716,
"after": 0.1973,
"delta": -0.0743,
"percent_delta": -0.2736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4324,
"after": 0.317,
"delta": -0.1154,
"percent_delta": -0.2669,
"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.4324,
"after": 0.317,
"delta": -0.1154,
"percent_delta": -0.2669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.87), rates preserved: AVG=0.149 HR/AB=0.040",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0883,
"after": 0.0,
"delta": -0.0883,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.8674,
"after": 3.0,
"delta": 0.1326,
"percent_delta": 0.0462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1379,
"after": 0.0,
"delta": -0.1379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4551,
"after": 0.0,
"delta": -0.4551,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1144,
"after": 0.0,
"delta": -0.1144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2273,
"after": 0.0,
"delta": -0.2273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9026,
"after": 1.0,
"delta": 0.0974,
"percent_delta": 0.1079,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.8674,
"after": 3.0,
"delta": 0.1326,
"percent_delta": 0.0462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4551,
"after": 0.0,
"delta": -0.4551,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4527,
"after": 0.0,
"delta": -0.4527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4527,
"after": 0.0,
"delta": -0.4527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 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.14,
"predicted_3B": 0.0106,
"predicted_BB": 0.233,
"predicted_H": 0.7408,
"predicted_HR": 0.0925,
"predicted_RBI": 0.3187,
"predicted_SO": 1.4655
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.14,
"delta": 0.14,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.233,
"delta": 0.233,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7408,
"delta": -0.2592,
"percent_delta": -0.2592,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0925,
"delta": 0.0925,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3187,
"delta": 0.3187,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.4655,
"delta": 0.4655,
"percent_delta": 0.4655,
"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.4655,
"delta": 0.4655,
"percent_delta": 0.4655,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7408,
"delta": -0.2592,
"percent_delta": -0.2592,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.225,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.282,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.358,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.1587,
"after": 0.225,
"delta": 0.0663,
"percent_delta": 0.4178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.233,
"after": 0.0,
"delta": -0.233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7408,
"after": 1.0,
"delta": 0.2592,
"percent_delta": 0.3499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0925,
"after": 0.0,
"delta": -0.0925,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.1973,
"after": 0.282,
"delta": 0.0847,
"percent_delta": 0.4293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3187,
"after": 0.0,
"delta": -0.3187,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.358,
"delta": 0.041,
"percent_delta": 0.1293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4655,
"after": 1.0,
"delta": -0.4655,
"percent_delta": -0.3176,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7408,
"after": 1.0,
"delta": 0.2592,
"percent_delta": 0.3499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4655,
"after": 1.0,
"delta": -0.4655,
"percent_delta": -0.3176,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.225,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.282,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.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": 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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.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": 3.0,
"predicted_AVG": 0.225,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.282,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.358,
"predicted_SO": 3.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.092,
"after": 0.0,
"delta": -0.092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.842,
"after": 3.0,
"delta": 0.158,
"percent_delta": 0.0556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.225,
"delta": -0.047,
"percent_delta": -0.1728,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.158,
"after": 1.0,
"delta": 0.842,
"percent_delta": 5.3291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.282,
"delta": 0.01,
"percent_delta": 0.0368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.434,
"after": 1.0,
"delta": 0.566,
"percent_delta": 1.3041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.358,
"delta": -0.044,
"percent_delta": -0.1095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.974,
"after": 3.0,
"delta": 2.026,
"percent_delta": 2.0801,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.974,
"after": 3.0,
"delta": 2.026,
"percent_delta": 2.0801,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"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.092 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 2.842 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.158 | - |
| predicted_H | 0.280 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.272 | - |
| predicted_R | 0.434 | - |
| predicted_RBI | 0.140 | - |
| predicted_SLG | 0.402 | - |
| predicted_SO | 0.974 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.088 | -0.004 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 2.867 | 0.025 |
| predicted_AVG | 0.260 | -0.012 |
| predicted_BB | 0.138 | -0.020 |
| predicted_H | 0.457 | 0.177 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.115 | 0.055 |
| predicted_OBP | 0.272 | -0.000 |
| predicted_R | 0.455 | 0.021 |
| predicted_RBI | 0.229 | 0.089 |
| predicted_SLG | 0.432 | 0.030 |
| predicted_SO | 0.905 | -0.069 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.088 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 2.867 | 0.000 |
| predicted_AVG | 0.159 | -0.101 |
| predicted_BB | 0.138 | 0.000 |
| predicted_H | 0.455 | -0.002 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.114 | -0.000 |
| predicted_OBP | 0.197 | -0.074 |
| predicted_R | 0.453 | -0.003 |
| predicted_RBI | 0.227 | -0.001 |
| predicted_SLG | 0.317 | -0.115 |
| predicted_SO | 0.903 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.87), rates preserved: AVG=0.149 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.140 | 0.140 |
| 3B | 0.011 | 0.011 |
| BB | 0.233 | 0.233 |
| H | 0.741 | -0.259 |
| HR | 0.092 | 0.092 |
| RBI | 0.319 | 0.319 |
| SO | 1.466 | 0.466 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.140 |
| 3B | 0.000 | -0.011 |
| AB | 3.000 | 0.000 |
| AVG | 0.225 | - |
| BB | 0.000 | -0.233 |
| H | 1.000 | 0.259 |
| HR | 0.000 | -0.092 |
| OBP | 0.282 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.319 |
| SLG | 0.358 | - |
| SO | 1.000 | -0.466 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.088 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | 0.133 |
| predicted_AVG | 0.225 | 0.066 |
| predicted_BB | 0.000 | -0.138 |
| predicted_H | 1.000 | 0.545 |
| predicted_HR | 0.000 | -0.114 |
| predicted_OBP | 0.282 | 0.085 |
| predicted_R | 0.000 | -0.453 |
| predicted_RBI | 0.000 | -0.227 |
| predicted_SLG | 0.358 | 0.041 |
| predicted_SO | 1.000 | 0.097 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Market blend not applied: no props for this hitter
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 2.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 | 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 | - | 12.000 | 3.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 0.000 | 2.000 | 0.2500 | 0.2500 | 0.7500 | 0.2500 | 0.1667 | 0.2500 | 0.0000 | 0.1667 |
| last_10 | 0.20 | 10 | - | 30.000 | 8.000 | 1.000 | 0.000 | 3.000 | 4.000 | 7.000 | 0.000 | 7.000 | 0.2667 | 0.2667 | 0.6000 | 0.2667 | 0.1000 | 0.1333 | 0.0000 | 0.2333 |
| season | 0.60 | 76 | - | 216.000 | 50.000 | 7.000 | 1.000 | 6.000 | 16.000 | 33.000 | 12.000 | 74.000 | 0.2315 | 0.2719 | 0.3565 | 0.2315 | 0.0278 | 0.0741 | 0.0556 | 0.3426 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0830 |
| predicted_3B | 0.0090 |
| predicted_AB | 2.9030 |
| predicted_AVG | 0.2429 |
| predicted_BB | 0.1090 |
| predicted_H | 0.7050 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1910 |
| predicted_OBP | 0.2710 |
| predicted_R | 0.4850 |
| predicted_RBI | 0.3530 |
| predicted_SLG | 0.4750 |
| predicted_SO | 0.8080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0920 | 0.0830 | 0.0883 | model_form_blend |
| predicted_3B | 0.0130 | 0.0090 | 0.0113 | model_form_blend |
| predicted_AB | 2.8420 | 2.9030 | 2.8674 | model_form_blend |
| predicted_AVG | 0.2720 | 0.2429 | 0.2599 | model_form_blend |
| predicted_BB | 0.1580 | 0.1090 | 0.1376 | model_form_blend |
| predicted_H | 0.2800 | 0.7050 | 0.4568 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0600 | 0.1910 | 0.1145 | model_form_blend |
| predicted_OBP | 0.2720 | 0.2710 | 0.2716 | model_form_blend |
| predicted_R | 0.4340 | 0.4850 | 0.4552 | model_form_blend |
| predicted_RBI | 0.1400 | 0.3530 | 0.2286 | model_form_blend |
| predicted_SLG | 0.4020 | 0.4750 | 0.4324 | model_form_blend |
| predicted_SO | 0.9740 | 0.8080 | 0.9049 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 88 |
| Season rows before report date | 88 |
| Report year | 2026 |
| Profile rows used | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| 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 | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20261005_CHW@CLE |
| game_type | short |
| mlbID | 686668 |
| playerID | 686668 |
| playerName | Brenton Doyle |
| pos | CF |
| started | False |
| startingPosition | CF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-05 |
| sl_k_percent | 32.7 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.28 |
| sl_xwoba | 0.245 |
| sl_xba | 0.203 |
| sl_xslg | 0.307 |
| sl_sweet_spot_percent | 26.8 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 35.5 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 8.6 |
| sl_whiff_percent | 32.5 |
| sl_swing_percent | 54.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.853 | 1.000 | 1.147 | 2.000 |
| predicted_ER | 5.000 | 5.000 | 5.000 | Pitching_ER | 2.000 | 1.000 | 3.000 | 4.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 4.382 | 1.000 | 2.618 | 6.000 |
| predicted_IP | 4.100 | 4.100 | 4.100 | Pitching_InningsPitched | 5.206 | 5.100 | -1.106 | -1.000 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 5.853 | 6.000 | -0.853 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 6 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.0000 -> 3.0000 (boost 3.0000, worse) |
| Biggest Deboost | predicted_IP: 5.0000 -> 4.1000 (deboost -0.9000, 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 | starter_usage_guardrail | 1 | 1 | 0 | 1 | 0 | predicted_IP: 5.0000 -> 6.0000 (boost 1.0000, better) | - | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 8 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score |
| 9 | play_by_play_realization | 6 | 5 | 1 | 1 | 5 | predicted_BB: 0.0000 -> 3.0000 (boost 3.0000, worse) | predicted_IP: 6.0000 -> 4.1000 (deboost -1.9000, 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": "680732",
"player_name": "Sean Burke",
"position": "Starter",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_IP",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "market_blend",
"description": "Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 9,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 5.0,
"predicted_H": 7.0,
"predicted_HR": 2.0,
"predicted_IP": 4.1,
"predicted_R": 6.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 7.0,
"delta": 2.0,
"percent_delta": 0.4,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 4.1,
"delta": -1.9,
"percent_delta": -0.3167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.0,
"after": 4.1,
"delta": -1.9,
"percent_delta": -0.3167,
"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": 5.0,
"predicted_H": 7.0,
"predicted_HR": 2.0,
"predicted_IP": 4.1,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 7.0,
"delta": 2.0,
"percent_delta": 0.4,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 3.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.000 | 1.000 |
| predicted_SO | 3.000 | 0.000 |
Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 3.000 | - |
| BF | 25.000 | - |
| ER | 5.000 | - |
| H | 7.000 | - |
| HR | 2.000 | - |
| IP | 4.100 | - |
| Pitches | 101.000 | - |
| R | 6.000 | - |
| SO | 5.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 25.200 | 6.000 | 18.000 | 7.000 | 30.000 | 4.000 | 2.1039 | 0.9740 | 0.2338 | 0.7013 | 0.2727 | 1.1688 | 0.1558 |
| last_10 | 0.35 | 10 | 46.000 | 23.000 | 41.000 | 24.000 | 47.000 | 7.000 | 4.5000 | 1.4130 | 0.5000 | 0.8913 | 0.5217 | 1.0217 | 0.1522 |
| season | 0.20 | 34 | 181.200 | 68.000 | 149.000 | 63.000 | 199.000 | 22.000 | 3.3688 | 1.1670 | 0.3743 | 0.8202 | 0.3468 | 1.0954 | 0.1211 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8620 |
| predicted_ER | 1.8610 |
| predicted_ERA | 3.3797 |
| predicted_H | 4.0470 |
| predicted_HR | 0.7320 |
| predicted_IP | 5.0000 |
| predicted_SO | 5.3580 |
| predicted_WHIP | 1.1921 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.8620 | 1.1094 | model_form_blend |
| predicted_ER | 3.0000 | 1.8610 | 2.3213 | model_form_blend |
| predicted_ERA | - | 3.3797 | 3.3797 | form_only |
| predicted_H | 5.0000 | 4.0470 | 4.4322 | model_form_blend |
| predicted_HR | 1.0000 | 0.7320 | 0.8403 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 3.0000 | 5.3580 | 4.4050 | model_form_blend |
| predicted_WHIP | - | 1.1921 | 1.1921 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.1 |
| H | 7 |
| R | 6 |
| ER | 5 |
| BB | 3 |
| SO | 5 |
| HR | 2 |
| BF | 25 |
| Pitches | 101 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 18 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.86 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 4 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.1 |
| Pitching_Pitches | 83 |
| Pitching_R | 1 |
| Pitching_SO | 6 |
| Pitching_Strikes | 53 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20261005_CHW@CLE |
| game_type | full |
| mlbID | 680732 |
| playerID | 680732 |
| playerName | Sean Burke |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-05 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.302 |
| sl_xwoba | 0.3 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 38.8 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 49.1 |
| sl_avg_best_speed | 79.394902291 |
| sl_avg_hyper_speed | 93.969692313 |
| 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.565 | 1.000 | -0.565 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.532 | 0.000 | -0.532 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.226 | 1.000 | -0.226 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.310 | 2.000 | -0.210 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.403 | 3.000 | -0.403 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 4 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 4 |
| Better Metrics | 3 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_ER: 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 | 0 | 4 | 3 | 1 | - | predicted_ER: 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": "656794",
"player_name": "Sean Newcomb",
"position": "Long Reliever",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"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": "better"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 5.000 | - |
| ER | 0.000 | - |
| H | 1.000 | - |
| HR | 0.000 | - |
| IP | 1.100 | - |
| Pitches | 18.000 | - |
| R | 0.000 | - |
| SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.100 | 2.000 | 5.000 | 2.000 | 9.000 | 1.000 | 2.4545 | 0.9545 | 0.2727 | 0.6818 | 0.2727 | 1.2273 | 0.1364 |
| last_10 | 0.35 | 10 | 13.100 | 10.000 | 16.000 | 5.000 | 14.000 | 2.000 | 6.7500 | 1.5750 | 0.7500 | 1.2000 | 0.3750 | 1.0500 | 0.1500 |
| season | 0.20 | 60 | 93.100 | 31.000 | 72.000 | 33.000 | 87.000 | 4.000 | 2.9893 | 1.1250 | 0.3321 | 0.7714 | 0.3536 | 0.9321 | 0.0429 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4660 |
| predicted_ER | 0.6440 |
| predicted_ERA | 4.1816 |
| predicted_H | 1.2510 |
| predicted_HR | 0.1770 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.4840 |
| predicted_WHIP | 1.2391 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4660 | 0.2624 | model_form_blend |
| predicted_ER | 2.0000 | 0.6440 | 1.2365 | model_form_blend |
| predicted_ERA | - | 4.1816 | 4.1816 | form_only |
| predicted_H | 2.0000 | 1.2510 | 1.5783 | model_form_blend |
| predicted_HR | 1.0000 | 0.1770 | 0.5366 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.4840 | 1.2725 | model_form_blend |
| predicted_WHIP | - | 1.2391 | 1.2391 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 62 |
| Season rows before report date | 62 |
| Report year | 2026 |
| Profile rows used | 60 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 9 |
| Pitching_ER | 0 |
| Pitching_ERA | 6.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 3 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 40 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 24 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20261005_CHW@CLE |
| game_type | full |
| mlbID | 656794 |
| playerID | 656794 |
| playerName | Sean Newcomb |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-05 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.285 |
| sl_xwoba | 0.317 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 38.6 |
| sl_whiff_percent | 23.9 |
| sl_swing_percent | 45.9 |
| sl_avg_best_speed | 77.732436083 |
| sl_avg_hyper_speed | 94.013500335 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 2.214 | 0.000 | -1.214 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 3.000 | 1.000 | -3.000 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 4.214 | 3.000 | -4.214 | -3.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 4.493 | 5.000 | -2.493 | -3.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 4.143 | 4.000 | -2.143 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 5 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 2 |
| Better Metrics | 4 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_IP: 0.1000 -> 2.0000 (boost 1.9000, better) |
| 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 | 5 | 3 | 2 | 4 | 1 | predicted_IP: 0.1000 -> 2.0000 (boost 1.9000, better) | 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": "702273",
"player_name": "Noah Schultz",
"position": "Long Reliever",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"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": 2.0,
"predicted_R": 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": "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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 2.0,
"delta": 1.9,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 2.0,
"delta": 1.9,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"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": 2.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 2.0,
"delta": 1.9,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 2.0,
"delta": 1.9,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"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": "better"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 1.000 | - |
| BF | 7.000 | - |
| ER | 0.000 | - |
| H | 0.000 | - |
| HR | 0.000 | - |
| IP | 2.000 | - |
| Pitches | 26.000 | - |
| R | 0.000 | - |
| SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 22.000 | 14.000 | 27.000 | 5.000 | 18.000 | 4.000 | 5.7273 | 1.4545 | 0.6364 | 1.2273 | 0.2273 | 0.8182 | 0.1818 |
| last_10 | 0.35 | 10 | 43.200 | 36.000 | 49.000 | 19.000 | 38.000 | 8.000 | 7.4198 | 1.5573 | 0.8244 | 1.1221 | 0.4351 | 0.8702 | 0.1832 |
| season | 0.20 | 14 | 65.000 | 42.000 | 59.000 | 31.000 | 58.000 | 9.000 | 5.8154 | 1.3846 | 0.6462 | 0.9077 | 0.4769 | 0.8923 | 0.1385 |
| Metric | Value |
|---|---|
| predicted_BB | 1.1930 |
| predicted_ER | 2.1790 |
| predicted_ERA | 5.8885 |
| predicted_H | 3.6280 |
| predicted_HR | 0.5550 |
| predicted_IP | 3.1000 |
| predicted_SO | 2.9060 |
| predicted_WHIP | 1.4479 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.1930 | 0.6428 | model_form_blend |
| predicted_ER | 1.0000 | 2.1790 | 1.6352 | model_form_blend |
| predicted_ERA | - | 5.8885 | 5.8885 | form_only |
| predicted_H | 2.0000 | 3.6280 | 2.8772 | model_form_blend |
| predicted_HR | 0.0000 | 0.5550 | 0.2990 | model_form_blend |
| predicted_IP | 0.1000 | 3.1000 | 2.0000 | model_form_blend |
| predicted_SO | 1.0000 | 2.9060 | 2.0269 | model_form_blend |
| predicted_WHIP | - | 1.4479 | 1.4479 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 14 |
| Season rows before report date | 14 |
| Report year | 2026 |
| Profile rows used | 14 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 2 |
| HR | 0 |
| BF | 7 |
| Pitches | 26 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 19 |
| Pitching_ER | 1 |
| Pitching_ERA | 5.82 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 6 |
| Pitching_H | 3 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 67 |
| Pitching_R | 1 |
| Pitching_SO | 4 |
| Pitching_Strikes | 47 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260801_CHW@TB |
| game_type | full |
| mlbID | 702273 |
| playerID | 702273 |
| playerName | Noah Schultz |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-08-01 |
| game_pk | 822944.0 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.335 |
| sl_xwoba | 0.358 |
| sl_sweet_spot_percent | 38.7 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 41.9 |
| sl_whiff_percent | 21.0 |
| sl_swing_percent | 45.2 |
| sv_pitch_count | 67.0 |
| sv_outs_recorded_est | 15.0 |
| sv_release_speed | 91.74179104477612 |
| sv_release_spin_rate | 2511.208955223881 |
| sv_effective_speed | 91.2865671641791 |
| sv_launch_speed | 79.81851851851852 |
| sv_launch_angle | 5.851851851851852 |
| sv_woba_value | 3.6 |
| sv_woba_denom | 18.0 |
| sv_delta_run_exp | -1.756 |
| sv_delta_home_win_exp | -0.1209999999999999 |
| sl_avg_best_speed | 78.222889528 |
| sl_avg_hyper_speed | 94.448487488 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.581 | 0.000 | -0.581 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.395 | 3.000 | -0.395 | -3.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.837 | 4.000 | -0.837 | -4.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.784 | 1.000 | -0.684 | -0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.140 | 2.000 | -1.140 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 3 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 3 |
| Better Metrics | 1 |
| Worse Metrics | 2 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 3 | 0 | 3 | 1 | 2 | - | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "663855",
"player_name": "Jordan Hicks",
"position": "Middle Reliever",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 0.1,
"delta": -0.9,
"percent_delta": -0.9,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 0.1,
"delta": -0.9,
"percent_delta": -0.9,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 1.000 | - |
| ER | 0.000 | - |
| H | 0.000 | - |
| HR | 0.000 | - |
| IP | 0.100 | - |
| Pitches | 2.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 | 6.000 | 4.000 | 6.000 | 3.000 | 9.000 | 1.000 | 6.0000 | 1.5000 | 0.6667 | 1.0000 | 0.5000 | 1.5000 | 0.1667 |
| last_10 | 0.35 | 10 | 10.000 | 6.000 | 13.000 | 4.000 | 14.000 | 2.000 | 5.4000 | 1.7000 | 0.6000 | 1.3000 | 0.4000 | 1.4000 | 0.2000 |
| season | 0.20 | 42 | 40.000 | 17.000 | 35.000 | 25.000 | 49.000 | 3.000 | 3.8250 | 1.5000 | 0.4250 | 0.8750 | 0.6250 | 1.2250 | 0.0750 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4910 |
| predicted_ER | 0.6180 |
| predicted_ERA | 5.0826 |
| predicted_H | 1.1420 |
| predicted_HR | 0.1700 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3450 |
| predicted_WHIP | 1.4938 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4910 | 0.2410 | model_form_blend |
| predicted_ER | 0.0000 | 0.6180 | 0.3033 | model_form_blend |
| predicted_ERA | - | 5.0826 | 5.0826 | form_only |
| predicted_H | 1.0000 | 1.1420 | 1.0697 | model_form_blend |
| predicted_HR | 0.0000 | 0.1700 | 0.0834 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.3450 | 1.6785 | model_form_blend |
| predicted_WHIP | - | 1.4938 | 1.4938 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 43 |
| Season rows before report date | 43 |
| Report year | 2026 |
| Profile rows used | 42 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 1 |
| Pitches | 2 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 3 |
| Pitching_ERA | 3.83 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 24 |
| Pitching_R | 3 |
| Pitching_SO | 2 |
| Pitching_Strikes | 19 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260825_TEX@CHW |
| game_type | full |
| mlbID | 663855 |
| playerID | 663855 |
| playerName | Jordan Hicks |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-08-25 |
| game_pk | 824556.0 |
| sl_k_percent | 29.6 |
| sl_bb_percent | 15.3 |
| sl_woba | 0.309 |
| sl_xwoba | 0.262 |
| sl_sweet_spot_percent | 27.1 |
| sl_barrel_batted_rate | 1.7 |
| sl_hard_hit_percent | 33.1 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 44.3 |
| sv_pitch_count | 24.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 94.46666666666664 |
| sv_release_spin_rate | 2106.5 |
| sv_effective_speed | 94.69583333333333 |
| sv_launch_speed | 87.17777777777778 |
| sv_launch_angle | 28.33333333333333 |
| sv_woba_value | 5.05 |
| sv_woba_denom | 7.0 |
| sv_delta_run_exp | 2.059 |
| sv_delta_home_win_exp | -0.049 |
| sl_avg_best_speed | 78.231887586 |
| sl_avg_hyper_speed | 93.498076 |
| Field | Value |
|---|---|
| Pitcher | Gavin Williams |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2212 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0624 |
| Avg Velo | 90.9785 |
| Avg Spin | 2292.1975 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 4 |
| Pre SO | 10 |
| Season ERA | 3.7356 |
| Season WHIP | 1.1191 |
| Role Avg IP | 5.7370 |
| Recent Avg IP | 5.2670 |
| Last Start IP | 5 |
{
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9325,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0673,
"defense_index": 1.0098,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.0675,
"opponent_offense_edge": 0.0673,
"defense_strength": 0.0901,
"opponent_defense_weakness": -0.0098,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 1.0014,
"strikeout": 0.9948
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668909",
"profile": {
"available": true,
"pitcher_id": "668909",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 700.0,
"k_percent": 33.2,
"bb_percent": 8.2,
"woba": 0.294,
"xwoba": 0.302,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 46.6,
"avg_best_speed": 79.2974,
"avg_hyper_speed": 94.9953,
"whiff_percent": 32.8,
"swing_percent": 49.1
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.1041,
"command_and_miss": 1.1436,
"regression_edge": -0.2286,
"xwoba_edge": 0.2857,
"barrel_edge": -0.9333,
"hard_hit_edge": -1.2429,
"whiff_edge": 1.0857,
"bb_edge": 0.25,
"pitch_design_score": 0.0624
},
"quality_score": 0.2212,
"sample_weight": 1.0,
"run_prevention_factor": 0.9812,
"strikeout_factor": 1.1069,
"walk_factor": 0.98,
"homer_factor": 1.1158,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "668909",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9812,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9812,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 0.98,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.1158,
"adjusted": 0
},
"predicted_SO": {
"original": 8.0,
"factor": 1.1069,
"adjusted": 9
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 45.2,
"ER": 22,
"H": 40,
"BB": 23,
"SO": 75,
"HR": 6,
"ERA": 4.335766423357664,
"WHIP": 1.3795620437956202,
"K9": 14.781021897810218,
"HR9": 1.1824817518248174,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-08T00:00:00"
}{
"available": true,
"pitcher_id": "668909",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 106,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 106,
"pitch_usage": 0.0,
"release_speed": 90.97845935651245,
"release_spin_rate": 2292.19753528252,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 106,
"pitch_usage": 0.0,
"release_speed": 90.97845935651245,
"release_spin_rate": 2292.19753528252,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.9785,
"release_spin_rate": 2292.1975,
"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.0624,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4457,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 34.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8718,
"prior_weight": 0.1282
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "668909",
"report_date": "20261010",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 21.1,
"ER": 8.0,
"R": 8.0,
"H": 17.0,
"BB": 11.0,
"SO": 32.0,
"HR": 1.0,
"BF": 90.0,
"Pitches": 392.0
},
"per_game": {
"IP": 4.1,
"ER": 1.6,
"R": 1.6,
"H": 3.4,
"BB": 2.2,
"SO": 6.4,
"HR": 0.2,
"BF": 18.0,
"Pitches": 78.4
},
"rates": {
"ERA": 3.375,
"WHIP": 1.3125,
"ER_per_IP": 0.375,
"H_per_IP": 0.79688,
"BB_per_IP": 0.51562,
"SO_per_IP": 1.5,
"HR_per_IP": 0.04688
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 45.2,
"ER": 22.0,
"R": 23.0,
"H": 40.0,
"BB": 23.0,
"SO": 75.0,
"HR": 6.0,
"BF": 198.0,
"Pitches": 837.0
},
"per_game": {
"IP": 4.2,
"ER": 2.2,
"R": 2.3,
"H": 4.0,
"BB": 2.3,
"SO": 7.5,
"HR": 0.6,
"BF": 19.8,
"Pitches": 83.7
},
"rates": {
"ERA": 4.3358,
"WHIP": 1.3796,
"ER_per_IP": 0.48175,
"H_per_IP": 0.87591,
"BB_per_IP": 0.50365,
"SO_per_IP": 1.64234,
"HR_per_IP": 0.13139
}
},
"season": {
"games": 34,
"totals": {
"IP": 190.1,
"ER": 79.0,
"R": 83.0,
"H": 149.0,
"BB": 64.0,
"SO": 260.0,
"HR": 28.0,
"BF": 771.0,
"Pitches": 3107.0
},
"per_game": {
"IP": 5.2,
"ER": 2.3235,
"R": 2.4412,
"H": 4.3824,
"BB": 1.8824,
"SO": 7.6471,
"HR": 0.8235,
"BF": 22.6765,
"Pitches": 91.3824
},
"rates": {
"ERA": 3.7356,
"WHIP": 1.1191,
"ER_per_IP": 0.41506,
"H_per_IP": 0.78284,
"BB_per_IP": 0.33625,
"SO_per_IP": 1.36602,
"HR_per_IP": 0.14711
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.074,
"predicted_H": 4.042,
"predicted_BB": 2.223,
"predicted_SO": 6.941,
"predicted_HR": 0.494,
"predicted_ERA": 3.8922,
"predicted_WHIP": 1.3063
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4042,
"form_weight": 0.5958,
"form_reliability": 0.8718,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 34.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8718,
"prior_weight": 0.1282
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 4.2,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.074,
"final": 2.8524,
"source": "model_form_blend"
},
"predicted_H": {
"model": 9.0,
"form": 4.042,
"final": 6.0458,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.223,
"final": 2.1329,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 6.941,
"final": 6.9648,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.494,
"final": 0.6985,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8922,
"final": 3.8922,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3063,
"final": 1.3063,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tim Herrin |
| Role | Middle Reliever |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1186 |
| ESPN Rank | - |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.8983 |
| Season WHIP | 1.2881 |
| Role Avg IP | 0.8430 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9325,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0673,
"defense_index": 1.0098,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.0675,
"opponent_offense_edge": 0.0673,
"defense_strength": 0.0901,
"opponent_defense_weakness": -0.0098,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 1.0014,
"strikeout": 0.9948
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682120",
"profile": {
"available": true,
"pitcher_id": "682120",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 216.0,
"k_percent": 22.5,
"bb_percent": 11.7,
"woba": 0.308,
"xwoba": 0.304,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 37.3,
"avg_best_speed": 75.5108,
"avg_hyper_speed": 93.7782,
"whiff_percent": 30.7,
"swing_percent": 46.8
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.1431,
"command_and_miss": 0.1757,
"regression_edge": 0.1143,
"xwoba_edge": 0.2286,
"barrel_edge": -0.2889,
"hard_hit_edge": 0.0857,
"whiff_edge": 0.7857,
"bb_edge": -0.625,
"pitch_design_score": 0.0
},
"quality_score": 0.1186,
"sample_weight": 0.864,
"run_prevention_factor": 0.9899,
"strikeout_factor": 1.0291,
"walk_factor": 1.0432,
"homer_factor": 1.0111,
"woba_minus_xwoba": 0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "682120",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9913,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9913,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0373,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0096,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0251,
"adjusted": 2
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 2,
"H": 10,
"BB": 4,
"SO": 11,
"HR": 0,
"ERA": 2.25,
"WHIP": 1.75,
"K9": 12.375,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-08T00:00:00"
}{
"available": false,
"pitcher_id": "682120",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.199,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7093,
"prior_weight": 0.2907
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "682120",
"report_date": "20261010",
"season_year": 2026,
"rows_used": 70,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 84.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 3.6,
"Pitches": 16.8
},
"rates": {
"ERA": 2.25,
"WHIP": 1.5,
"ER_per_IP": 0.25,
"H_per_IP": 1.25,
"BB_per_IP": 0.25,
"SO_per_IP": 1.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 2.0,
"R": 4.0,
"H": 10.0,
"BB": 4.0,
"SO": 11.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 180.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.4,
"H": 1.0,
"BB": 0.4,
"SO": 1.1,
"HR": 0.0,
"BF": 3.8,
"Pitches": 18.0
},
"rates": {
"ERA": 2.25,
"WHIP": 1.75,
"ER_per_IP": 0.25,
"H_per_IP": 1.25,
"BB_per_IP": 0.5,
"SO_per_IP": 1.375,
"HR_per_IP": 0.0
}
},
"season": {
"games": 70,
"totals": {
"IP": 59.0,
"ER": 19.0,
"R": 22.0,
"H": 47.0,
"BB": 29.0,
"SO": 58.0,
"HR": 5.0,
"BF": 250.0,
"Pitches": 1028.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2714,
"R": 0.3143,
"H": 0.6714,
"BB": 0.4143,
"SO": 0.8286,
"HR": 0.0714,
"BF": 3.5714,
"Pitches": 14.6857
},
"rates": {
"ERA": 2.8983,
"WHIP": 1.2881,
"ER_per_IP": 0.32203,
"H_per_IP": 0.79661,
"BB_per_IP": 0.49153,
"SO_per_IP": 0.98305,
"HR_per_IP": 0.08475
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.241,
"predicted_H": 0.792,
"predicted_BB": 0.275,
"predicted_SO": 0.936,
"predicted_HR": 0.039,
"predicted_ERA": 3.0345,
"predicted_WHIP": 1.4936
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4728,
"form_weight": 0.5272,
"form_reliability": 0.7093,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.199,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7093,
"prior_weight": 0.2907
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.241,
"final": 0.5999,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.792,
"final": 0.4175,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.275,
"final": 0.145,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.936,
"final": 0.4934,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.039,
"final": 0.0206,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0345,
"final": 3.0345,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4936,
"final": 1.4936,
"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 | Shawn Armstrong |
| Role | Middle Reliever |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0342 |
| ESPN Rank | - |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.7692 |
| Season WHIP | 1.1282 |
| Role Avg IP | 0.9290 |
| Recent Avg IP | 1.1330 |
| Last Start IP | 0 |
{
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9325,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0673,
"defense_index": 1.0098,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.0675,
"opponent_offense_edge": 0.0673,
"defense_strength": 0.0901,
"opponent_defense_weakness": -0.0098,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 1.0014,
"strikeout": 0.9948
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "542888",
"profile": {
"available": true,
"pitcher_id": "542888",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 144.0,
"k_percent": 22.1,
"bb_percent": 12.3,
"woba": 0.313,
"xwoba": 0.315,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 35.4,
"avg_best_speed": 78.2986,
"avg_hyper_speed": 93.4,
"whiff_percent": 23.7,
"swing_percent": 49.0
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.0109,
"command_and_miss": -0.23,
"regression_edge": -0.0571,
"xwoba_edge": -0.0857,
"barrel_edge": 0.0222,
"hard_hit_edge": 0.3571,
"whiff_edge": -0.2143,
"bb_edge": -0.775,
"pitch_design_score": 0.0
},
"quality_score": -0.0342,
"sample_weight": 0.576,
"run_prevention_factor": 1.0029,
"strikeout_factor": 0.9951,
"walk_factor": 1.0357,
"homer_factor": 0.9922,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "542888",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0017,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0017,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0206,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9972,
"adjusted": 2
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 3,
"H": 5,
"BB": 3,
"SO": 10,
"HR": 0,
"ERA": 2.8928571428571432,
"WHIP": 0.8571428571428572,
"K9": 9.642857142857144,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-08T00:00:00"
}{
"available": false,
"pitcher_id": "542888",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.064,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6173,
"prior_weight": 0.3827
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "542888",
"report_date": "20261010",
"season_year": 2026,
"rows_used": 42,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 5.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 70.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.1765,
"ER_per_IP": 0.0,
"H_per_IP": 0.17647,
"BB_per_IP": 0.0,
"SO_per_IP": 0.88235,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 3.0,
"SO": 10.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 140.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.5,
"BB": 0.3,
"SO": 1.0,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.0
},
"rates": {
"ERA": 2.8929,
"WHIP": 0.8571,
"ER_per_IP": 0.32143,
"H_per_IP": 0.53571,
"BB_per_IP": 0.32143,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.0
}
},
"season": {
"games": 42,
"totals": {
"IP": 39.0,
"ER": 12.0,
"R": 13.0,
"H": 27.0,
"BB": 17.0,
"SO": 38.0,
"HR": 3.0,
"BF": 158.0,
"Pitches": 645.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2857,
"R": 0.3095,
"H": 0.6429,
"BB": 0.4048,
"SO": 0.9048,
"HR": 0.0714,
"BF": 3.7619,
"Pitches": 15.3571
},
"rates": {
"ERA": 2.7692,
"WHIP": 1.1282,
"ER_per_IP": 0.30769,
"H_per_IP": 0.69231,
"BB_per_IP": 0.4359,
"SO_per_IP": 0.97436,
"HR_per_IP": 0.07692
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.304,
"predicted_H": 0.628,
"predicted_BB": 0.269,
"predicted_SO": 0.954,
"predicted_HR": 0.066,
"predicted_ERA": 2.7396,
"predicted_WHIP": 0.8969
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5117,
"form_weight": 0.4883,
"form_reliability": 0.6173,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.064,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6173,
"prior_weight": 0.3827
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.304,
"final": 0.1484,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.628,
"final": 0.3067,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.269,
"final": 0.1314,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.954,
"final": 0.9775,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.066,
"final": 0.0322,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7396,
"final": 2.7396,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8969,
"final": 0.8969,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Daniel Espino |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3987 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 94.9648 |
| Avg Spin | 2413.0715 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 4.3200 |
| Season WHIP | 1.4400 |
| Role Avg IP | 1 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9325,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0673,
"defense_index": 1.0098,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.0675,
"opponent_offense_edge": 0.0673,
"defense_strength": 0.0901,
"opponent_defense_weakness": -0.0098,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 1.0014,
"strikeout": 0.9948
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682982",
"profile": {
"available": true,
"pitcher_id": "682982",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 52.0,
"k_percent": 38.5,
"bb_percent": 10.8,
"woba": 0.299,
"xwoba": 0.264,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 12.1,
"hard_hit_percent": 36.4,
"avg_best_speed": 72.8972,
"avg_hyper_speed": 93.1724,
"whiff_percent": 36.8,
"swing_percent": 48.7
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.6419,
"command_and_miss": 1.5543,
"regression_edge": 1.0,
"xwoba_edge": 1.3714,
"barrel_edge": -1.0889,
"hard_hit_edge": 0.2143,
"whiff_edge": 1.6571,
"bb_edge": -0.4,
"pitch_design_score": 0.28
},
"quality_score": 0.3987,
"sample_weight": 0.45,
"run_prevention_factor": 0.9661,
"strikeout_factor": 1.072,
"walk_factor": 1.0144,
"homer_factor": 1.0168,
"woba_minus_xwoba": 0.035,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "682982",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9847,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9847,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0065,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0076,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0324,
"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": 10.2,
"ER": 5,
"H": 10,
"BB": 5,
"SO": 15,
"HR": 2,
"ERA": 4.21875,
"WHIP": 1.40625,
"K9": 12.65625,
"HR9": 1.6875,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-07T00:00:00"
}{
"available": true,
"pitcher_id": "682982",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 94.96482029799016,
"release_spin_rate": 2413.0714912015155,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 94.96482029799016,
"release_spin_rate": 2413.0714912015155,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.9648,
"release_spin_rate": 2413.0715,
"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": 3.446,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.408,
"prior_weight": 0.592
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "682982",
"report_date": "20261010",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 4.0,
"R": 4.0,
"H": 4.0,
"BB": 5.0,
"SO": 6.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 89.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 0.8,
"BB": 1.0,
"SO": 1.2,
"HR": 0.2,
"BF": 4.2,
"Pitches": 17.8
},
"rates": {
"ERA": 8.3077,
"WHIP": 2.0769,
"ER_per_IP": 0.92308,
"H_per_IP": 0.92308,
"BB_per_IP": 1.15385,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 5.0,
"R": 5.0,
"H": 10.0,
"BB": 5.0,
"SO": 15.0,
"HR": 2.0,
"BF": 46.0,
"Pitches": 185.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.0,
"BB": 0.5,
"SO": 1.5,
"HR": 0.2,
"BF": 4.6,
"Pitches": 18.5
},
"rates": {
"ERA": 4.2188,
"WHIP": 1.4062,
"ER_per_IP": 0.46875,
"H_per_IP": 0.9375,
"BB_per_IP": 0.46875,
"SO_per_IP": 1.40625,
"HR_per_IP": 0.1875
}
},
"season": {
"games": 16,
"totals": {
"IP": 16.2,
"ER": 8.0,
"R": 8.0,
"H": 15.0,
"BB": 9.0,
"SO": 27.0,
"HR": 3.0,
"BF": 73.0,
"Pitches": 305.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.9375,
"BB": 0.5625,
"SO": 1.6875,
"HR": 0.1875,
"BF": 4.5625,
"Pitches": 19.0625
},
"rates": {
"ERA": 4.32,
"WHIP": 1.44,
"ER_per_IP": 0.48,
"H_per_IP": 0.9,
"BB_per_IP": 0.54,
"SO_per_IP": 1.62,
"HR_per_IP": 0.18
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.58,
"predicted_H": 0.96,
"predicted_BB": 0.549,
"predicted_SO": 1.14,
"predicted_HR": 0.171,
"predicted_ERA": 5.2225,
"predicted_WHIP": 1.5093
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6001,
"form_weight": 0.3999,
"form_reliability": 0.408,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.446,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.408,
"prior_weight": 0.592
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.58,
"final": 0.2319,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.96,
"final": 0.3839,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.549,
"final": 0.8197,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.14,
"final": 0.4559,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.171,
"final": 0.0684,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.2225,
"final": 5.2225,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5093,
"final": 1.5093,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Hunter Gaddis |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1344 |
| ESPN Rank | - |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.7000 |
| Season WHIP | 1.2000 |
| Role Avg IP | 0.8920 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9325,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0673,
"defense_index": 1.0098,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.0675,
"opponent_offense_edge": 0.0673,
"defense_strength": 0.0901,
"opponent_defense_weakness": -0.0098,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 1.0014,
"strikeout": 0.9948
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "683769",
"profile": {
"available": true,
"pitcher_id": "683769",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 230.0,
"k_percent": 22.2,
"bb_percent": 8.6,
"woba": 0.3,
"xwoba": 0.311,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 29.9,
"avg_best_speed": 75.513,
"avg_hyper_speed": 92.3528,
"whiff_percent": 29.5,
"swing_percent": 51.7
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2002,
"command_and_miss": 0.2514,
"regression_edge": -0.3143,
"xwoba_edge": 0.0286,
"barrel_edge": -0.0667,
"hard_hit_edge": 1.1429,
"whiff_edge": 0.6143,
"bb_edge": 0.15,
"pitch_design_score": 0.0
},
"quality_score": 0.1344,
"sample_weight": 0.92,
"run_prevention_factor": 0.9886,
"strikeout_factor": 1.0231,
"walk_factor": 0.989,
"homer_factor": 0.9621,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "683769",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9895,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9895,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9899,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9651,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0213,
"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": 3,
"H": 12,
"BB": 1,
"SO": 6,
"HR": 2,
"ERA": 3.1153846153846154,
"WHIP": 1.5,
"K9": 6.230769230769231,
"HR9": 2.076923076923077,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-08T00:00:00"
}{
"available": false,
"pitcher_id": "683769",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.095,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7237,
"prior_weight": 0.2763
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "683769",
"report_date": "20261010",
"season_year": 2026,
"rows_used": 71,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 0.0,
"SO": 2.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 62.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.0,
"SO": 0.4,
"HR": 0.2,
"BF": 3.8,
"Pitches": 12.4
},
"rates": {
"ERA": 4.5,
"WHIP": 1.5,
"ER_per_IP": 0.5,
"H_per_IP": 1.5,
"BB_per_IP": 0.0,
"SO_per_IP": 0.5,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 3.0,
"R": 3.0,
"H": 12.0,
"BB": 1.0,
"SO": 6.0,
"HR": 2.0,
"BF": 39.0,
"Pitches": 143.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 1.2,
"BB": 0.1,
"SO": 0.6,
"HR": 0.2,
"BF": 3.9,
"Pitches": 14.3
},
"rates": {
"ERA": 3.1154,
"WHIP": 1.5,
"ER_per_IP": 0.34615,
"H_per_IP": 1.38462,
"BB_per_IP": 0.11538,
"SO_per_IP": 0.69231,
"HR_per_IP": 0.23077
}
},
"season": {
"games": 71,
"totals": {
"IP": 63.1,
"ER": 19.0,
"R": 19.0,
"H": 56.0,
"BB": 20.0,
"SO": 59.0,
"HR": 7.0,
"BF": 267.0,
"Pitches": 1016.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2676,
"R": 0.2676,
"H": 0.7887,
"BB": 0.2817,
"SO": 0.831,
"HR": 0.0986,
"BF": 3.7606,
"Pitches": 14.3099
},
"rates": {
"ERA": 2.7,
"WHIP": 1.2,
"ER_per_IP": 0.3,
"H_per_IP": 0.88421,
"BB_per_IP": 0.31579,
"SO_per_IP": 0.93158,
"HR_per_IP": 0.11053
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.389,
"predicted_H": 1.105,
"predicted_BB": 0.161,
"predicted_SO": 0.652,
"predicted_HR": 0.175,
"predicted_ERA": 3.9253,
"predicted_WHIP": 1.42
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4667,
"form_weight": 0.5333,
"form_reliability": 0.7237,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.095,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7237,
"prior_weight": 0.2763
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.389,
"final": 0.2074,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.105,
"final": 0.5893,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.161,
"final": 0.5526,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.652,
"final": 0.8144,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.175,
"final": 0.0933,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9253,
"final": 3.9253,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.42,
"final": 1.42,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tanner Bibee |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1841 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1382 |
| Avg Velo | 87.3966 |
| Avg Spin | 2309.0609 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 3 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.4442 |
| Season WHIP | 1.2319 |
| Role Avg IP | 0.3330 |
| Recent Avg IP | 0.3330 |
| Last Start IP | 0 |
{
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9325,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0673,
"defense_index": 1.0098,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.0675,
"opponent_offense_edge": 0.0673,
"defense_strength": 0.0901,
"opponent_defense_weakness": -0.0098,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 1.0014,
"strikeout": 0.9948
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676440",
"profile": {
"available": true,
"pitcher_id": "676440",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 698.0,
"k_percent": 19.0,
"bb_percent": 7.1,
"woba": 0.316,
"xwoba": 0.32,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 39.3,
"avg_best_speed": 78.4883,
"avg_hyper_speed": 93.9015,
"whiff_percent": 23.6,
"swing_percent": 47.2
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.2078,
"command_and_miss": -0.1743,
"regression_edge": -0.1143,
"xwoba_edge": -0.2286,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.2,
"whiff_edge": -0.2286,
"bb_edge": 0.525,
"pitch_design_score": -0.1382
},
"quality_score": -0.1841,
"sample_weight": 1.0,
"run_prevention_factor": 1.0157,
"strikeout_factor": 0.9731,
"walk_factor": 0.958,
"homer_factor": 1.038,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "676440",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0157,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 1.0157,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 0.958,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.038,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9731,
"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": 50.1,
"ER": 34,
"H": 57,
"BB": 19,
"SO": 39,
"HR": 6,
"ERA": 6.079470198675496,
"WHIP": 1.509933774834437,
"K9": 6.973509933774834,
"HR9": 1.0728476821192052,
"games_pitched": 10,
"quality_starts": 5,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 2,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-08T00:00:00"
}{
"available": true,
"pitcher_id": "676440",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 82,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 87.39659142983948,
"release_spin_rate": 2309.0608700163434,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 87.39659142983948,
"release_spin_rate": 2309.0608700163434,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.3966,
"release_spin_rate": 2309.0609,
"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.1382,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.987,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 34.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8718,
"prior_weight": 0.1282
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "676440",
"report_date": "20261010",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 22.0,
"ER": 18.0,
"R": 18.0,
"H": 29.0,
"BB": 6.0,
"SO": 17.0,
"HR": 3.0,
"BF": 99.0,
"Pitches": 362.0
},
"per_game": {
"IP": 4.1,
"ER": 3.6,
"R": 3.6,
"H": 5.8,
"BB": 1.2,
"SO": 3.4,
"HR": 0.6,
"BF": 19.8,
"Pitches": 72.4
},
"rates": {
"ERA": 7.3636,
"WHIP": 1.5909,
"ER_per_IP": 0.81818,
"H_per_IP": 1.31818,
"BB_per_IP": 0.27273,
"SO_per_IP": 0.77273,
"HR_per_IP": 0.13636
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 50.1,
"ER": 34.0,
"R": 35.0,
"H": 57.0,
"BB": 19.0,
"SO": 39.0,
"HR": 6.0,
"BF": 224.0,
"Pitches": 832.0
},
"per_game": {
"IP": 5.0,
"ER": 3.4,
"R": 3.5,
"H": 5.7,
"BB": 1.9,
"SO": 3.9,
"HR": 0.6,
"BF": 22.4,
"Pitches": 83.2
},
"rates": {
"ERA": 6.0795,
"WHIP": 1.5099,
"ER_per_IP": 0.6755,
"H_per_IP": 1.13245,
"BB_per_IP": 0.37748,
"SO_per_IP": 0.77483,
"HR_per_IP": 0.11921
}
},
"season": {
"games": 34,
"totals": {
"IP": 188.1,
"ER": 93.0,
"R": 97.0,
"H": 175.0,
"BB": 57.0,
"SO": 149.0,
"HR": 29.0,
"BF": 783.0,
"Pitches": 2983.0
},
"per_game": {
"IP": 5.2,
"ER": 2.7353,
"R": 2.8529,
"H": 5.1471,
"BB": 1.6765,
"SO": 4.3824,
"HR": 0.8529,
"BF": 23.0294,
"Pitches": 87.7353
},
"rates": {
"ERA": 4.4442,
"WHIP": 1.2319,
"ER_per_IP": 0.49381,
"H_per_IP": 0.9292,
"BB_per_IP": 0.30265,
"SO_per_IP": 0.79115,
"HR_per_IP": 0.15398
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 2.891,
"predicted_H": 4.9,
"predicted_BB": 1.379,
"predicted_SO": 3.393,
"predicted_HR": 0.577,
"predicted_ERA": 6.1126,
"predicted_WHIP": 1.475
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4042,
"form_weight": 0.5958,
"form_reliability": 0.8718,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 34.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8718,
"prior_weight": 0.1282
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 4.1,
"final": 2.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 2.891,
"final": 1.7226,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 4.9,
"final": 2.9196,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.379,
"final": 1.2258,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 3.393,
"final": 2.4258,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.577,
"final": 0.3438,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.1126,
"final": 6.1126,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.475,
"final": 1.475,
"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.141 | 0.000 | 0.000 | Hitting_2B | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 4.570 | 4.000 | 4.000 | Hitting_AB | 3.725 | 3.000 | 0.275 | 1.000 |
| predicted_AVG | 0.276 | 0.500 | 0.500 | Hitting_AVG | 0.284 | 0.333 | 0.216 | 0.167 |
| predicted_BB | 0.570 | 1.000 | 1.000 | Hitting_BB | 0.592 | 2.000 | 0.408 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 1.260 | 2.000 | 2.000 | Hitting_H | 1.059 | 1.000 | 0.941 | 1.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_OBP | 0.383 | 0.600 | 0.600 | Hitting_OBP | 0.384 | 0.600 | 0.216 | 0.000 |
| predicted_R | 0.550 | 1.000 | 1.000 | Hitting_R | 0.608 | 2.000 | 0.392 | -1.000 |
| predicted_RBI | 0.280 | 0.000 | 0.000 | Hitting_RBI | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_SLG | 0.341 | 0.500 | 0.500 | Hitting_SLG | 0.351 | 0.333 | 0.149 | 0.167 |
| predicted_SO | 0.389 | 0.000 | 0.000 | Hitting_SO | 0.423 | 0.000 | -0.423 | 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_H: 1.2600 -> 2.0000 (boost 0.7400, better) |
| Biggest Deboost | predicted_AB: 4.5700 -> 4.0000 (deboost -0.5700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_SLG: 0.3410 -> 0.3510 (boost 0.0100, better) | predicted_AB: 4.5700 -> 4.2097 (deboost -0.3603, worse) | Final model input calibrated with local 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.3876 -> 0.3697 (deboost -0.0179, 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_BB: 0.5999 -> 1.0000 (boost 0.4001, better) | predicted_SO: 0.3772 -> 0.0000 (deboost -0.3772, better) | AB rounded to 4 (raw=4.57), rates preserved: AVG=0.245 HR/AB=0.004 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5694 -> 1.0000 (boost 0.4306, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 3 | 2 | 2 | 3 | predicted_SO: 0.0000 -> 0.5039 (boost 0.5039, worse) | predicted_BB: 1.0000 -> 0.5863 (deboost -0.4137, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 8 | 2 | 6 | 3 | 5 | predicted_BB: 0.5863 -> 1.0000 (boost 0.4137, better) | predicted_SO: 0.5039 -> 0.0000 (deboost -0.5039, 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 | 1 | 1 | 0 | 1 | 0 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3260 -> 0.3320 (boost 0.0060, better) | predicted_OBP: 0.3430 -> 0.3320 (deboost -0.0110, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "680757",
"player_name": "Steven Kwan",
"position": "LF",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.141,
"predicted_3B": 0.02,
"predicted_AB": 4.57,
"predicted_AVG": 0.276,
"predicted_BB": 0.57,
"predicted_H": 1.26,
"predicted_HR": 0.02,
"predicted_OBP": 0.383,
"predicted_R": 0.55,
"predicted_RBI": 0.28,
"predicted_SLG": 0.341,
"predicted_SO": 0.389
},
"changed_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.1192,
"predicted_3B": 0.0405,
"predicted_AB": 4.2097,
"predicted_AVG": 0.2819,
"predicted_BB": 0.6014,
"predicted_H": 1.1831,
"predicted_HBP": 0.013,
"predicted_HR": 0.0191,
"predicted_OBP": 0.3876,
"predicted_R": 0.5731,
"predicted_RBI": 0.2717,
"predicted_SLG": 0.351,
"predicted_SO": 0.3763
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.57,
"after": 4.2097,
"delta": -0.3603,
"percent_delta": -0.0788,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2819,
"delta": 0.0059,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.26,
"after": 1.1831,
"delta": -0.0769,
"percent_delta": -0.061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.351,
"delta": 0.01,
"percent_delta": 0.0293,
"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_SLG",
"before": 0.341,
"after": 0.351,
"delta": 0.01,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.57,
"after": 4.2097,
"delta": -0.3603,
"percent_delta": -0.0788,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1192,
"predicted_3B": 0.0405,
"predicted_AB": 4.2097,
"predicted_AVG": 0.2798,
"predicted_BB": 0.5999,
"predicted_H": 1.178,
"predicted_HBP": 0.013,
"predicted_HR": 0.0189,
"predicted_OBP": 0.3697,
"predicted_R": 0.5694,
"predicted_RBI": 0.2699,
"predicted_SLG": 0.3409,
"predicted_SO": 0.3772
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3876,
"after": 0.3697,
"delta": -0.0179,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3409,
"delta": -0.0101,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3876,
"after": 0.3697,
"delta": -0.0179,
"percent_delta": -0.0462,
"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.57), rates preserved: AVG=0.245 HR/AB=0.004",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1192,
"after": 0.0,
"delta": -0.1192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.2097,
"after": 4.0,
"delta": -0.2097,
"percent_delta": -0.0498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5999,
"after": 1.0,
"delta": 0.4001,
"percent_delta": 0.6669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.178,
"after": 1.0,
"delta": -0.178,
"percent_delta": -0.1511,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2699,
"after": 0.0,
"delta": -0.2699,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3772,
"after": 0.0,
"delta": -0.3772,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5999,
"after": 1.0,
"delta": 0.4001,
"percent_delta": 0.6669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3772,
"after": 0.0,
"delta": -0.3772,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.5694,
"after": 1.0,
"delta": 0.4306,
"percent_delta": 0.7562,
"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.5694,
"after": 1.0,
"delta": 0.4306,
"percent_delta": 0.7562,
"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.1701,
"predicted_3B": 0.0143,
"predicted_BB": 0.5863,
"predicted_H": 0.9336,
"predicted_HR": 0.0474,
"predicted_RBI": 0.2751,
"predicted_SO": 0.5039
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1701,
"delta": 0.1701,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5863,
"delta": -0.4137,
"percent_delta": -0.4137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9336,
"delta": -0.0664,
"percent_delta": -0.0664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.2751,
"delta": 0.2751,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.5039,
"delta": 0.5039,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 0.5039,
"delta": 0.5039,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5863,
"delta": -0.4137,
"percent_delta": -0.4137,
"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.239,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.343,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.326,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1701,
"after": 0.0,
"delta": -0.1701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2798,
"after": 0.239,
"delta": -0.0408,
"percent_delta": -0.1458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5863,
"after": 1.0,
"delta": 0.4137,
"percent_delta": 0.7056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9336,
"after": 1.0,
"delta": 0.0664,
"percent_delta": 0.0711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3697,
"after": 0.343,
"delta": -0.0267,
"percent_delta": -0.0722,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2751,
"after": 0.0,
"delta": -0.2751,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3409,
"after": 0.326,
"delta": -0.0149,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5039,
"after": 0.0,
"delta": -0.5039,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5863,
"after": 1.0,
"delta": 0.4137,
"percent_delta": 0.7056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5039,
"after": 0.0,
"delta": -0.5039,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.239,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.343,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.326,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 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.243,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.332,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.332,
"predicted_SO": 0.0,
"predicted_TB": 2.0
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.332,
"delta": -0.011,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.332,
"delta": 0.006,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.332,
"delta": 0.006,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.332,
"delta": -0.011,
"percent_delta": -0.0321,
"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": 4.57,
"after": 4.0,
"delta": -0.57,
"percent_delta": -0.1247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.243,
"delta": -0.033,
"percent_delta": -0.1196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.26,
"after": 2.0,
"delta": 0.74,
"percent_delta": 0.5873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.383,
"after": 0.332,
"delta": -0.051,
"percent_delta": -0.1332,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.332,
"delta": -0.009,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.389,
"after": 0.0,
"delta": -0.389,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.26,
"after": 2.0,
"delta": 0.74,
"percent_delta": 0.5873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.57,
"after": 4.0,
"delta": -0.57,
"percent_delta": -0.1247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.020 | - |
| predicted_AB | 4.570 | - |
| predicted_AVG | 0.276 | - |
| predicted_BB | 0.570 | - |
| predicted_H | 1.260 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.383 | - |
| predicted_R | 0.550 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.341 | - |
| predicted_SO | 0.389 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | -0.022 |
| predicted_3B | 0.041 | 0.021 |
| predicted_AB | 4.210 | -0.360 |
| predicted_AVG | 0.282 | 0.006 |
| predicted_BB | 0.601 | 0.031 |
| predicted_H | 1.183 | -0.077 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.019 | -0.001 |
| predicted_OBP | 0.388 | 0.005 |
| predicted_R | 0.573 | 0.023 |
| predicted_RBI | 0.272 | -0.008 |
| predicted_SLG | 0.351 | 0.010 |
| predicted_SO | 0.376 | -0.013 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | 0.000 |
| predicted_3B | 0.041 | 0.000 |
| predicted_AB | 4.210 | 0.000 |
| predicted_AVG | 0.280 | -0.002 |
| predicted_BB | 0.600 | -0.002 |
| predicted_H | 1.178 | -0.005 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.019 | -0.000 |
| predicted_OBP | 0.370 | -0.018 |
| predicted_R | 0.569 | -0.004 |
| predicted_RBI | 0.270 | -0.002 |
| predicted_SLG | 0.341 | -0.010 |
| predicted_SO | 0.377 | 0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.57), rates preserved: AVG=0.245 HR/AB=0.004
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.170 | 0.170 |
| 3B | 0.014 | 0.014 |
| BB | 0.586 | -0.414 |
| H | 0.934 | -0.066 |
| HR | 0.047 | 0.047 |
| RBI | 0.275 | 0.275 |
| SO | 0.504 | 0.504 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.170 |
| 3B | 0.000 | -0.014 |
| AB | 4.000 | 0.000 |
| AVG | 0.239 | - |
| BB | 1.000 | 0.414 |
| H | 1.000 | 0.066 |
| HR | 0.000 | -0.047 |
| OBP | 0.343 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.275 |
| SLG | 0.326 | - |
| SO | 0.000 | -0.504 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.119 |
| predicted_3B | 0.000 | -0.041 |
| predicted_AB | 4.000 | -0.210 |
| predicted_AVG | 0.239 | -0.041 |
| predicted_BB | 1.000 | 0.400 |
| predicted_H | 1.000 | -0.178 |
| predicted_HR | 0.000 | -0.019 |
| predicted_OBP | 0.343 | -0.027 |
| predicted_R | 1.000 | 0.431 |
| predicted_RBI | 0.000 | -0.270 |
| predicted_SLG | 0.326 | -0.015 |
| predicted_SO | 0.000 | -0.377 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 1.000 | 0.000 | 2.000 | 4.000 | 4.000 | 1.000 | 0.3000 | 0.4167 | 0.4000 | 0.3000 | 0.0000 | 0.1000 | 0.2000 | 0.0500 |
| last_10 | 0.20 | 10 | - | 38.000 | 12.000 | 0.000 | 1.000 | 0.000 | 2.000 | 6.000 | 8.000 | 3.000 | 0.3158 | 0.4348 | 0.3684 | 0.3158 | 0.0000 | 0.0526 | 0.2105 | 0.0790 |
| season | 0.60 | 149 | - | 542.000 | 152.000 | 21.000 | 3.000 | 3.000 | 33.000 | 82.000 | 85.000 | 58.000 | 0.2804 | 0.3791 | 0.3469 | 0.2804 | 0.0055 | 0.0609 | 0.1568 | 0.1070 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0910 |
| predicted_3B | 0.0670 |
| predicted_AB | 3.7450 |
| predicted_AVG | 0.2894 |
| predicted_BB | 0.6420 |
| predicted_H | 1.0840 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0180 |
| predicted_OBP | 0.3936 |
| predicted_R | 0.6030 |
| predicted_RBI | 0.2610 |
| predicted_SLG | 0.3639 |
| predicted_SO | 0.3600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1410 | 0.0910 | 0.1192 | model_form_blend |
| predicted_3B | 0.0200 | 0.0670 | 0.0405 | model_form_blend |
| predicted_AB | 4.5700 | 3.7450 | 4.2097 | model_form_blend |
| predicted_AVG | 0.2760 | 0.2894 | 0.2819 | model_form_blend |
| predicted_BB | 0.5700 | 0.6420 | 0.6014 | model_form_blend |
| predicted_H | 1.2600 | 1.0840 | 1.1831 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0200 | 0.0180 | 0.0191 | model_form_blend |
| predicted_OBP | 0.3830 | 0.3936 | 0.3876 | model_form_blend |
| predicted_R | 0.5500 | 0.6030 | 0.5731 | model_form_blend |
| predicted_RBI | 0.2800 | 0.2610 | 0.2717 | model_form_blend |
| predicted_SLG | 0.3410 | 0.3639 | 0.3510 | model_form_blend |
| predicted_SO | 0.3890 | 0.3600 | 0.3763 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 610 |
| Season rows before report date | 610 |
| 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 | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF-LF |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 680757 |
| playerID | 680757 |
| playerName | Steven Kwan |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 9.7 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.334 |
| sl_xwoba | 0.328 |
| sl_xba | 0.277 |
| sl_xslg | 0.343 |
| sl_sweet_spot_percent | 40.6 |
| sl_barrel_batted_rate | 0.4 |
| sl_hard_hit_percent | 10.5 |
| sl_exit_velocity_avg | 83.9 |
| sl_launch_angle_avg | 12.8 |
| sl_whiff_percent | 8.2 |
| sl_swing_percent | 35.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.224 | 0.000 | 0.000 | Hitting_2B | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.002 | 0.000 | -0.002 | 0.000 |
| predicted_AB | 4.990 | 5.000 | 5.000 | Hitting_AB | 3.830 | 5.000 | 1.170 | 0.000 |
| predicted_AVG | 0.249 | 0.200 | 0.200 | Hitting_AVG | 0.235 | 0.400 | -0.035 | -0.200 |
| predicted_BB | 0.496 | 0.000 | 0.000 | Hitting_BB | 0.517 | 0.000 | -0.517 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 1.240 | 1.000 | 1.000 | Hitting_H | 0.901 | 2.000 | 0.099 | -1.000 |
| predicted_HR | 0.190 | 1.000 | 1.000 | Hitting_HR | 0.101 | 1.000 | 0.899 | 0.000 |
| predicted_OBP | 0.331 | 0.200 | 0.200 | Hitting_OBP | 0.327 | 0.400 | -0.127 | -0.200 |
| predicted_R | 0.592 | 1.000 | 1.000 | Hitting_R | 0.587 | 2.000 | 0.413 | -1.000 |
| predicted_RBI | 0.770 | 1.000 | 1.000 | Hitting_RBI | 0.474 | 3.000 | 0.526 | -2.000 |
| predicted_SLG | 0.418 | 0.800 | 0.800 | Hitting_SLG | 0.378 | 1.000 | 0.422 | -0.200 |
| predicted_SO | 0.568 | 1.000 | 1.000 | Hitting_SO | 0.569 | 0.000 | 0.431 | 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_HR: 0.1900 -> 1.0000 (boost 0.8100, better) |
| Biggest Deboost | predicted_BB: 0.4960 -> 0.0000 (deboost -0.4960, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 1 | 5 | 1 | 5 | predicted_R: 0.5920 -> 0.6633 (boost 0.0713, better) | predicted_AB: 4.9900 -> 4.5074 (deboost -0.4826, worse) | Final model input calibrated with local 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.3258 -> 0.3168 (deboost -0.0090, 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.5733 -> 1.0000 (boost 0.4267, worse) | predicted_AB: 4.5074 -> 4.0000 (deboost -0.5074, worse) | AB rounded to 4 (raw=4.99), rates preserved: AVG=0.207 HR/AB=0.032 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6590 -> 1.0000 (boost 0.3410, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 0.5153 (boost 0.5153, better) | predicted_RBI: 1.0000 -> 0.4487 (deboost -0.5513, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 8 | 5 | 3 | 4 | 4 | predicted_2B: 0.2044 -> 1.0000 (boost 0.7956, better) | predicted_HR: 0.1035 -> 0.0000 (deboost -0.1035, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Market blend not applied: no props for this hitter |
| 12 | play_by_play_realization | 4 | 2 | 2 | 2 | 2 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "608070",
"player_name": "José Ramírez",
"position": "3B",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.224,
"predicted_3B": 0.008,
"predicted_AB": 4.99,
"predicted_AVG": 0.249,
"predicted_BB": 0.496,
"predicted_H": 1.24,
"predicted_HR": 0.19,
"predicted_OBP": 0.331,
"predicted_R": 0.592,
"predicted_RBI": 0.77,
"predicted_SLG": 0.418,
"predicted_SO": 0.568
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2192,
"predicted_3B": 0.031,
"predicted_AB": 4.5074,
"predicted_AVG": 0.2417,
"predicted_BB": 0.4995,
"predicted_H": 1.0922,
"predicted_HBP": 0.016,
"predicted_HR": 0.1604,
"predicted_OBP": 0.3258,
"predicted_R": 0.6633,
"predicted_RBI": 0.6991,
"predicted_SLG": 0.4158,
"predicted_SO": 0.5719
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.99,
"after": 4.5074,
"delta": -0.4826,
"percent_delta": -0.0967,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2417,
"delta": -0.0073,
"percent_delta": -0.0293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.24,
"after": 1.0922,
"delta": -0.1478,
"percent_delta": -0.1192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3258,
"delta": -0.0052,
"percent_delta": -0.0157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.592,
"after": 0.6633,
"delta": 0.0713,
"percent_delta": 0.1204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.77,
"after": 0.6991,
"delta": -0.0709,
"percent_delta": -0.0921,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.592,
"after": 0.6633,
"delta": 0.0713,
"percent_delta": 0.1204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.99,
"after": 4.5074,
"delta": -0.4826,
"percent_delta": -0.0967,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2192,
"predicted_3B": 0.031,
"predicted_AB": 4.5074,
"predicted_AVG": 0.2413,
"predicted_BB": 0.4983,
"predicted_H": 1.0875,
"predicted_HBP": 0.016,
"predicted_HR": 0.159,
"predicted_OBP": 0.3168,
"predicted_R": 0.659,
"predicted_RBI": 0.6946,
"predicted_SLG": 0.4095,
"predicted_SO": 0.5733
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3258,
"after": 0.3168,
"delta": -0.009,
"percent_delta": -0.0276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4158,
"after": 0.4095,
"delta": -0.0063,
"percent_delta": -0.0152,
"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.3258,
"after": 0.3168,
"delta": -0.009,
"percent_delta": -0.0276,
"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.99), rates preserved: AVG=0.207 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2192,
"after": 0.0,
"delta": -0.2192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.5074,
"after": 4.0,
"delta": -0.5074,
"percent_delta": -0.1126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4983,
"after": 0.0,
"delta": -0.4983,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0875,
"after": 1.0,
"delta": -0.0875,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.159,
"after": 0.0,
"delta": -0.159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6946,
"after": 1.0,
"delta": 0.3054,
"percent_delta": 0.4397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5733,
"after": 1.0,
"delta": 0.4267,
"percent_delta": 0.7443,
"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.5733,
"after": 1.0,
"delta": 0.4267,
"percent_delta": 0.7443,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.5074,
"after": 4.0,
"delta": -0.5074,
"percent_delta": -0.1126,
"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.659,
"after": 1.0,
"delta": 0.341,
"percent_delta": 0.5175,
"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.659,
"after": 1.0,
"delta": 0.341,
"percent_delta": 0.5175,
"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.2044,
"predicted_3B": 0.0107,
"predicted_BB": 0.5153,
"predicted_H": 0.8825,
"predicted_HR": 0.1035,
"predicted_RBI": 0.4487,
"predicted_SO": 0.7004
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.2044,
"delta": 0.2044,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.5153,
"delta": 0.5153,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8825,
"delta": -0.1175,
"percent_delta": -0.1175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1035,
"delta": 0.1035,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4487,
"delta": -0.5513,
"percent_delta": -0.5513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7004,
"delta": -0.2996,
"percent_delta": -0.2996,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.5153,
"delta": 0.5153,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4487,
"delta": -0.5513,
"percent_delta": -0.5513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.22,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.314,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.354,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2044,
"after": 1.0,
"delta": 0.7956,
"percent_delta": 3.8924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2413,
"after": 0.22,
"delta": -0.0213,
"percent_delta": -0.0883,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5153,
"after": 1.0,
"delta": 0.4847,
"percent_delta": 0.9406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8825,
"after": 1.0,
"delta": 0.1175,
"percent_delta": 0.1331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1035,
"after": 0.0,
"delta": -0.1035,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4487,
"after": 1.0,
"delta": 0.5513,
"percent_delta": 1.2287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4095,
"after": 0.354,
"delta": -0.0555,
"percent_delta": -0.1355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7004,
"after": 1.0,
"delta": 0.2996,
"percent_delta": 0.4278,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 5,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.2044,
"after": 1.0,
"delta": 0.7956,
"percent_delta": 3.8924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1035,
"after": 0.0,
"delta": -0.1035,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.22,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.314,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.354,
"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": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"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_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.22,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.314,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.354,
"predicted_SO": 1.0,
"predicted_TB": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.224,
"after": 0.0,
"delta": -0.224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_BB",
"before": 0.496,
"after": 0.0,
"delta": -0.496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.24,
"after": 1.0,
"delta": -0.24,
"percent_delta": -0.1935,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 1.0,
"delta": 0.81,
"percent_delta": 4.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.314,
"delta": -0.017,
"percent_delta": -0.0514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.592,
"after": 1.0,
"delta": 0.408,
"percent_delta": 0.6892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.77,
"after": 1.0,
"delta": 0.23,
"percent_delta": 0.2987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.354,
"delta": -0.064,
"percent_delta": -0.1531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.568,
"after": 1.0,
"delta": 0.432,
"percent_delta": 0.7606,
"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_HR",
"before": 0.19,
"after": 1.0,
"delta": 0.81,
"percent_delta": 4.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.496,
"after": 0.0,
"delta": -0.496,
"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.224 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 4.990 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.496 | - |
| predicted_H | 1.240 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.592 | - |
| predicted_RBI | 0.770 | - |
| predicted_SLG | 0.418 | - |
| predicted_SO | 0.568 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.219 | -0.005 |
| predicted_3B | 0.031 | 0.023 |
| predicted_AB | 4.507 | -0.483 |
| predicted_AVG | 0.242 | -0.007 |
| predicted_BB | 0.499 | 0.004 |
| predicted_H | 1.092 | -0.148 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.160 | -0.030 |
| predicted_OBP | 0.326 | -0.005 |
| predicted_R | 0.663 | 0.071 |
| predicted_RBI | 0.699 | -0.071 |
| predicted_SLG | 0.416 | -0.002 |
| predicted_SO | 0.572 | 0.004 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.219 | 0.000 |
| predicted_3B | 0.031 | 0.000 |
| predicted_AB | 4.507 | 0.000 |
| predicted_AVG | 0.241 | -0.000 |
| predicted_BB | 0.498 | -0.001 |
| predicted_H | 1.087 | -0.005 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.159 | -0.001 |
| predicted_OBP | 0.317 | -0.009 |
| predicted_R | 0.659 | -0.004 |
| predicted_RBI | 0.695 | -0.005 |
| predicted_SLG | 0.409 | -0.006 |
| predicted_SO | 0.573 | 0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.99), rates preserved: AVG=0.207 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.204 | 0.204 |
| 3B | 0.011 | 0.011 |
| BB | 0.515 | 0.515 |
| H | 0.882 | -0.118 |
| HR | 0.103 | 0.103 |
| RBI | 0.449 | -0.551 |
| SO | 0.700 | -0.300 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.796 |
| 3B | 0.000 | -0.011 |
| AB | 4.000 | 0.000 |
| AVG | 0.220 | - |
| BB | 1.000 | 0.485 |
| H | 1.000 | 0.118 |
| HR | 0.000 | -0.103 |
| OBP | 0.314 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.551 |
| SLG | 0.354 | - |
| SO | 1.000 | 0.300 |
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.781 |
| predicted_3B | 0.000 | -0.031 |
| predicted_AB | 4.000 | -0.507 |
| predicted_AVG | 0.220 | -0.021 |
| predicted_BB | 1.000 | 0.502 |
| predicted_H | 1.000 | -0.087 |
| predicted_HR | 0.000 | -0.159 |
| predicted_OBP | 0.314 | -0.003 |
| predicted_R | 1.000 | 0.341 |
| predicted_RBI | 1.000 | 0.305 |
| predicted_SLG | 0.354 | -0.055 |
| predicted_SO | 1.000 | 0.427 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Market blend not applied: no props for this hitter
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 5.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 1.000 | 1.000 | 1.000 | 5.000 | 6.000 | 3.000 | 3.000 | 0.2000 | 0.3043 | 0.5000 | 0.2000 | 0.0500 | 0.2500 | 0.1500 | 0.1500 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 2.000 | 1.000 | 1.000 | 7.000 | 9.000 | 5.000 | 5.000 | 0.2500 | 0.3261 | 0.4250 | 0.2500 | 0.0250 | 0.1750 | 0.1250 | 0.1250 |
| season | 0.60 | 125 | - | 476.000 | 112.000 | 28.000 | 1.000 | 13.000 | 58.000 | 74.000 | 62.000 | 71.000 | 0.2353 | 0.3230 | 0.3803 | 0.2353 | 0.0273 | 0.1218 | 0.1303 | 0.1492 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2130 |
| predicted_3B | 0.0610 |
| predicted_AB | 3.8800 |
| predicted_AVG | 0.2321 |
| predicted_BB | 0.5040 |
| predicted_H | 0.9000 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.1220 |
| predicted_OBP | 0.3191 |
| predicted_R | 0.7560 |
| predicted_RBI | 0.6070 |
| predicted_SLG | 0.4129 |
| predicted_SO | 0.5770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2240 | 0.2130 | 0.2192 | model_form_blend |
| predicted_3B | 0.0080 | 0.0610 | 0.0310 | model_form_blend |
| predicted_AB | 4.9900 | 3.8800 | 4.5074 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2321 | 0.2417 | model_form_blend |
| predicted_BB | 0.4960 | 0.5040 | 0.4995 | model_form_blend |
| predicted_H | 1.2400 | 0.9000 | 1.0922 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1900 | 0.1220 | 0.1604 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3191 | 0.3258 | model_form_blend |
| predicted_R | 0.5920 | 0.7560 | 0.6633 | model_form_blend |
| predicted_RBI | 0.7700 | 0.6070 | 0.6991 | model_form_blend |
| predicted_SLG | 0.4180 | 0.4129 | 0.4158 | model_form_blend |
| predicted_SO | 0.5680 | 0.5770 | 0.5719 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 513 |
| Season rows before report date | 513 |
| Report year | 2026 |
| Profile rows used | 125 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 608070 |
| playerID | 608070 |
| playerName | José Ramírez |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 12.7 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.301 |
| sl_xwoba | 0.325 |
| sl_xba | 0.266 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 19.0 |
| sl_whiff_percent | 15.3 |
| sl_swing_percent | 45.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.212 | 0.000 | 0.000 | Hitting_2B | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 4.720 | 3.000 | 3.000 | Hitting_AB | 3.930 | 4.000 | -0.930 | -1.000 |
| predicted_AVG | 0.241 | 0.333 | 0.333 | Hitting_AVG | 0.281 | 0.250 | 0.052 | 0.083 |
| predicted_BB | 0.447 | 1.000 | 1.000 | Hitting_BB | 0.465 | 1.000 | 0.535 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 1.000 | -0.019 | -1.000 |
| predicted_H | 1.140 | 1.000 | 1.000 | Hitting_H | 1.105 | 1.000 | -0.105 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.342 | 0.500 | 0.500 | Hitting_OBP | 0.356 | 0.400 | 0.144 | 0.100 |
| predicted_R | 0.462 | 0.000 | 0.000 | Hitting_R | 0.499 | 0.000 | -0.499 | 0.000 |
| predicted_RBI | 0.570 | 1.000 | 1.000 | Hitting_RBI | 0.563 | 1.000 | 0.437 | 0.000 |
| predicted_SLG | 0.379 | 0.333 | 0.333 | Hitting_SLG | 0.448 | 0.250 | -0.115 | 0.083 |
| predicted_SO | 0.614 | 0.000 | 0.000 | Hitting_SO | 0.644 | 0.000 | -0.644 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.4470 -> 1.0000 (boost 0.5530, better) |
| Biggest Deboost | predicted_AB: 4.7200 -> 3.0000 (deboost -1.7200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 3 | 2 | predicted_SLG: 0.3790 -> 0.3972 (boost 0.0182, better) | predicted_AB: 4.7200 -> 4.3375 (deboost -0.3825, worse) | Final model input calibrated with local 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.3468 -> 0.3228 (deboost -0.0240, 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.5627 -> 1.0000 (boost 0.4373, worse) | predicted_RBI: 0.5395 -> 0.0000 (deboost -0.5395, worse) | AB rounded to 4 (raw=4.72), rates preserved: AVG=0.219 HR/AB=0.029 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4737 -> 0.0000 (deboost -0.4737, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4714 (boost 0.4714, better) | predicted_SO: 1.0000 -> 0.7329 (deboost -0.2671, better) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 9 | 6 | 3 | 5 | 4 | predicted_2B: 0.1932 -> 1.0000 (boost 0.8068, better) | predicted_HR: 0.1112 -> 0.0000 (deboost -0.1112, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 12 | play_by_play_realization | 3 | 0 | 3 | 1 | 2 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "800050",
"player_name": "Chase DeLauter",
"position": "RF",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.212,
"predicted_3B": 0.023,
"predicted_AB": 4.72,
"predicted_AVG": 0.241,
"predicted_BB": 0.447,
"predicted_H": 1.14,
"predicted_HR": 0.14,
"predicted_OBP": 0.342,
"predicted_R": 0.462,
"predicted_RBI": 0.57,
"predicted_SLG": 0.379,
"predicted_SO": 0.614
},
"changed_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.1933,
"predicted_3B": 0.0191,
"predicted_AB": 4.3375,
"predicted_AVG": 0.252,
"predicted_BB": 0.4675,
"predicted_H": 1.0891,
"predicted_HBP": 0.025,
"predicted_HR": 0.1365,
"predicted_OBP": 0.3468,
"predicted_R": 0.4768,
"predicted_RBI": 0.543,
"predicted_SLG": 0.3972,
"predicted_SO": 0.5613
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.72,
"after": 4.3375,
"delta": -0.3825,
"percent_delta": -0.081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.252,
"delta": 0.011,
"percent_delta": 0.0456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.0891,
"delta": -0.0509,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3972,
"delta": 0.0182,
"percent_delta": 0.048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.614,
"after": 0.5613,
"delta": -0.0527,
"percent_delta": -0.0858,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3972,
"delta": 0.0182,
"percent_delta": 0.048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.72,
"after": 4.3375,
"delta": -0.3825,
"percent_delta": -0.081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 132
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1933,
"predicted_3B": 0.0191,
"predicted_AB": 4.3375,
"predicted_AVG": 0.25,
"predicted_BB": 0.4663,
"predicted_H": 1.0844,
"predicted_HBP": 0.025,
"predicted_HR": 0.1353,
"predicted_OBP": 0.3228,
"predicted_R": 0.4737,
"predicted_RBI": 0.5395,
"predicted_SLG": 0.397,
"predicted_SO": 0.5627
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3468,
"after": 0.3228,
"delta": -0.024,
"percent_delta": -0.0692,
"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.3468,
"after": 0.3228,
"delta": -0.024,
"percent_delta": -0.0692,
"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.72), rates preserved: AVG=0.219 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1933,
"after": 0.0,
"delta": -0.1933,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.3375,
"after": 4.0,
"delta": -0.3375,
"percent_delta": -0.0778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4663,
"after": 0.0,
"delta": -0.4663,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0844,
"after": 1.0,
"delta": -0.0844,
"percent_delta": -0.0778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1353,
"after": 0.0,
"delta": -0.1353,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5395,
"after": 0.0,
"delta": -0.5395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5627,
"after": 1.0,
"delta": 0.4373,
"percent_delta": 0.7771,
"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.5627,
"after": 1.0,
"delta": 0.4373,
"percent_delta": 0.7771,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5395,
"after": 0.0,
"delta": -0.5395,
"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.4737,
"after": 0.0,
"delta": -0.4737,
"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.4737,
"after": 0.0,
"delta": -0.4737,
"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.1932,
"predicted_3B": 0.0147,
"predicted_BB": 0.4622,
"predicted_H": 0.9366,
"predicted_HR": 0.1112,
"predicted_RBI": 0.4714,
"predicted_SO": 0.7329
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1932,
"delta": 0.1932,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4622,
"delta": 0.4622,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9366,
"delta": -0.0634,
"percent_delta": -0.0634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1112,
"delta": 0.1112,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4714,
"delta": 0.4714,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7329,
"delta": -0.2671,
"percent_delta": -0.2671,
"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.4714,
"delta": 0.4714,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7329,
"delta": -0.2671,
"percent_delta": -0.2671,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.245,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.332,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.391,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1932,
"after": 1.0,
"delta": 0.8068,
"percent_delta": 4.176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.245,
"delta": -0.005,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4622,
"after": 1.0,
"delta": 0.5378,
"percent_delta": 1.1636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9366,
"after": 1.0,
"delta": 0.0634,
"percent_delta": 0.0677,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1112,
"after": 0.0,
"delta": -0.1112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3228,
"after": 0.332,
"delta": 0.0092,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4714,
"after": 1.0,
"delta": 0.5286,
"percent_delta": 1.1213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.391,
"delta": -0.006,
"percent_delta": -0.0151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7329,
"after": 1.0,
"delta": 0.2671,
"percent_delta": 0.3644,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.1932,
"after": 1.0,
"delta": 0.8068,
"percent_delta": 4.176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1112,
"after": 0.0,
"delta": -0.1112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.245,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.332,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.391,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.244,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.393,
"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.212,
"after": 0.0,
"delta": -0.212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.72,
"after": 3.0,
"delta": -1.72,
"percent_delta": -0.3644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.447,
"after": 1.0,
"delta": 0.553,
"percent_delta": 1.2371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.0,
"delta": -0.14,
"percent_delta": -0.1228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.333,
"delta": -0.009,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.462,
"after": 0.0,
"delta": -0.462,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.393,
"delta": 0.014,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.614,
"after": 0.0,
"delta": -0.614,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.447,
"after": 1.0,
"delta": 0.553,
"percent_delta": 1.2371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.72,
"after": 3.0,
"delta": -1.72,
"percent_delta": -0.3644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.212 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 4.720 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.447 | - |
| predicted_H | 1.140 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.462 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.379 | - |
| predicted_SO | 0.614 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.193 | -0.019 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 4.338 | -0.382 |
| predicted_AVG | 0.252 | 0.011 |
| predicted_BB | 0.468 | 0.021 |
| predicted_H | 1.089 | -0.051 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.137 | -0.004 |
| predicted_OBP | 0.347 | 0.005 |
| predicted_R | 0.477 | 0.015 |
| predicted_RBI | 0.543 | -0.027 |
| predicted_SLG | 0.397 | 0.018 |
| predicted_SO | 0.561 | -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.193 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 4.338 | 0.000 |
| predicted_AVG | 0.250 | -0.002 |
| predicted_BB | 0.466 | -0.001 |
| predicted_H | 1.084 | -0.005 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.135 | -0.001 |
| predicted_OBP | 0.323 | -0.024 |
| predicted_R | 0.474 | -0.003 |
| predicted_RBI | 0.539 | -0.004 |
| predicted_SLG | 0.397 | -0.000 |
| predicted_SO | 0.563 | 0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.72), rates preserved: AVG=0.219 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.193 | 0.193 |
| 3B | 0.015 | 0.015 |
| BB | 0.462 | 0.462 |
| H | 0.937 | -0.063 |
| HR | 0.111 | 0.111 |
| RBI | 0.471 | 0.471 |
| SO | 0.733 | -0.267 |
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.015 |
| AB | 4.000 | 0.000 |
| AVG | 0.245 | - |
| BB | 1.000 | 0.538 |
| H | 1.000 | 0.063 |
| HR | 0.000 | -0.111 |
| OBP | 0.332 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.529 |
| SLG | 0.391 | - |
| SO | 1.000 | 0.267 |
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.807 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | -0.338 |
| predicted_AVG | 0.245 | -0.005 |
| predicted_BB | 1.000 | 0.534 |
| predicted_H | 1.000 | -0.084 |
| predicted_HR | 0.000 | -0.135 |
| predicted_OBP | 0.332 | 0.009 |
| predicted_R | 0.000 | -0.474 |
| predicted_RBI | 1.000 | 0.461 |
| predicted_SLG | 0.391 | -0.006 |
| predicted_SO | 1.000 | 0.437 |
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 | 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 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 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 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 3.000 | 0.000 | 0.2500 | 0.3478 | 0.4000 | 0.2500 | 0.0500 | 0.1500 | 0.1500 | 0.0000 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 2.000 | 0.000 | 1.000 | 4.000 | 5.000 | 6.000 | 5.000 | 0.2308 | 0.3478 | 0.3590 | 0.2308 | 0.0256 | 0.1026 | 0.1538 | 0.1282 |
| season | 0.60 | 132 | - | 498.000 | 142.000 | 28.000 | 3.000 | 16.000 | 68.000 | 61.000 | 59.000 | 81.000 | 0.2851 | 0.3607 | 0.4498 | 0.2851 | 0.0321 | 0.1366 | 0.1185 | 0.1626 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1690 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.8410 |
| predicted_AVG | 0.2662 |
| predicted_BB | 0.4940 |
| predicted_H | 1.0230 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1320 |
| predicted_OBP | 0.3530 |
| predicted_R | 0.4960 |
| predicted_RBI | 0.5080 |
| predicted_SLG | 0.4209 |
| predicted_SO | 0.4930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2120 | 0.1690 | 0.1933 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0191 | model_form_blend |
| predicted_AB | 4.7200 | 3.8410 | 4.3375 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2662 | 0.2520 | model_form_blend |
| predicted_BB | 0.4470 | 0.4940 | 0.4675 | model_form_blend |
| predicted_H | 1.1400 | 1.0230 | 1.0891 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1400 | 0.1320 | 0.1365 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3530 | 0.3468 | model_form_blend |
| predicted_R | 0.4620 | 0.4960 | 0.4768 | model_form_blend |
| predicted_RBI | 0.5700 | 0.5080 | 0.5430 | model_form_blend |
| predicted_SLG | 0.3790 | 0.4209 | 0.3972 | model_form_blend |
| predicted_SO | 0.6140 | 0.4930 | 0.5613 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 531 |
| Season rows before report date | 531 |
| Report year | 2026 |
| Profile rows used | 132 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 800050 |
| playerID | 800050 |
| playerName | Chase DeLauter |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.359 |
| sl_xwoba | 0.346 |
| sl_xba | 0.277 |
| sl_xslg | 0.427 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 15.0 |
| sl_swing_percent | 42.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.160 | 1.000 | 1.000 | Hitting_2B | 0.240 | 0.000 | 0.760 | 1.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 3.796 | 4.000 | 4.000 | Hitting_AB | 3.909 | 4.000 | 0.091 | 0.000 |
| predicted_AVG | 0.241 | 0.250 | 0.250 | Hitting_AVG | 0.238 | 0.250 | 0.012 | 0.000 |
| predicted_BB | 0.228 | 0.000 | 0.000 | Hitting_BB | 0.406 | 1.000 | -0.406 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.914 | 1.000 | 1.000 | Hitting_H | 0.931 | 1.000 | 0.069 | 0.000 |
| predicted_HR | 0.142 | 0.000 | 0.000 | Hitting_HR | 0.143 | 0.000 | -0.143 | 0.000 |
| predicted_OBP | 0.284 | 0.250 | 0.250 | Hitting_OBP | 0.324 | 0.400 | -0.074 | -0.150 |
| predicted_R | 0.432 | 1.000 | 1.000 | Hitting_R | 0.514 | 0.000 | 0.486 | 1.000 |
| predicted_RBI | 0.611 | 1.000 | 1.000 | Hitting_RBI | 0.749 | 2.000 | 0.251 | -1.000 |
| predicted_SLG | 0.405 | 0.500 | 0.500 | Hitting_SLG | 0.415 | 0.250 | 0.085 | 0.250 |
| predicted_SO | 1.012 | 2.000 | 2.000 | Hitting_SO | 1.109 | 1.000 | 0.891 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 12 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 1.0120 -> 2.0000 (boost 0.9880, worse) |
| Biggest Deboost | predicted_BB: 0.2280 -> 0.0000 (deboost -0.2280, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 5 | 1 | predicted_BB: 0.2280 -> 0.3269 (boost 0.0989, 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 | 9 | 3 | 6 | 4 | 5 | predicted_RBI: 0.6804 -> 1.0000 (boost 0.3196, better) | predicted_BB: 0.3261 -> 0.0000 (deboost -0.3261, worse) | AB rounded to 4 (raw=3.80), rates preserved: AVG=0.234 HR/AB=0.037 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4079 -> 0.0000 (deboost -0.4079, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.0000 -> 0.2528 (boost 0.2528, better) | predicted_RBI: 1.0000 -> 0.5630 (deboost -0.4370, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 10 | 4 | 6 | 5 | 5 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 0.2528 -> 0.0000 (deboost -0.2528, 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 | 1 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2820 -> 0.2900 (boost 0.0080, better) | predicted_AVG: 0.2280 -> 0.2170 (deboost -0.0110, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "666176",
"player_name": "Jo Adell",
"position": "DH",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.16,
"predicted_3B": 0.019,
"predicted_AB": 3.796,
"predicted_AVG": 0.241,
"predicted_BB": 0.228,
"predicted_H": 0.914,
"predicted_HR": 0.142,
"predicted_OBP": 0.284,
"predicted_R": 0.432,
"predicted_RBI": 0.611,
"predicted_SLG": 0.405,
"predicted_SO": 1.012
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1416,
"predicted_3B": 0.0671,
"predicted_AB": 3.7715,
"predicted_AVG": 0.249,
"predicted_BB": 0.3269,
"predicted_H": 0.9385,
"predicted_HBP": 0.064,
"predicted_HR": 0.1433,
"predicted_OBP": 0.3109,
"predicted_R": 0.4106,
"predicted_RBI": 0.6849,
"predicted_SLG": 0.4362,
"predicted_SO": 1.068
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.249,
"delta": 0.008,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.228,
"after": 0.3269,
"delta": 0.0989,
"percent_delta": 0.4338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.3109,
"delta": 0.0269,
"percent_delta": 0.0947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.611,
"after": 0.6849,
"delta": 0.0739,
"percent_delta": 0.1209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.4362,
"delta": 0.0312,
"percent_delta": 0.077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.012,
"after": 1.068,
"delta": 0.056,
"percent_delta": 0.0553,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.228,
"after": 0.3269,
"delta": 0.0989,
"percent_delta": 0.4338,
"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": 162
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1416,
"predicted_3B": 0.0671,
"predicted_AB": 3.7715,
"predicted_AVG": 0.2478,
"predicted_BB": 0.3261,
"predicted_H": 0.9345,
"predicted_HBP": 0.064,
"predicted_HR": 0.142,
"predicted_OBP": 0.3076,
"predicted_R": 0.4079,
"predicted_RBI": 0.6804,
"predicted_SLG": 0.4339,
"predicted_SO": 1.0707
},
"changed_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.80), rates preserved: AVG=0.234 HR/AB=0.037",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1416,
"after": 0.0,
"delta": -0.1416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0671,
"after": 0.0,
"delta": -0.0671,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7715,
"after": 4.0,
"delta": 0.2285,
"percent_delta": 0.0606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3261,
"after": 0.0,
"delta": -0.3261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9345,
"after": 1.0,
"delta": 0.0655,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.064,
"after": 0.0,
"delta": -0.064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.142,
"after": 0.0,
"delta": -0.142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6804,
"after": 1.0,
"delta": 0.3196,
"percent_delta": 0.4697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0707,
"after": 1.0,
"delta": -0.0707,
"percent_delta": -0.066,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6804,
"after": 1.0,
"delta": 0.3196,
"percent_delta": 0.4697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3261,
"after": 0.0,
"delta": -0.3261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.4079,
"after": 0.0,
"delta": -0.4079,
"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.4079,
"after": 0.0,
"delta": -0.4079,
"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.1671,
"predicted_3B": 0.013,
"predicted_BB": 0.2528,
"predicted_H": 0.8763,
"predicted_HR": 0.1253,
"predicted_RBI": 0.563,
"predicted_SO": 1.2086
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1671,
"delta": 0.1671,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2528,
"delta": 0.2528,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8763,
"delta": -0.1237,
"percent_delta": -0.1237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1253,
"delta": 0.1253,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.563,
"delta": -0.437,
"percent_delta": -0.437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.2086,
"delta": 0.2086,
"percent_delta": 0.2086,
"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.2528,
"delta": 0.2528,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.563,
"delta": -0.437,
"percent_delta": -0.437,
"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.228,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.282,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.377,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1671,
"after": 0.0,
"delta": -0.1671,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2478,
"after": 0.228,
"delta": -0.0198,
"percent_delta": -0.0799,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2528,
"after": 0.0,
"delta": -0.2528,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8763,
"after": 1.0,
"delta": 0.1237,
"percent_delta": 0.1412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1253,
"after": 1.0,
"delta": 0.8747,
"percent_delta": 6.9808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3076,
"after": 0.282,
"delta": -0.0256,
"percent_delta": -0.0832,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.563,
"after": 1.0,
"delta": 0.437,
"percent_delta": 0.7762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4339,
"after": 0.377,
"delta": -0.0569,
"percent_delta": -0.1311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2086,
"after": 1.0,
"delta": -0.2086,
"percent_delta": -0.1726,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2528,
"after": 0.0,
"delta": -0.2528,
"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.228,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.282,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.377,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.217,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.29,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.37,
"predicted_SO": 2.0,
"predicted_TB": 2.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.217,
"delta": -0.011,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.29,
"delta": 0.008,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.37,
"delta": -0.007,
"percent_delta": -0.0186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.29,
"delta": 0.008,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.217,
"delta": -0.011,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.796,
"after": 4.0,
"delta": 0.204,
"percent_delta": 0.0537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.217,
"delta": -0.024,
"percent_delta": -0.0996,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.228,
"after": 0.0,
"delta": -0.228,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.914,
"after": 1.0,
"delta": 0.086,
"percent_delta": 0.0941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.064,
"after": 0.0,
"delta": -0.064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.142,
"after": 0.0,
"delta": -0.142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.29,
"delta": 0.006,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.432,
"after": 1.0,
"delta": 0.568,
"percent_delta": 1.3148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.611,
"after": 1.0,
"delta": 0.389,
"percent_delta": 0.6367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.37,
"delta": -0.035,
"percent_delta": -0.0864,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.012,
"after": 2.0,
"delta": 0.988,
"percent_delta": 0.9763,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 7,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.012,
"after": 2.0,
"delta": 0.988,
"percent_delta": 0.9763,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.228,
"after": 0.0,
"delta": -0.228,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 3.796 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.228 | - |
| predicted_H | 0.914 | - |
| predicted_HR | 0.142 | - |
| predicted_OBP | 0.284 | - |
| predicted_R | 0.432 | - |
| predicted_RBI | 0.611 | - |
| predicted_SLG | 0.405 | - |
| predicted_SO | 1.012 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.142 | -0.018 |
| predicted_3B | 0.067 | 0.048 |
| predicted_AB | 3.772 | -0.024 |
| predicted_AVG | 0.249 | 0.008 |
| predicted_BB | 0.327 | 0.099 |
| predicted_H | 0.939 | 0.024 |
| predicted_HBP | 0.064 | - |
| predicted_HR | 0.143 | 0.001 |
| predicted_OBP | 0.311 | 0.027 |
| predicted_R | 0.411 | -0.021 |
| predicted_RBI | 0.685 | 0.074 |
| predicted_SLG | 0.436 | 0.031 |
| predicted_SO | 1.068 | 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.142 | 0.000 |
| predicted_3B | 0.067 | 0.000 |
| predicted_AB | 3.772 | 0.000 |
| predicted_AVG | 0.248 | -0.001 |
| predicted_BB | 0.326 | -0.001 |
| predicted_H | 0.934 | -0.004 |
| predicted_HBP | 0.064 | 0.000 |
| predicted_HR | 0.142 | -0.001 |
| predicted_OBP | 0.308 | -0.003 |
| predicted_R | 0.408 | -0.003 |
| predicted_RBI | 0.680 | -0.004 |
| predicted_SLG | 0.434 | -0.002 |
| predicted_SO | 1.071 | 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.80), rates preserved: AVG=0.234 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.167 | 0.167 |
| 3B | 0.013 | 0.013 |
| BB | 0.253 | 0.253 |
| H | 0.876 | -0.124 |
| HR | 0.125 | 0.125 |
| RBI | 0.563 | -0.437 |
| SO | 1.209 | 0.209 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.167 |
| 3B | 0.000 | -0.013 |
| AB | 4.000 | 0.000 |
| AVG | 0.228 | - |
| BB | 0.000 | -0.253 |
| H | 1.000 | 0.124 |
| HR | 1.000 | 0.875 |
| OBP | 0.282 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.437 |
| SLG | 0.377 | - |
| SO | 1.000 | -0.209 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.142 |
| predicted_3B | 0.000 | -0.067 |
| predicted_AB | 4.000 | 0.228 |
| predicted_AVG | 0.228 | -0.020 |
| predicted_BB | 0.000 | -0.326 |
| predicted_H | 1.000 | 0.066 |
| predicted_HR | 1.000 | 0.858 |
| predicted_OBP | 0.282 | -0.026 |
| predicted_R | 1.000 | 0.592 |
| predicted_RBI | 1.000 | 0.320 |
| predicted_SLG | 0.377 | -0.057 |
| predicted_SO | 1.000 | -0.071 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 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 | - | 18.000 | 6.000 | 0.000 | 2.000 | 1.000 | 7.000 | 1.000 | 4.000 | 8.000 | 0.3333 | 0.4545 | 0.7222 | 0.3333 | 0.0556 | 0.3889 | 0.2222 | 0.4444 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 1.000 | 2.000 | 1.000 | 7.000 | 4.000 | 8.000 | 11.000 | 0.2432 | 0.3778 | 0.4595 | 0.2432 | 0.0270 | 0.1892 | 0.2162 | 0.2973 |
| season | 0.60 | 162 | - | 615.000 | 148.000 | 26.000 | 3.000 | 23.000 | 99.000 | 70.000 | 37.000 | 164.000 | 0.2407 | 0.3012 | 0.4049 | 0.2407 | 0.0374 | 0.1610 | 0.0602 | 0.2667 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1180 |
| predicted_3B | 0.1290 |
| predicted_AB | 3.7400 |
| predicted_AVG | 0.2592 |
| predicted_BB | 0.4540 |
| predicted_H | 0.9700 |
| predicted_HBP | 0.0640 |
| predicted_HR | 0.1450 |
| predicted_OBP | 0.3454 |
| predicted_R | 0.3830 |
| predicted_RBI | 0.7800 |
| predicted_SLG | 0.4762 |
| predicted_SO | 1.1400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1180 | 0.1416 | model_form_blend |
| predicted_3B | 0.0190 | 0.1290 | 0.0671 | model_form_blend |
| predicted_AB | 3.7960 | 3.7400 | 3.7715 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2592 | 0.2490 | model_form_blend |
| predicted_BB | 0.2280 | 0.4540 | 0.3269 | model_form_blend |
| predicted_H | 0.9140 | 0.9700 | 0.9385 | model_form_blend |
| predicted_HBP | - | 0.0640 | 0.0640 | form_only |
| predicted_HR | 0.1420 | 0.1450 | 0.1433 | model_form_blend |
| predicted_OBP | 0.2840 | 0.3454 | 0.3109 | model_form_blend |
| predicted_R | 0.4320 | 0.3830 | 0.4106 | model_form_blend |
| predicted_RBI | 0.6110 | 0.7800 | 0.6849 | model_form_blend |
| predicted_SLG | 0.4050 | 0.4762 | 0.4362 | model_form_blend |
| predicted_SO | 1.0120 | 1.1400 | 1.0680 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 175 |
| Season rows before report date | 175 |
| Report year | 2026 |
| Profile rows used | 162 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 666176 |
| playerID | 666176 |
| playerName | Jo Adell |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.307 |
| sl_xwoba | 0.329 |
| sl_xba | 0.257 |
| sl_xslg | 0.444 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 44.9 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 16.2 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 53.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.183 | 0.000 | 0.000 | Hitting_2B | 0.184 | 0.000 | -0.184 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.175 | 4.000 | 4.000 | Hitting_AB | 3.489 | 4.000 | 0.511 | 0.000 |
| predicted_AVG | 0.270 | 0.250 | 0.250 | Hitting_AVG | 0.238 | 0.500 | 0.012 | -0.250 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.333 | 1.000 | -0.333 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.810 | 1.000 | 1.000 | Hitting_H | 0.830 | 2.000 | 0.170 | -1.000 |
| predicted_HR | 0.100 | 1.000 | 1.000 | Hitting_HR | 0.135 | 0.000 | 0.865 | 1.000 |
| predicted_OBP | 0.342 | 0.250 | 0.250 | Hitting_OBP | 0.298 | 0.600 | -0.048 | -0.350 |
| predicted_R | 0.300 | 1.000 | 1.000 | Hitting_R | 0.348 | 0.000 | 0.652 | 1.000 |
| predicted_RBI | 0.460 | 2.000 | 2.000 | Hitting_RBI | 0.695 | 0.000 | 1.305 | 2.000 |
| predicted_SLG | 0.407 | 1.000 | 1.000 | Hitting_SLG | 0.407 | 0.500 | 0.593 | 0.500 |
| predicted_SO | 0.817 | 2.000 | 2.000 | Hitting_SO | 0.794 | 0.000 | 1.206 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.4600 -> 2.0000 (boost 1.5400, better) |
| Biggest Deboost | predicted_BB: 0.3330 -> 0.0000 (deboost -0.3330, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.3330 -> 0.3994 (boost 0.0664, better) | predicted_SO: 0.8170 -> 0.7506 (deboost -0.0664, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2612 -> 0.2516 (deboost -0.0096, 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.7525 -> 1.0000 (boost 0.2475, worse) | predicted_RBI: 0.4561 -> 0.0000 (deboost -0.4561, worse) | AB rounded to 3 (raw=3.20), rates preserved: AVG=0.239 HR/AB=0.029 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2788 -> 0.0000 (deboost -0.2788, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 4 | 1 | 4 | 1 | predicted_RBI: 0.0000 -> 0.4859 (boost 0.4859, better) | predicted_H: 1.0000 -> 0.7914 (deboost -0.2086, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 8 | 2 | 6 | 2 | 6 | predicted_RBI: 0.4859 -> 1.0000 (boost 0.5141, better) | predicted_BB: 0.3770 -> 0.0000 (deboost -0.3770, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 12 | play_by_play_realization | 5 | 5 | 0 | 4 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3090 -> 0.2990 (deboost -0.0100, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"position": "1B",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.183,
"predicted_3B": 0.0,
"predicted_AB": 3.175,
"predicted_AVG": 0.27,
"predicted_BB": 0.333,
"predicted_H": 0.81,
"predicted_HR": 0.1,
"predicted_OBP": 0.342,
"predicted_R": 0.3,
"predicted_RBI": 0.46,
"predicted_SLG": 0.407,
"predicted_SO": 0.817
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1778,
"predicted_3B": 0.0004,
"predicted_AB": 3.1965,
"predicted_AVG": 0.2612,
"predicted_BB": 0.3994,
"predicted_H": 0.8078,
"predicted_HBP": 0.03,
"predicted_HR": 0.0927,
"predicted_OBP": 0.3429,
"predicted_R": 0.2806,
"predicted_RBI": 0.4591,
"predicted_SLG": 0.3956,
"predicted_SO": 0.7506
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2612,
"delta": -0.0088,
"percent_delta": -0.0326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3994,
"delta": 0.0664,
"percent_delta": 0.1994,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.3956,
"delta": -0.0114,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.817,
"after": 0.7506,
"delta": -0.0664,
"percent_delta": -0.0813,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3994,
"delta": 0.0664,
"percent_delta": 0.1994,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.817,
"after": 0.7506,
"delta": -0.0664,
"percent_delta": -0.0813,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 120
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1778,
"predicted_3B": 0.0004,
"predicted_AB": 3.1965,
"predicted_AVG": 0.2516,
"predicted_BB": 0.3984,
"predicted_H": 0.8043,
"predicted_HBP": 0.03,
"predicted_HR": 0.0919,
"predicted_OBP": 0.3346,
"predicted_R": 0.2788,
"predicted_RBI": 0.4561,
"predicted_SLG": 0.3937,
"predicted_SO": 0.7525
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2612,
"after": 0.2516,
"delta": -0.0096,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3429,
"after": 0.3346,
"delta": -0.0083,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2612,
"after": 0.2516,
"delta": -0.0096,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.20), rates preserved: AVG=0.239 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1778,
"after": 0.0,
"delta": -0.1778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.1965,
"after": 3.0,
"delta": -0.1965,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3984,
"after": 0.0,
"delta": -0.3984,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8043,
"after": 1.0,
"delta": 0.1957,
"percent_delta": 0.2433,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0919,
"after": 0.0,
"delta": -0.0919,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4561,
"after": 0.0,
"delta": -0.4561,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7525,
"after": 1.0,
"delta": 0.2475,
"percent_delta": 0.3289,
"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.7525,
"after": 1.0,
"delta": 0.2475,
"percent_delta": 0.3289,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4561,
"after": 0.0,
"delta": -0.4561,
"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.2788,
"after": 0.0,
"delta": -0.2788,
"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.2788,
"after": 0.0,
"delta": -0.2788,
"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.1747,
"predicted_3B": 0.0078,
"predicted_BB": 0.377,
"predicted_H": 0.7914,
"predicted_HR": 0.12,
"predicted_RBI": 0.4859,
"predicted_SO": 0.9988
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1747,
"delta": 0.1747,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.377,
"delta": 0.377,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7914,
"delta": -0.2086,
"percent_delta": -0.2086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.12,
"delta": 0.12,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4859,
"delta": 0.4859,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4859,
"delta": 0.4859,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7914,
"delta": -0.2086,
"percent_delta": -0.2086,
"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.228,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.309,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.387,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1747,
"after": 0.0,
"delta": -0.1747,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2516,
"after": 0.228,
"delta": -0.0236,
"percent_delta": -0.0938,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7914,
"after": 1.0,
"delta": 0.2086,
"percent_delta": 0.2636,
"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.3346,
"after": 0.309,
"delta": -0.0256,
"percent_delta": -0.0765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4859,
"after": 1.0,
"delta": 0.5141,
"percent_delta": 1.058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3937,
"after": 0.387,
"delta": -0.0067,
"percent_delta": -0.017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4859,
"after": 1.0,
"delta": 0.5141,
"percent_delta": 1.058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"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.228,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.309,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.387,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.22,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.299,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.38,
"predicted_SO": 2.0,
"predicted_TB": 4.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.22,
"delta": -0.008,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.299,
"delta": -0.01,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.38,
"delta": -0.007,
"percent_delta": -0.0181,
"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.299,
"delta": -0.01,
"percent_delta": -0.0324,
"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.183,
"after": 0.0,
"delta": -0.183,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.175,
"after": 4.0,
"delta": 0.825,
"percent_delta": 0.2598,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.22,
"delta": -0.05,
"percent_delta": -0.1852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.299,
"delta": -0.043,
"percent_delta": -0.1257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 2.0,
"delta": 1.54,
"percent_delta": 3.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.38,
"delta": -0.027,
"percent_delta": -0.0663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.817,
"after": 2.0,
"delta": 1.183,
"percent_delta": 1.448,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.46,
"after": 2.0,
"delta": 1.54,
"percent_delta": 3.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"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.183 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.175 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.300 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.407 | - |
| predicted_SO | 0.817 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.178 | -0.005 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.196 | 0.022 |
| predicted_AVG | 0.261 | -0.009 |
| predicted_BB | 0.399 | 0.066 |
| predicted_H | 0.808 | -0.002 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.093 | -0.007 |
| predicted_OBP | 0.343 | 0.001 |
| predicted_R | 0.281 | -0.019 |
| predicted_RBI | 0.459 | -0.001 |
| predicted_SLG | 0.396 | -0.011 |
| predicted_SO | 0.751 | -0.066 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.178 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.196 | 0.000 |
| predicted_AVG | 0.252 | -0.010 |
| predicted_BB | 0.398 | -0.001 |
| predicted_H | 0.804 | -0.003 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.092 | -0.001 |
| predicted_OBP | 0.335 | -0.008 |
| predicted_R | 0.279 | -0.002 |
| predicted_RBI | 0.456 | -0.003 |
| predicted_SLG | 0.394 | -0.002 |
| predicted_SO | 0.752 | 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.20), rates preserved: AVG=0.239 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.175 | 0.175 |
| 3B | 0.008 | 0.008 |
| BB | 0.377 | 0.377 |
| H | 0.791 | -0.209 |
| HR | 0.120 | 0.120 |
| RBI | 0.486 | 0.486 |
| SO | 0.999 | -0.001 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.175 |
| 3B | 0.000 | -0.008 |
| AB | 3.000 | 0.000 |
| AVG | 0.228 | - |
| BB | 0.000 | -0.377 |
| H | 1.000 | 0.209 |
| HR | 0.000 | -0.120 |
| OBP | 0.309 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.514 |
| SLG | 0.387 | - |
| SO | 1.000 | 0.001 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.178 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.196 |
| predicted_AVG | 0.228 | -0.024 |
| predicted_BB | 0.000 | -0.398 |
| predicted_H | 1.000 | 0.196 |
| predicted_HR | 0.000 | -0.092 |
| predicted_OBP | 0.309 | -0.026 |
| predicted_R | 0.000 | -0.279 |
| predicted_RBI | 1.000 | 0.544 |
| predicted_SLG | 0.387 | -0.007 |
| predicted_SO | 1.000 | 0.248 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 1.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 5.000 | 2.000 | 0.2500 | 0.4286 | 0.3125 | 0.2500 | 0.0000 | 0.0625 | 0.3125 | 0.1250 |
| last_10 | 0.20 | 10 | - | 32.000 | 8.000 | 1.000 | 0.000 | 0.000 | 5.000 | 1.000 | 5.000 | 4.000 | 0.2500 | 0.3500 | 0.2812 | 0.2500 | 0.0000 | 0.1562 | 0.1562 | 0.1250 |
| season | 0.60 | 120 | - | 381.000 | 95.000 | 22.000 | 0.000 | 16.000 | 63.000 | 36.000 | 40.000 | 98.000 | 0.2493 | 0.3186 | 0.4331 | 0.2493 | 0.0420 | 0.1653 | 0.1050 | 0.2572 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1710 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2250 |
| predicted_AVG | 0.2495 |
| predicted_BB | 0.4870 |
| predicted_H | 0.8050 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.0830 |
| predicted_OBP | 0.3442 |
| predicted_R | 0.2550 |
| predicted_RBI | 0.4580 |
| predicted_SLG | 0.3805 |
| predicted_SO | 0.6630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1830 | 0.1710 | 0.1778 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.1750 | 3.2250 | 3.1965 | model_form_blend |
| predicted_AVG | 0.2700 | 0.2495 | 0.2612 | model_form_blend |
| predicted_BB | 0.3330 | 0.4870 | 0.3994 | model_form_blend |
| predicted_H | 0.8100 | 0.8050 | 0.8078 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.1000 | 0.0830 | 0.0927 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3442 | 0.3429 | model_form_blend |
| predicted_R | 0.3000 | 0.2550 | 0.2806 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4580 | 0.4591 | model_form_blend |
| predicted_SLG | 0.4070 | 0.3805 | 0.3956 | model_form_blend |
| predicted_SO | 0.8170 | 0.6630 | 0.7506 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 141 |
| Season rows before report date | 141 |
| Report year | 2026 |
| Profile rows used | 120 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 663993 |
| playerID | 663993 |
| playerName | Nathaniel Lowe |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.329 |
| sl_xwoba | 0.335 |
| sl_xba | 0.268 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 41.4 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 46.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.184 | 0.000 | 0.000 | Hitting_2B | 0.178 | 1.000 | -0.178 | -1.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.670 | 3.000 | 3.000 | Hitting_AB | 3.706 | 4.000 | -0.706 | -1.000 |
| predicted_AVG | 0.215 | 0.000 | 0.000 | Hitting_AVG | 0.249 | 0.250 | -0.249 | -0.250 |
| predicted_BB | 0.456 | 1.000 | 1.000 | Hitting_BB | 0.505 | 0.000 | 0.495 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_H | 0.790 | 0.000 | 0.000 | Hitting_H | 0.923 | 1.000 | -0.923 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.302 | 0.250 | 0.250 | Hitting_OBP | 0.344 | 0.250 | -0.094 | 0.000 |
| predicted_R | 0.456 | 0.000 | 0.000 | Hitting_R | 0.471 | 1.000 | -0.471 | -1.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.521 | 1.000 | -0.521 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_SLG | 0.368 | 0.000 | 0.000 | Hitting_SLG | 0.404 | 0.500 | -0.404 | -0.500 |
| predicted_SO | 0.856 | 1.000 | 1.000 | Hitting_SO | 0.897 | 0.000 | 0.103 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.4560 -> 1.0000 (boost 0.5440, better) |
| Biggest Deboost | predicted_H: 0.7900 -> 0.0000 (deboost -0.7900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3655 -> 0.3478 (deboost -0.0177, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.7672 -> 1.0000 (boost 0.2328, better) | predicted_AB: 3.6257 -> 3.0000 (deboost -0.6257, worse) | AB rounded to 3 (raw=3.67), rates preserved: AVG=0.199 HR/AB=0.021 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4785 -> 0.0000 (deboost -0.4785, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_BB: 0.0000 -> 0.4322 (boost 0.4322, better) | predicted_H: 1.0000 -> 0.7690 (deboost -0.2310, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 10 | 6 | 4 | 5 | 5 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 0.4322 -> 0.0000 (deboost -0.4322, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_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 | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3130 -> 0.3030 (deboost -0.0100, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "683953",
"player_name": "Travis Bazzana",
"position": "2B",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.184,
"predicted_3B": 0.016,
"predicted_AB": 3.67,
"predicted_AVG": 0.215,
"predicted_BB": 0.456,
"predicted_H": 0.79,
"predicted_HR": 0.08,
"predicted_OBP": 0.302,
"predicted_R": 0.456,
"predicted_RBI": 0.35,
"predicted_SLG": 0.368,
"predicted_SO": 0.856
},
"changed_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.2205,
"predicted_3B": 0.0216,
"predicted_AB": 3.6257,
"predicted_AVG": 0.2123,
"predicted_BB": 0.4595,
"predicted_H": 0.7705,
"predicted_HBP": 0.033,
"predicted_HR": 0.0774,
"predicted_OBP": 0.303,
"predicted_R": 0.4816,
"predicted_RBI": 0.3431,
"predicted_SLG": 0.3655,
"predicted_SO": 0.8291
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2205,
"predicted_3B": 0.0216,
"predicted_AB": 3.6257,
"predicted_AVG": 0.2116,
"predicted_BB": 0.4584,
"predicted_H": 0.7672,
"predicted_HBP": 0.033,
"predicted_HR": 0.0767,
"predicted_OBP": 0.3001,
"predicted_R": 0.4785,
"predicted_RBI": 0.3409,
"predicted_SLG": 0.3478,
"predicted_SO": 0.8312
},
"changed_metrics": [
{
"metric": "predicted_SLG",
"before": 0.3655,
"after": 0.3478,
"delta": -0.0177,
"percent_delta": -0.0484,
"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.3655,
"after": 0.3478,
"delta": -0.0177,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.67), rates preserved: AVG=0.199 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.2205,
"after": 0.0,
"delta": -0.2205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.6257,
"after": 3.0,
"delta": -0.6257,
"percent_delta": -0.1726,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4584,
"after": 0.0,
"delta": -0.4584,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7672,
"after": 1.0,
"delta": 0.2328,
"percent_delta": 0.3034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0767,
"after": 0.0,
"delta": -0.0767,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3409,
"after": 0.0,
"delta": -0.3409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8312,
"after": 1.0,
"delta": 0.1688,
"percent_delta": 0.2031,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7672,
"after": 1.0,
"delta": 0.2328,
"percent_delta": 0.3034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.6257,
"after": 3.0,
"delta": -0.6257,
"percent_delta": -0.1726,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9077,
"bvp": 0.0923
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.4785,
"after": 0.0,
"delta": -0.4785,
"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.4785,
"after": 0.0,
"delta": -0.4785,
"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.1671,
"predicted_3B": 0.0116,
"predicted_BB": 0.4322,
"predicted_H": 0.769,
"predicted_HR": 0.1015,
"predicted_RBI": 0.3924,
"predicted_SO": 0.9091
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1671,
"delta": 0.1671,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4322,
"delta": 0.4322,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.769,
"delta": -0.231,
"percent_delta": -0.231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1015,
"delta": 0.1015,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3924,
"delta": 0.3924,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9091,
"delta": -0.0909,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4322,
"delta": 0.4322,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.769,
"delta": -0.231,
"percent_delta": -0.231,
"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.221,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.313,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.364,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1671,
"after": 0.0,
"delta": -0.1671,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2116,
"after": 0.221,
"delta": 0.0094,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4322,
"after": 0.0,
"delta": -0.4322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.769,
"after": 1.0,
"delta": 0.231,
"percent_delta": 0.3004,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1015,
"after": 0.0,
"delta": -0.1015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3001,
"after": 0.313,
"delta": 0.0129,
"percent_delta": 0.043,
"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.3924,
"after": 0.0,
"delta": -0.3924,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3478,
"after": 0.364,
"delta": 0.0162,
"percent_delta": 0.0466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9091,
"after": 1.0,
"delta": 0.0909,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4322,
"after": 0.0,
"delta": -0.4322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.221,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.313,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.364,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 1.0
},
"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.219,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.303,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.361,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.303,
"delta": -0.01,
"percent_delta": -0.0319,
"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.313,
"after": 0.303,
"delta": -0.01,
"percent_delta": -0.0319,
"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": 3.67,
"after": 3.0,
"delta": -0.67,
"percent_delta": -0.1826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.456,
"after": 1.0,
"delta": 0.544,
"percent_delta": 1.193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.0,
"delta": -0.456,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.361,
"delta": -0.007,
"percent_delta": -0.019,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.856,
"after": 1.0,
"delta": 0.144,
"percent_delta": 0.1682,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.456,
"after": 1.0,
"delta": 0.544,
"percent_delta": 1.193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"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.184 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.670 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.456 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.302 | - |
| predicted_R | 0.456 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.368 | - |
| predicted_SO | 0.856 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.221 | 0.037 |
| predicted_3B | 0.022 | 0.006 |
| predicted_AB | 3.626 | -0.044 |
| predicted_AVG | 0.212 | -0.003 |
| predicted_BB | 0.460 | 0.004 |
| predicted_H | 0.770 | -0.020 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.077 | -0.003 |
| predicted_OBP | 0.303 | 0.001 |
| predicted_R | 0.482 | 0.026 |
| predicted_RBI | 0.343 | -0.007 |
| predicted_SLG | 0.365 | -0.003 |
| predicted_SO | 0.829 | -0.027 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.221 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.626 | 0.000 |
| predicted_AVG | 0.212 | -0.001 |
| predicted_BB | 0.458 | -0.001 |
| predicted_H | 0.767 | -0.003 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.077 | -0.001 |
| predicted_OBP | 0.300 | -0.003 |
| predicted_R | 0.478 | -0.003 |
| predicted_RBI | 0.341 | -0.002 |
| predicted_SLG | 0.348 | -0.018 |
| predicted_SO | 0.831 | 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.67), rates preserved: AVG=0.199 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=9.0, weight=0.092, BvP AVG=0.111)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.167 | 0.167 |
| 3B | 0.012 | 0.012 |
| BB | 0.432 | 0.432 |
| H | 0.769 | -0.231 |
| HR | 0.102 | 0.102 |
| RBI | 0.392 | 0.392 |
| SO | 0.909 | -0.091 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.167 |
| 3B | 0.000 | -0.012 |
| AB | 3.000 | 0.000 |
| AVG | 0.221 | - |
| BB | 0.000 | -0.432 |
| H | 1.000 | 0.231 |
| HR | 0.000 | -0.102 |
| OBP | 0.313 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -0.392 |
| SLG | 0.364 | - |
| SO | 1.000 | 0.091 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.221 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | -0.626 |
| predicted_AVG | 0.221 | 0.009 |
| predicted_BB | 0.000 | -0.458 |
| predicted_H | 1.000 | 0.233 |
| predicted_HR | 0.000 | -0.077 |
| predicted_OBP | 0.313 | 0.013 |
| predicted_R | 1.000 | 0.522 |
| predicted_RBI | 0.000 | -0.341 |
| predicted_SLG | 0.364 | 0.016 |
| predicted_SO | 1.000 | 0.169 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 2.000 | 0.1176 | 0.2500 | 0.2353 | 0.1177 | 0.0000 | 0.0588 | 0.1765 | 0.1177 |
| last_10 | 0.20 | 10 | - | 35.000 | 7.000 | 4.000 | 1.000 | 0.000 | 1.000 | 6.000 | 4.000 | 10.000 | 0.2000 | 0.2821 | 0.3714 | 0.2000 | 0.0000 | 0.0286 | 0.1143 | 0.2857 |
| season | 0.60 | 125 | - | 453.000 | 108.000 | 23.000 | 2.000 | 15.000 | 56.000 | 57.000 | 57.000 | 107.000 | 0.2384 | 0.3295 | 0.3974 | 0.2384 | 0.0331 | 0.1236 | 0.1258 | 0.2362 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2680 |
| predicted_3B | 0.0290 |
| predicted_AB | 3.5680 |
| predicted_AVG | 0.2088 |
| predicted_BB | 0.4640 |
| predicted_H | 0.7450 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.0740 |
| predicted_OBP | 0.3042 |
| predicted_R | 0.5150 |
| predicted_RBI | 0.3340 |
| predicted_SLG | 0.3623 |
| predicted_SO | 0.7940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1840 | 0.2680 | 0.2205 | model_form_blend |
| predicted_3B | 0.0160 | 0.0290 | 0.0216 | model_form_blend |
| predicted_AB | 3.6700 | 3.5680 | 3.6257 | model_form_blend |
| predicted_AVG | 0.2150 | 0.2088 | 0.2123 | model_form_blend |
| predicted_BB | 0.4560 | 0.4640 | 0.4595 | model_form_blend |
| predicted_H | 0.7900 | 0.7450 | 0.7705 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.0800 | 0.0740 | 0.0774 | model_form_blend |
| predicted_OBP | 0.3020 | 0.3042 | 0.3030 | model_form_blend |
| predicted_R | 0.4560 | 0.5150 | 0.4816 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3340 | 0.3431 | model_form_blend |
| predicted_SLG | 0.3680 | 0.3623 | 0.3655 | model_form_blend |
| predicted_SO | 0.8560 | 0.7940 | 0.8291 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 493 |
| Season rows before report date | 493 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 683953 |
| playerID | 683953 |
| playerName | Travis Bazzana |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.328 |
| sl_xwoba | 0.299 |
| sl_xba | 0.224 |
| sl_xslg | 0.347 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 36.2 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 23.2 |
| sl_swing_percent | 45.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.078 | 0.000 | 0.000 | Hitting_2B | 0.134 | 0.000 | -0.134 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.020 | 3.000 | 3.000 | Hitting_AB | 3.097 | 3.000 | -0.097 | 0.000 |
| predicted_AVG | 0.291 | 0.333 | 0.333 | Hitting_AVG | 0.264 | 0.667 | 0.069 | -0.333 |
| predicted_BB | 0.255 | 1.000 | 1.000 | Hitting_BB | 0.316 | 0.000 | 0.684 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.580 | 1.000 | 1.000 | Hitting_H | 0.818 | 2.000 | 0.182 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.126 | 1.000 | -0.126 | -1.000 |
| predicted_OBP | 0.317 | 0.500 | 0.500 | Hitting_OBP | 0.331 | 0.667 | 0.169 | -0.167 |
| predicted_R | 0.314 | 1.000 | 1.000 | Hitting_R | 0.368 | 2.000 | 0.632 | -1.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.470 | 2.000 | -0.470 | -2.000 |
| predicted_SLG | 0.442 | 0.333 | 0.333 | Hitting_SLG | 0.439 | 1.667 | -0.106 | -1.333 |
| predicted_SO | 0.892 | 1.000 | 1.000 | Hitting_SO | 0.919 | 0.000 | 0.081 | 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.2550 -> 1.0000 (boost 0.7450, better) |
| Biggest Deboost | predicted_RBI: 0.4500 -> 0.0000 (deboost -0.4500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_H: 0.5800 -> 0.6725 (boost 0.0925, better) | predicted_AVG: 0.2910 -> 0.2774 (deboost -0.0136, worse) | Final model input calibrated with local 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.2774 -> 0.2200 (deboost -0.0574, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.6696 -> 1.0000 (boost 0.3304, better) | predicted_RBI: 0.4323 -> 0.0000 (deboost -0.4323, worse) | AB rounded to 3 (raw=3.04), rates preserved: AVG=0.209 HR/AB=0.051 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3636 -> 0.0000 (deboost -0.3636, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.4072 (boost 0.4072, better) | predicted_H: 1.0000 -> 0.7563 (deboost -0.2437, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 8 | 2 | 6 | 3 | 5 | predicted_H: 0.7563 -> 1.0000 (boost 0.2437, better) | predicted_RBI: 0.4072 -> 0.0000 (deboost -0.4072, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 12 | play_by_play_realization | 2 | 2 | 0 | 2 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2210 -> 0.2090 (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": "672275",
"player_name": "Patrick Bailey",
"position": "C",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.078,
"predicted_3B": 0.01,
"predicted_AB": 3.02,
"predicted_AVG": 0.291,
"predicted_BB": 0.255,
"predicted_H": 0.58,
"predicted_HR": 0.15,
"predicted_OBP": 0.317,
"predicted_R": 0.314,
"predicted_RBI": 0.45,
"predicted_SLG": 0.442,
"predicted_SO": 0.892
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0686,
"predicted_3B": 0.0087,
"predicted_AB": 3.0439,
"predicted_AVG": 0.2774,
"predicted_BB": 0.2397,
"predicted_H": 0.6725,
"predicted_HBP": 0.008,
"predicted_HR": 0.1555,
"predicted_OBP": 0.3135,
"predicted_R": 0.366,
"predicted_RBI": 0.4351,
"predicted_SLG": 0.4412,
"predicted_SO": 0.9159
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.2774,
"delta": -0.0136,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.6725,
"delta": 0.0925,
"percent_delta": 0.1595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.314,
"after": 0.366,
"delta": 0.052,
"percent_delta": 0.1656,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.58,
"after": 0.6725,
"delta": 0.0925,
"percent_delta": 0.1595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.2774,
"delta": -0.0136,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 102
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0686,
"predicted_3B": 0.0087,
"predicted_AB": 3.0439,
"predicted_AVG": 0.22,
"predicted_BB": 0.2391,
"predicted_H": 0.6696,
"predicted_HBP": 0.008,
"predicted_HR": 0.1541,
"predicted_OBP": 0.2768,
"predicted_R": 0.3636,
"predicted_RBI": 0.4323,
"predicted_SLG": 0.4001,
"predicted_SO": 0.9182
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2774,
"after": 0.22,
"delta": -0.0574,
"percent_delta": -0.2069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3135,
"after": 0.2768,
"delta": -0.0367,
"percent_delta": -0.1171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4412,
"after": 0.4001,
"delta": -0.0411,
"percent_delta": -0.0932,
"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.2774,
"after": 0.22,
"delta": -0.0574,
"percent_delta": -0.2069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.04), rates preserved: AVG=0.209 HR/AB=0.051",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0686,
"after": 0.0,
"delta": -0.0686,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2391,
"after": 0.0,
"delta": -0.2391,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6696,
"after": 1.0,
"delta": 0.3304,
"percent_delta": 0.4934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1541,
"after": 0.0,
"delta": -0.1541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4323,
"after": 0.0,
"delta": -0.4323,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9182,
"after": 1.0,
"delta": 0.0818,
"percent_delta": 0.0891,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6696,
"after": 1.0,
"delta": 0.3304,
"percent_delta": 0.4934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4323,
"after": 0.0,
"delta": -0.4323,
"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.3636,
"after": 0.0,
"delta": -0.3636,
"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.3636,
"after": 0.0,
"delta": -0.3636,
"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.1442,
"predicted_3B": 0.0107,
"predicted_BB": 0.3239,
"predicted_H": 0.7563,
"predicted_HR": 0.1083,
"predicted_RBI": 0.4072,
"predicted_SO": 1.1427
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1442,
"delta": 0.1442,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3239,
"delta": 0.3239,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7563,
"delta": -0.2437,
"percent_delta": -0.2437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1083,
"delta": 0.1083,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4072,
"delta": 0.4072,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.1427,
"delta": 0.1427,
"percent_delta": 0.1427,
"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.4072,
"delta": 0.4072,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7563,
"delta": -0.2437,
"percent_delta": -0.2437,
"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.221,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.293,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.364,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1442,
"after": 0.0,
"delta": -0.1442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3239,
"after": 0.0,
"delta": -0.3239,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7563,
"after": 1.0,
"delta": 0.2437,
"percent_delta": 0.3222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1083,
"after": 0.0,
"delta": -0.1083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2768,
"after": 0.293,
"delta": 0.0162,
"percent_delta": 0.0585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4072,
"after": 0.0,
"delta": -0.4072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4001,
"after": 0.364,
"delta": -0.0361,
"percent_delta": -0.0902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1427,
"after": 1.0,
"delta": -0.1427,
"percent_delta": -0.1249,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7563,
"after": 1.0,
"delta": 0.2437,
"percent_delta": 0.3222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4072,
"after": 0.0,
"delta": -0.4072,
"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.221,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.293,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.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": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.209,
"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.284,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.352,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.209,
"delta": -0.012,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.284,
"delta": -0.009,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.352,
"delta": -0.012,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.209,
"delta": -0.012,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.078,
"after": 0.0,
"delta": -0.078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.209,
"delta": -0.082,
"percent_delta": -0.2818,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.255,
"after": 1.0,
"delta": 0.745,
"percent_delta": 2.9216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.284,
"delta": -0.033,
"percent_delta": -0.1041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.314,
"after": 1.0,
"delta": 0.686,
"percent_delta": 2.1847,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.352,
"delta": -0.09,
"percent_delta": -0.2036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.892,
"after": 1.0,
"delta": 0.108,
"percent_delta": 0.1211,
"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.255,
"after": 1.0,
"delta": 0.745,
"percent_delta": 2.9216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.078 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 3.020 | - |
| predicted_AVG | 0.291 | - |
| predicted_BB | 0.255 | - |
| predicted_H | 0.580 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.314 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.442 | - |
| predicted_SO | 0.892 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.069 | -0.009 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 3.044 | 0.024 |
| predicted_AVG | 0.277 | -0.014 |
| predicted_BB | 0.240 | -0.015 |
| predicted_H | 0.672 | 0.093 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.155 | 0.006 |
| predicted_OBP | 0.314 | -0.004 |
| predicted_R | 0.366 | 0.052 |
| predicted_RBI | 0.435 | -0.015 |
| predicted_SLG | 0.441 | -0.001 |
| predicted_SO | 0.916 | 0.024 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.069 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.044 | 0.000 |
| predicted_AVG | 0.220 | -0.057 |
| predicted_BB | 0.239 | -0.001 |
| predicted_H | 0.670 | -0.003 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.154 | -0.001 |
| predicted_OBP | 0.277 | -0.037 |
| predicted_R | 0.364 | -0.002 |
| predicted_RBI | 0.432 | -0.003 |
| predicted_SLG | 0.400 | -0.041 |
| predicted_SO | 0.918 | 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.04), rates preserved: AVG=0.209 HR/AB=0.051
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.144 | 0.144 |
| 3B | 0.011 | 0.011 |
| BB | 0.324 | 0.324 |
| H | 0.756 | -0.244 |
| HR | 0.108 | 0.108 |
| RBI | 0.407 | 0.407 |
| SO | 1.143 | 0.143 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.144 |
| 3B | 0.000 | -0.011 |
| AB | 3.000 | 0.000 |
| AVG | 0.221 | - |
| BB | 0.000 | -0.324 |
| H | 1.000 | 0.244 |
| HR | 0.000 | -0.108 |
| OBP | 0.293 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.407 |
| SLG | 0.364 | - |
| SO | 1.000 | -0.143 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.069 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 3.000 | -0.044 |
| predicted_AVG | 0.221 | 0.001 |
| predicted_BB | 0.000 | -0.239 |
| predicted_H | 1.000 | 0.330 |
| predicted_HR | 0.000 | -0.154 |
| predicted_OBP | 0.293 | 0.016 |
| predicted_R | 0.000 | -0.364 |
| predicted_RBI | 0.000 | -0.432 |
| predicted_SLG | 0.364 | -0.036 |
| predicted_SO | 1.000 | 0.082 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 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 | - | 14.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 4.000 | 0.3571 | 0.4000 | 0.5714 | 0.3571 | 0.0714 | 0.1429 | 0.0714 | 0.2857 |
| last_10 | 0.20 | 10 | - | 32.000 | 9.000 | 0.000 | 0.000 | 3.000 | 5.000 | 6.000 | 1.000 | 13.000 | 0.2812 | 0.3030 | 0.5625 | 0.2812 | 0.0938 | 0.1562 | 0.0312 | 0.4062 |
| season | 0.60 | 102 | - | 308.000 | 68.000 | 8.000 | 1.000 | 11.000 | 39.000 | 32.000 | 26.000 | 91.000 | 0.2208 | 0.2811 | 0.3604 | 0.2208 | 0.0357 | 0.1266 | 0.0844 | 0.2954 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0560 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.0760 |
| predicted_AVG | 0.2592 |
| predicted_BB | 0.2190 |
| predicted_H | 0.7970 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.1630 |
| predicted_OBP | 0.3089 |
| predicted_R | 0.4360 |
| predicted_RBI | 0.4150 |
| predicted_SLG | 0.4401 |
| predicted_SO | 0.9480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0780 | 0.0560 | 0.0686 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 3.0200 | 3.0760 | 3.0439 | model_form_blend |
| predicted_AVG | 0.2910 | 0.2592 | 0.2774 | model_form_blend |
| predicted_BB | 0.2550 | 0.2190 | 0.2397 | model_form_blend |
| predicted_H | 0.5800 | 0.7970 | 0.6725 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1500 | 0.1630 | 0.1555 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3089 | 0.3135 | model_form_blend |
| predicted_R | 0.3140 | 0.4360 | 0.3660 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4150 | 0.4351 | model_form_blend |
| predicted_SLG | 0.4420 | 0.4401 | 0.4412 | model_form_blend |
| predicted_SO | 0.8920 | 0.9480 | 0.9159 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 247 |
| Season rows before report date | 247 |
| Report year | 2026 |
| Profile rows used | 102 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 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 | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| 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-C |
| gameID | 20261008_CLE@CHW |
| game_type | ph |
| mlbID | 672275 |
| note | Homered for Hedges in the 5th. |
| playerID | 672275 |
| playerName | Patrick Bailey |
| pos | C |
| started | False |
| startingPosition | PH |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.271 |
| sl_xwoba | 0.307 |
| sl_xba | 0.24 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 42.4 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 26.8 |
| sl_swing_percent | 49.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.062 | 0.000 | 0.000 | Hitting_2B | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 2.692 | 4.000 | 4.000 | Hitting_AB | 2.833 | 1.000 | 1.167 | 3.000 |
| predicted_AVG | 0.239 | 0.000 | 0.000 | Hitting_AVG | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_BB | 0.108 | 0.000 | 0.000 | Hitting_BB | 0.187 | 0.000 | -0.187 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_H | 0.260 | 0.000 | 0.000 | Hitting_H | 0.650 | 0.000 | -0.650 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_OBP | 0.247 | 0.000 | 0.000 | Hitting_OBP | 0.287 | 0.000 | -0.287 | 0.000 |
| predicted_R | 0.354 | 0.000 | 0.000 | Hitting_R | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_RBI | 0.100 | 0.000 | 0.000 | Hitting_RBI | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_SLG | 0.329 | 0.000 | 0.000 | Hitting_SLG | 0.365 | 0.000 | -0.365 | 0.000 |
| predicted_SO | 0.554 | 1.000 | 1.000 | Hitting_SO | 0.562 | 1.000 | 0.438 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.6920 -> 4.0000 (boost 1.3080, better) |
| Biggest Deboost | predicted_R: 0.3540 -> 0.0000 (deboost -0.3540, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.2600 -> 0.4433 (boost 0.1833, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3327 -> 0.2436 (deboost -0.0891, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.5718 -> 1.0000 (boost 0.4282, worse) | predicted_H: 0.4414 -> 0.0000 (deboost -0.4414, worse) | AB rounded to 3 (raw=2.77), rates preserved: AVG=0.152 HR/AB=0.018 |
| 6 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3513 -> 0.0000 (deboost -0.3513, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.3162 (boost 0.3162, better) | predicted_H: 1.0000 -> 0.7286 (deboost -0.2714, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 9 | 4 | 5 | 3 | 6 | predicted_SO: 0.8287 -> 1.0000 (boost 0.1713, worse) | predicted_H: 0.7286 -> 0.0000 (deboost -0.7286, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Market blend not applied: no props for this hitter |
| 12 | play_by_play_realization | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "690984",
"player_name": "Petey Halpin",
"position": "CF",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.062,
"predicted_3B": 0.015,
"predicted_AB": 2.692,
"predicted_AVG": 0.239,
"predicted_BB": 0.108,
"predicted_H": 0.26,
"predicted_HR": 0.04,
"predicted_OBP": 0.247,
"predicted_R": 0.354,
"predicted_RBI": 0.1,
"predicted_SLG": 0.329,
"predicted_SO": 0.554
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0583,
"predicted_3B": 0.013,
"predicted_AB": 2.7706,
"predicted_AVG": 0.2417,
"predicted_BB": 0.1064,
"predicted_H": 0.4433,
"predicted_HBP": 0.021,
"predicted_HR": 0.0502,
"predicted_OBP": 0.2592,
"predicted_R": 0.3536,
"predicted_RBI": 0.1524,
"predicted_SLG": 0.3327,
"predicted_SO": 0.5704
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 2.692,
"after": 2.7706,
"delta": 0.0786,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.26,
"after": 0.4433,
"delta": 0.1833,
"percent_delta": 0.705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.247,
"after": 0.2592,
"delta": 0.0122,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1,
"after": 0.1524,
"delta": 0.0524,
"percent_delta": 0.524,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.26,
"after": 0.4433,
"delta": 0.1833,
"percent_delta": 0.705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 65
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0583,
"predicted_3B": 0.013,
"predicted_AB": 2.7706,
"predicted_AVG": 0.1593,
"predicted_BB": 0.1061,
"predicted_H": 0.4414,
"predicted_HBP": 0.021,
"predicted_HR": 0.0498,
"predicted_OBP": 0.1903,
"predicted_R": 0.3513,
"predicted_RBI": 0.1514,
"predicted_SLG": 0.2436,
"predicted_SO": 0.5718
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2417,
"after": 0.1593,
"delta": -0.0824,
"percent_delta": -0.3409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2592,
"after": 0.1903,
"delta": -0.0689,
"percent_delta": -0.2658,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3327,
"after": 0.2436,
"delta": -0.0891,
"percent_delta": -0.2678,
"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.3327,
"after": 0.2436,
"delta": -0.0891,
"percent_delta": -0.2678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.77), rates preserved: AVG=0.152 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0583,
"after": 0.0,
"delta": -0.0583,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.7706,
"after": 3.0,
"delta": 0.2294,
"percent_delta": 0.0828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1061,
"after": 0.0,
"delta": -0.1061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4414,
"after": 0.0,
"delta": -0.4414,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1514,
"after": 0.0,
"delta": -0.1514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5718,
"after": 1.0,
"delta": 0.4282,
"percent_delta": 0.7489,
"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.5718,
"after": 1.0,
"delta": 0.4282,
"percent_delta": 0.7489,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4414,
"after": 0.0,
"delta": -0.4414,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3513,
"after": 0.0,
"delta": -0.3513,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3513,
"after": 0.0,
"delta": -0.3513,
"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.1418,
"predicted_3B": 0.0115,
"predicted_BB": 0.2222,
"predicted_H": 0.7286,
"predicted_HR": 0.0869,
"predicted_RBI": 0.3162,
"predicted_SO": 0.8287
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1418,
"delta": 0.1418,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2222,
"delta": 0.2222,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7286,
"delta": -0.2714,
"percent_delta": -0.2714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0869,
"delta": 0.0869,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3162,
"delta": 0.3162,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8287,
"delta": -0.1713,
"percent_delta": -0.1713,
"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.3162,
"delta": 0.3162,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7286,
"delta": -0.2714,
"percent_delta": -0.2714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.224,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.279,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.355,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1418,
"after": 0.0,
"delta": -0.1418,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.1593,
"after": 0.224,
"delta": 0.0647,
"percent_delta": 0.4062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2222,
"after": 0.0,
"delta": -0.2222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7286,
"after": 0.0,
"delta": -0.7286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0869,
"after": 0.0,
"delta": -0.0869,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.1903,
"after": 0.279,
"delta": 0.0887,
"percent_delta": 0.4661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3162,
"after": 0.0,
"delta": -0.3162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2436,
"after": 0.355,
"delta": 0.1114,
"percent_delta": 0.4573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8287,
"after": 1.0,
"delta": 0.1713,
"percent_delta": 0.2067,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.8287,
"after": 1.0,
"delta": 0.1713,
"percent_delta": 0.2067,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.7286,
"after": 0.0,
"delta": -0.7286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.224,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.279,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.355,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Market blend not applied: no props for this hitter",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 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.224,
"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.279,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.355,
"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.062,
"after": 0.0,
"delta": -0.062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.692,
"after": 4.0,
"delta": 1.308,
"percent_delta": 0.4859,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.224,
"delta": -0.015,
"percent_delta": -0.0628,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.108,
"after": 0.0,
"delta": -0.108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.247,
"after": 0.279,
"delta": 0.032,
"percent_delta": 0.1296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.354,
"after": 0.0,
"delta": -0.354,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.329,
"after": 0.355,
"delta": 0.026,
"percent_delta": 0.079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.554,
"after": 1.0,
"delta": 0.446,
"percent_delta": 0.8051,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.692,
"after": 4.0,
"delta": 1.308,
"percent_delta": 0.4859,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.354,
"after": 0.0,
"delta": -0.354,
"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.062 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 2.692 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.108 | - |
| predicted_H | 0.260 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.247 | - |
| predicted_R | 0.354 | - |
| predicted_RBI | 0.100 | - |
| predicted_SLG | 0.329 | - |
| predicted_SO | 0.554 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.058 | -0.004 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 2.771 | 0.079 |
| predicted_AVG | 0.242 | 0.003 |
| predicted_BB | 0.106 | -0.002 |
| predicted_H | 0.443 | 0.183 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.050 | 0.010 |
| predicted_OBP | 0.259 | 0.012 |
| predicted_R | 0.354 | -0.000 |
| predicted_RBI | 0.152 | 0.052 |
| predicted_SLG | 0.333 | 0.004 |
| predicted_SO | 0.570 | 0.016 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.058 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 2.771 | 0.000 |
| predicted_AVG | 0.159 | -0.082 |
| predicted_BB | 0.106 | -0.000 |
| predicted_H | 0.441 | -0.002 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.050 | -0.000 |
| predicted_OBP | 0.190 | -0.069 |
| predicted_R | 0.351 | -0.002 |
| predicted_RBI | 0.151 | -0.001 |
| predicted_SLG | 0.244 | -0.089 |
| predicted_SO | 0.572 | 0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.77), rates preserved: AVG=0.152 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.142 | 0.142 |
| 3B | 0.011 | 0.011 |
| BB | 0.222 | 0.222 |
| H | 0.729 | -0.271 |
| HR | 0.087 | 0.087 |
| RBI | 0.316 | 0.316 |
| SO | 0.829 | -0.171 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.142 |
| 3B | 0.000 | -0.011 |
| AB | 3.000 | 0.000 |
| AVG | 0.224 | - |
| BB | 0.000 | -0.222 |
| H | 0.000 | -0.729 |
| HR | 0.000 | -0.087 |
| OBP | 0.279 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.316 |
| SLG | 0.355 | - |
| SO | 1.000 | 0.171 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.058 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | 0.229 |
| predicted_AVG | 0.224 | 0.065 |
| predicted_BB | 0.000 | -0.106 |
| predicted_H | 0.000 | -0.441 |
| predicted_HR | 0.000 | -0.050 |
| predicted_OBP | 0.279 | 0.089 |
| predicted_R | 0.000 | -0.351 |
| predicted_RBI | 0.000 | -0.151 |
| predicted_SLG | 0.355 | 0.111 |
| predicted_SO | 1.000 | 0.428 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Market blend not applied: no props for this hitter
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 13.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 3.000 | 0.3077 | 0.3077 | 0.3077 | 0.3077 | 0.0000 | 0.0000 | 0.0000 | 0.2308 |
| last_10 | 0.20 | 10 | - | 30.000 | 8.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 5.000 | 0.2667 | 0.2903 | 0.3667 | 0.2667 | 0.0333 | 0.1333 | 0.0333 | 0.1667 |
| season | 0.60 | 65 | - | 175.000 | 38.000 | 4.000 | 1.000 | 4.000 | 13.000 | 23.000 | 7.000 | 36.000 | 0.2171 | 0.2541 | 0.3200 | 0.2171 | 0.0229 | 0.0743 | 0.0400 | 0.2057 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0530 |
| predicted_3B | 0.0100 |
| predicted_AB | 2.8840 |
| predicted_AVG | 0.2455 |
| predicted_BB | 0.1040 |
| predicted_H | 0.7080 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.0650 |
| predicted_OBP | 0.2767 |
| predicted_R | 0.3530 |
| predicted_RBI | 0.2280 |
| predicted_SLG | 0.3381 |
| predicted_SO | 0.5940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0620 | 0.0530 | 0.0583 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0130 | model_form_blend |
| predicted_AB | 2.6920 | 2.8840 | 2.7706 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2455 | 0.2417 | model_form_blend |
| predicted_BB | 0.1080 | 0.1040 | 0.1064 | model_form_blend |
| predicted_H | 0.2600 | 0.7080 | 0.4433 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.0400 | 0.0650 | 0.0502 | model_form_blend |
| predicted_OBP | 0.2470 | 0.2767 | 0.2592 | model_form_blend |
| predicted_R | 0.3540 | 0.3530 | 0.3536 | model_form_blend |
| predicted_RBI | 0.1000 | 0.2280 | 0.1524 | model_form_blend |
| predicted_SLG | 0.3290 | 0.3381 | 0.3327 | model_form_blend |
| predicted_SO | 0.5540 | 0.5940 | 0.5704 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 203 |
| Season rows before report date | 203 |
| Report year | 2026 |
| Profile rows used | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20261008_CLE@CHW |
| game_type | short |
| mlbID | 690984 |
| playerID | 690984 |
| playerName | Petey Halpin |
| pos | CF |
| started | False |
| startingPosition | CF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.264 |
| sl_xwoba | 0.295 |
| sl_xba | 0.252 |
| sl_xslg | 0.377 |
| sl_sweet_spot_percent | 38.3 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 25.5 |
| sl_exit_velocity_avg | 85.5 |
| sl_launch_angle_avg | 20.8 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 59.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.163 | 0.000 | 0.000 | Hitting_2B | 0.164 | 0.000 | -0.164 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 3.484 | 4.000 | 4.000 | Hitting_AB | 3.600 | 2.000 | 0.400 | 2.000 |
| predicted_AVG | 0.254 | 0.250 | 0.250 | Hitting_AVG | 0.250 | 0.000 | -0.000 | 0.250 |
| predicted_BB | 0.255 | 0.000 | 0.000 | Hitting_BB | 0.259 | 2.000 | -0.259 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.860 | 1.000 | 1.000 | Hitting_H | 0.900 | 0.000 | 0.100 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_OBP | 0.331 | 0.250 | 0.250 | Hitting_OBP | 0.313 | 0.500 | -0.063 | -0.250 |
| predicted_R | 0.425 | 1.000 | 1.000 | Hitting_R | 0.437 | 1.000 | 0.563 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.442 | 0.000 | -0.442 | 0.000 |
| predicted_SLG | 0.421 | 0.250 | 0.250 | Hitting_SLG | 0.371 | 0.000 | -0.121 | 0.250 |
| predicted_SO | 0.556 | 0.000 | 0.000 | Hitting_SO | 0.579 | 0.000 | -0.579 | 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_R: 0.4250 -> 1.0000 (boost 0.5750, better) |
| Biggest Deboost | predicted_SO: 0.5560 -> 0.0000 (deboost -0.5560, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_R: 0.4250 -> 0.4769 (boost 0.0519, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3372 -> 0.3156 (deboost -0.0216, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.5172 -> 1.0000 (boost 0.4828, worse) | predicted_RBI: 0.4708 -> 0.0000 (deboost -0.4708, worse) | AB rounded to 3 (raw=3.48), rates preserved: AVG=0.240 HR/AB=0.041 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4738 -> 0.0000 (deboost -0.4738, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.3807 (boost 0.3807, better) | predicted_SO: 1.0000 -> 0.6117 (deboost -0.3883, better) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 10 | 2 | 8 | 1 | 9 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 0.7414 -> 0.0000 (deboost -0.7414, 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 | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.2970 -> 0.3020 (boost 0.0050, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "677587",
"player_name": "Brayan Rocchio",
"position": "SS",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.163,
"predicted_3B": 0.013,
"predicted_AB": 3.484,
"predicted_AVG": 0.254,
"predicted_BB": 0.255,
"predicted_H": 0.86,
"predicted_HR": 0.12,
"predicted_OBP": 0.331,
"predicted_R": 0.425,
"predicted_RBI": 0.46,
"predicted_SLG": 0.421,
"predicted_SO": 0.556
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1704,
"predicted_3B": 0.0108,
"predicted_AB": 3.4352,
"predicted_AVG": 0.2614,
"predicted_BB": 0.2999,
"predicted_H": 0.8831,
"predicted_HBP": 0.041,
"predicted_HR": 0.1448,
"predicted_OBP": 0.3372,
"predicted_R": 0.4769,
"predicted_RBI": 0.4739,
"predicted_SLG": 0.4495,
"predicted_SO": 0.5159
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2614,
"delta": 0.0074,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3372,
"delta": 0.0062,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.425,
"after": 0.4769,
"delta": 0.0519,
"percent_delta": 0.1221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.4495,
"delta": 0.0285,
"percent_delta": 0.0677,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.425,
"after": 0.4769,
"delta": 0.0519,
"percent_delta": 0.1221,
"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": 153
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1704,
"predicted_3B": 0.0108,
"predicted_AB": 3.4352,
"predicted_AVG": 0.256,
"predicted_BB": 0.2992,
"predicted_H": 0.8793,
"predicted_HBP": 0.041,
"predicted_HR": 0.1435,
"predicted_OBP": 0.3156,
"predicted_R": 0.4738,
"predicted_RBI": 0.4708,
"predicted_SLG": 0.4372,
"predicted_SO": 0.5172
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2614,
"after": 0.256,
"delta": -0.0054,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3372,
"after": 0.3156,
"delta": -0.0216,
"percent_delta": -0.0641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4495,
"after": 0.4372,
"delta": -0.0123,
"percent_delta": -0.0274,
"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.3372,
"after": 0.3156,
"delta": -0.0216,
"percent_delta": -0.0641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.48), rates preserved: AVG=0.240 HR/AB=0.041",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1704,
"after": 0.0,
"delta": -0.1704,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.4352,
"after": 3.0,
"delta": -0.4352,
"percent_delta": -0.1267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2992,
"after": 0.0,
"delta": -0.2992,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8793,
"after": 1.0,
"delta": 0.1207,
"percent_delta": 0.1373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1435,
"after": 0.0,
"delta": -0.1435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4708,
"after": 0.0,
"delta": -0.4708,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5172,
"after": 1.0,
"delta": 0.4828,
"percent_delta": 0.9335,
"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.5172,
"after": 1.0,
"delta": 0.4828,
"percent_delta": 0.9335,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4708,
"after": 0.0,
"delta": -0.4708,
"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.4738,
"after": 0.0,
"delta": -0.4738,
"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.4738,
"after": 0.0,
"delta": -0.4738,
"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.1519,
"predicted_3B": 0.0102,
"predicted_BB": 0.265,
"predicted_H": 0.7414,
"predicted_HR": 0.0786,
"predicted_RBI": 0.3807,
"predicted_SO": 0.6117
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1519,
"delta": 0.1519,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.265,
"delta": 0.265,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7414,
"delta": -0.2586,
"percent_delta": -0.2586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0786,
"delta": 0.0786,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3807,
"delta": 0.3807,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.6117,
"delta": -0.3883,
"percent_delta": -0.3883,
"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.3807,
"delta": 0.3807,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.6117,
"delta": -0.3883,
"percent_delta": -0.3883,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.232,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.36,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1519,
"after": 0.0,
"delta": -0.1519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.232,
"delta": -0.024,
"percent_delta": -0.0937,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.265,
"after": 0.0,
"delta": -0.265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7414,
"after": 0.0,
"delta": -0.7414,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0786,
"after": 0.0,
"delta": -0.0786,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3156,
"after": 0.297,
"delta": -0.0186,
"percent_delta": -0.0589,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3807,
"after": 0.0,
"delta": -0.3807,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4372,
"after": 0.36,
"delta": -0.0772,
"percent_delta": -0.1766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6117,
"after": 1.0,
"delta": 0.3883,
"percent_delta": 0.6348,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.7414,
"after": 0.0,
"delta": -0.7414,
"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.232,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.36,
"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_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 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.23,
"predicted_BB": 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": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.362,
"predicted_SO": 0.0,
"predicted_SS": 0.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.302,
"delta": 0.005,
"percent_delta": 0.0168,
"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.297,
"after": 0.302,
"delta": 0.005,
"percent_delta": 0.0168,
"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.163,
"after": 0.0,
"delta": -0.163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.484,
"after": 4.0,
"delta": 0.516,
"percent_delta": 0.1481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.23,
"delta": -0.024,
"percent_delta": -0.0945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.255,
"after": 0.0,
"delta": -0.255,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.0,
"delta": 0.14,
"percent_delta": 0.1628,
"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.331,
"after": 0.302,
"delta": -0.029,
"percent_delta": -0.0876,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.425,
"after": 1.0,
"delta": 0.575,
"percent_delta": 1.3529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.362,
"delta": -0.059,
"percent_delta": -0.1401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.425,
"after": 1.0,
"delta": 0.575,
"percent_delta": 1.3529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.484 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.255 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.425 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.421 | - |
| predicted_SO | 0.556 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.170 | 0.007 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.435 | -0.049 |
| predicted_AVG | 0.261 | 0.007 |
| predicted_BB | 0.300 | 0.045 |
| predicted_H | 0.883 | 0.023 |
| predicted_HBP | 0.041 | - |
| predicted_HR | 0.145 | 0.025 |
| predicted_OBP | 0.337 | 0.006 |
| predicted_R | 0.477 | 0.052 |
| predicted_RBI | 0.474 | 0.014 |
| predicted_SLG | 0.450 | 0.029 |
| predicted_SO | 0.516 | -0.040 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.170 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.435 | 0.000 |
| predicted_AVG | 0.256 | -0.005 |
| predicted_BB | 0.299 | -0.001 |
| predicted_H | 0.879 | -0.004 |
| predicted_HBP | 0.041 | 0.000 |
| predicted_HR | 0.143 | -0.001 |
| predicted_OBP | 0.316 | -0.022 |
| predicted_R | 0.474 | -0.003 |
| predicted_RBI | 0.471 | -0.003 |
| predicted_SLG | 0.437 | -0.012 |
| predicted_SO | 0.517 | 0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.48), rates preserved: AVG=0.240 HR/AB=0.041
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.152 | 0.152 |
| 3B | 0.010 | 0.010 |
| BB | 0.265 | 0.265 |
| H | 0.741 | -0.259 |
| HR | 0.079 | 0.079 |
| RBI | 0.381 | 0.381 |
| SO | 0.612 | -0.388 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.152 |
| 3B | 0.000 | -0.010 |
| AB | 3.000 | 0.000 |
| AVG | 0.232 | - |
| BB | 0.000 | -0.265 |
| H | 0.000 | -0.741 |
| HR | 0.000 | -0.079 |
| OBP | 0.297 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -0.381 |
| SLG | 0.360 | - |
| SO | 1.000 | 0.388 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.170 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | -0.435 |
| predicted_AVG | 0.232 | -0.024 |
| predicted_BB | 0.000 | -0.299 |
| predicted_H | 0.000 | -0.879 |
| predicted_HR | 0.000 | -0.143 |
| predicted_OBP | 0.297 | -0.019 |
| predicted_R | 1.000 | 0.526 |
| predicted_RBI | 0.000 | -0.471 |
| predicted_SLG | 0.360 | -0.077 |
| predicted_SO | 1.000 | 0.483 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 5.000 | 1.000 | 0.000 | 2.000 | 3.000 | 4.000 | 3.000 | 1.000 | 0.3333 | 0.4444 | 0.8000 | 0.3333 | 0.1333 | 0.2000 | 0.2000 | 0.0667 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 2.000 | 0.000 | 2.000 | 5.000 | 6.000 | 4.000 | 4.000 | 0.2727 | 0.3514 | 0.5152 | 0.2727 | 0.0606 | 0.1515 | 0.1212 | 0.1212 |
| season | 0.60 | 153 | - | 533.000 | 134.000 | 25.000 | 2.000 | 13.000 | 68.000 | 65.000 | 39.000 | 85.000 | 0.2514 | 0.3135 | 0.3790 | 0.2514 | 0.0244 | 0.1276 | 0.0732 | 0.1595 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1800 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.3720 |
| predicted_AVG | 0.2709 |
| predicted_BB | 0.3580 |
| predicted_H | 0.9130 |
| predicted_HBP | 0.0410 |
| predicted_HR | 0.1770 |
| predicted_OBP | 0.3452 |
| predicted_R | 0.5440 |
| predicted_RBI | 0.4920 |
| predicted_SLG | 0.4864 |
| predicted_SO | 0.4640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1630 | 0.1800 | 0.1704 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0108 | model_form_blend |
| predicted_AB | 3.4840 | 3.3720 | 3.4352 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2709 | 0.2614 | model_form_blend |
| predicted_BB | 0.2550 | 0.3580 | 0.2999 | model_form_blend |
| predicted_H | 0.8600 | 0.9130 | 0.8831 | model_form_blend |
| predicted_HBP | - | 0.0410 | 0.0410 | form_only |
| predicted_HR | 0.1200 | 0.1770 | 0.1448 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3452 | 0.3372 | model_form_blend |
| predicted_R | 0.4250 | 0.5440 | 0.4769 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4920 | 0.4739 | model_form_blend |
| predicted_SLG | 0.4210 | 0.4864 | 0.4495 | model_form_blend |
| predicted_SO | 0.5560 | 0.4640 | 0.5159 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 572 |
| Season rows before report date | 572 |
| Report year | 2026 |
| Profile rows used | 153 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 677587 |
| playerID | 677587 |
| playerName | Brayan Rocchio |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 14.4 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.311 |
| sl_xwoba | 0.294 |
| sl_xba | 0.246 |
| sl_xslg | 0.35 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 30.0 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 50.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 4.000 | 4.000 | 4.000 | Pitching_BB | 1.882 | 0.000 | 2.118 | 4.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.324 | 0.000 | -1.324 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 4.382 | 1.000 | -2.382 | 1.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 5.488 | 1.000 | -1.288 | 3.200 |
| predicted_SO | 10.000 | 10.000 | 10.000 | Pitching_SO | 7.647 | 1.000 | 2.353 | 9.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 6 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 4 |
| Better Metrics | 4 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_SO: 7.0000 -> 10.0000 (boost 3.0000, better) |
| Biggest Deboost | predicted_H: 9.0000 -> 2.0000 (deboost -7.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | pitcher_quality_guardrail | 2 | 0 | 2 | 1 | 1 | - | predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 8 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score |
| 9 | play_by_play_realization | 6 | 2 | 4 | 4 | 2 | predicted_SO: 7.0000 -> 10.0000 (boost 3.0000, better) | predicted_H: 9.0000 -> 2.0000 (deboost -7.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 10 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "668909",
"player_name": "Gavin Williams",
"position": "Starter",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 9.0,
"predicted_HR": 1.0,
"predicted_IP": 5.3333,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 9.0,
"predicted_HR": 1.0,
"predicted_IP": 5.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": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"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_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": 4.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 1.0,
"predicted_SO": 10.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 9.0,
"after": 2.0,
"delta": -7.0,
"percent_delta": -0.7778,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 5.1,
"after": 4.2,
"delta": -0.9,
"percent_delta": -0.1765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 10.0,
"delta": 3.0,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 7.0,
"after": 10.0,
"delta": 3.0,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 9.0,
"after": 2.0,
"delta": -7.0,
"percent_delta": -0.7778,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 10,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_SO": 10.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 1.0,
"delta": -3.0,
"percent_delta": -0.75,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 9.0,
"after": 2.0,
"delta": -7.0,
"percent_delta": -0.7778,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 10.0,
"delta": 3.0,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 7.0,
"after": 10.0,
"delta": 3.0,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 9.0,
"after": 2.0,
"delta": -7.0,
"percent_delta": -0.7778,
"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 | 2.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 9.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 7.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 3.000 | -1.000 |
| predicted_H | 9.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 5.100 | -0.233 |
| predicted_SO | 7.000 | 0.000 |
Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 4.000 | - |
| BF | 20.000 | - |
| ER | 1.000 | - |
| H | 2.000 | - |
| HR | 0.000 | - |
| IP | 4.200 | - |
| Pitches | 94.000 | - |
| R | 1.000 | - |
| SO | 10.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 21.100 | 8.000 | 17.000 | 11.000 | 32.000 | 1.000 | 3.3750 | 1.3125 | 0.3750 | 0.7969 | 0.5156 | 1.5000 | 0.0469 |
| last_10 | 0.35 | 10 | 45.200 | 22.000 | 40.000 | 23.000 | 75.000 | 6.000 | 4.3358 | 1.3796 | 0.4818 | 0.8759 | 0.5037 | 1.6423 | 0.1314 |
| season | 0.20 | 34 | 190.100 | 79.000 | 149.000 | 64.000 | 260.000 | 28.000 | 3.7356 | 1.1191 | 0.4151 | 0.7828 | 0.3362 | 1.3660 | 0.1471 |
| Metric | Value |
|---|---|
| predicted_BB | 2.2230 |
| predicted_ER | 2.0740 |
| predicted_ERA | 3.8922 |
| predicted_H | 4.0420 |
| predicted_HR | 0.4940 |
| predicted_IP | 4.2000 |
| predicted_SO | 6.9410 |
| predicted_WHIP | 1.3063 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.2230 | 2.1329 | model_form_blend |
| predicted_ER | 4.0000 | 2.0740 | 2.8524 | model_form_blend |
| predicted_ERA | - | 3.8922 | 3.8922 | form_only |
| predicted_H | 9.0000 | 4.0420 | 6.0458 | model_form_blend |
| predicted_HR | 1.0000 | 0.4940 | 0.6985 | model_form_blend |
| predicted_IP | 5.1000 | 4.2000 | 5.0000 | model_form_blend |
| predicted_SO | 7.0000 | 6.9410 | 6.9648 | model_form_blend |
| predicted_WHIP | - | 1.3063 | 1.3063 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 4 |
| SO | 10 |
| HR | 0 |
| BF | 20 |
| Pitches | 94 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 8 |
| allPositionsPlayed | P |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 668909 |
| playerID | 668909 |
| playerName | Gavin Williams |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 33.2 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.294 |
| sl_xwoba | 0.302 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 46.6 |
| sl_whiff_percent | 32.8 |
| sl_swing_percent | 49.1 |
| sl_avg_best_speed | 79.297357934 |
| sl_avg_hyper_speed | 94.995264941 |
| 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.414 | 1.000 | -0.414 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.271 | 0.000 | -0.271 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.671 | 1.000 | -0.671 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.653 | 0.100 | -0.453 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.829 | 0.000 | 0.171 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 3 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 2 |
| Better Metrics | 2 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_ER: 1.0000 -> 0.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 3 | 1 | 2 | 2 | 1 | predicted_SO: 0.0000 -> 1.0000 (boost 1.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 |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "682120",
"player_name": "Tim Herrin",
"position": "Middle Reliever",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 2.000 | - |
| ER | 0.000 | - |
| H | 0.000 | - |
| HR | 0.000 | - |
| IP | 0.200 | - |
| Pitches | 7.000 | - |
| R | 0.000 | - |
| SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 1.000 | 5.000 | 1.000 | 7.000 | 0.000 | 2.2500 | 1.5000 | 0.2500 | 1.2500 | 0.2500 | 1.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 8.000 | 2.000 | 10.000 | 4.000 | 11.000 | 0.000 | 2.2500 | 1.7500 | 0.2500 | 1.2500 | 0.5000 | 1.3750 | 0.0000 |
| season | 0.20 | 70 | 59.000 | 19.000 | 47.000 | 29.000 | 58.000 | 5.000 | 2.8983 | 1.2881 | 0.3220 | 0.7966 | 0.4915 | 0.9830 | 0.0848 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2750 |
| predicted_ER | 0.2410 |
| predicted_ERA | 3.0345 |
| predicted_H | 0.7920 |
| predicted_HR | 0.0390 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.9360 |
| predicted_WHIP | 1.4936 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2750 | 0.1450 | model_form_blend |
| predicted_ER | 1.0000 | 0.2410 | 0.5999 | model_form_blend |
| predicted_ERA | - | 3.0345 | 3.0345 | form_only |
| predicted_H | 0.0000 | 0.7920 | 0.4175 | model_form_blend |
| predicted_HR | 0.0000 | 0.0390 | 0.0206 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9360 | 0.4934 | model_form_blend |
| predicted_WHIP | - | 1.4936 | 1.4936 | 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 | 70 |
| Season rows before report date | 70 |
| Report year | 2026 |
| Profile rows used | 70 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 2 |
| Pitches | 7 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 682120 |
| playerID | 682120 |
| playerName | Tim Herrin |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 11.7 |
| sl_woba | 0.308 |
| sl_xwoba | 0.304 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 37.3 |
| sl_whiff_percent | 30.7 |
| sl_swing_percent | 46.8 |
| sl_avg_best_speed | 75.510758684 |
| sl_avg_hyper_speed | 93.778213026 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.432 | 0.000 | -0.432 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.409 | 0.000 | -0.409 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.682 | 0.000 | -0.682 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.711 | 1.200 | 0.289 | -0.200 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.864 | 2.000 | 1.136 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 1 | 1 | 0 | 1 | 0 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "542888",
"player_name": "Shawn Armstrong",
"position": "Middle Reliever",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 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_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 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 | 3.000 | - |
| ER | 0.000 | - |
| H | 0.000 | - |
| HR | 0.000 | - |
| IP | 1.000 | - |
| Pitches | 17.000 | - |
| R | 0.000 | - |
| SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 0.000 | 1.000 | 0.000 | 5.000 | 0.000 | 0.0000 | 0.1765 | 0.0000 | 0.1765 | 0.0000 | 0.8823 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 3.000 | 5.000 | 3.000 | 10.000 | 0.000 | 2.8929 | 0.8571 | 0.3214 | 0.5357 | 0.3214 | 1.0714 | 0.0000 |
| season | 0.20 | 42 | 39.000 | 12.000 | 27.000 | 17.000 | 38.000 | 3.000 | 2.7692 | 1.1282 | 0.3077 | 0.6923 | 0.4359 | 0.9744 | 0.0769 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2690 |
| predicted_ER | 0.3040 |
| predicted_ERA | 2.7396 |
| predicted_H | 0.6280 |
| predicted_HR | 0.0660 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9540 |
| predicted_WHIP | 0.8969 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2690 | 0.1314 | model_form_blend |
| predicted_ER | 0.0000 | 0.3040 | 0.1484 | model_form_blend |
| predicted_ERA | - | 2.7396 | 2.7396 | form_only |
| predicted_H | 0.0000 | 0.6280 | 0.3067 | model_form_blend |
| predicted_HR | 0.0000 | 0.0660 | 0.0322 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9540 | 0.9775 | model_form_blend |
| predicted_WHIP | - | 0.8969 | 0.8969 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 44 |
| Season rows before report date | 44 |
| Report year | 2026 |
| Profile rows used | 42 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 3 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 19 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 542888 |
| playerID | 542888 |
| playerName | Shawn Armstrong |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.313 |
| sl_xwoba | 0.315 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 35.4 |
| sl_whiff_percent | 23.7 |
| sl_swing_percent | 49.0 |
| sl_avg_best_speed | 78.298572708 |
| sl_avg_hyper_speed | 93.400017604 |
| 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.562 | 1.000 | -0.562 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.938 | 2.000 | -0.938 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.925 | 0.200 | 0.075 | 0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.688 | 2.000 | 0.312 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 2 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, better) |
| Biggest Deboost | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 2 | 1 | 1 | 2 | 0 | predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "682982",
"player_name": "Daniel Espino",
"position": "Middle Reliever (High Leverage)",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 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_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 3.000 | - |
| ER | 0.000 | - |
| H | 0.000 | - |
| HR | 0.000 | - |
| IP | 1.000 | - |
| Pitches | 12.000 | - |
| R | 0.000 | - |
| SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 4.000 | 4.000 | 5.000 | 6.000 | 1.000 | 8.3077 | 2.0769 | 0.9231 | 0.9231 | 1.1539 | 1.3846 | 0.2308 |
| last_10 | 0.35 | 10 | 10.200 | 5.000 | 10.000 | 5.000 | 15.000 | 2.000 | 4.2188 | 1.4062 | 0.4688 | 0.9375 | 0.4688 | 1.4062 | 0.1875 |
| season | 0.20 | 16 | 16.200 | 8.000 | 15.000 | 9.000 | 27.000 | 3.000 | 4.3200 | 1.4400 | 0.4800 | 0.9000 | 0.5400 | 1.6200 | 0.1800 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5490 |
| predicted_ER | 0.5800 |
| predicted_ERA | 5.2225 |
| predicted_H | 0.9600 |
| predicted_HR | 0.1710 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1400 |
| predicted_WHIP | 1.5093 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.5490 | 0.8197 | model_form_blend |
| predicted_ER | 0.0000 | 0.5800 | 0.2319 | model_form_blend |
| predicted_ERA | - | 5.2225 | 5.2225 | form_only |
| predicted_H | 0.0000 | 0.9600 | 0.3839 | model_form_blend |
| predicted_HR | 0.0000 | 0.1710 | 0.0684 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1400 | 0.4559 | model_form_blend |
| predicted_WHIP | - | 1.5093 | 1.5093 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 16 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 3 |
| Pitches | 12 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 6.75 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 20 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 682982 |
| playerID | 682982 |
| playerName | Daniel Espino |
| pos | P |
| started | True |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-07 |
| sl_k_percent | 38.5 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.299 |
| sl_xwoba | 0.264 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 12.1 |
| sl_hard_hit_percent | 36.4 |
| sl_whiff_percent | 36.8 |
| sl_swing_percent | 48.7 |
| sl_avg_best_speed | 72.897165882 |
| sl_avg_hyper_speed | 93.172357879 |
| 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.306 | 0.000 | -0.306 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.278 | 0.000 | 0.722 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.806 | 1.000 | 0.194 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.740 | 1.100 | 0.260 | -0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.819 | 1.000 | 1.181 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 4 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 1 |
| Better Metrics | 2 |
| Worse Metrics | 2 |
| 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 | 4 | 3 | 1 | 2 | 2 | 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": "683769",
"player_name": "Hunter Gaddis",
"position": "Middle Reliever (High Leverage)",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_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_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"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": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_ER",
"before": 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_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"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": "boosted"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 4.000 | - |
| ER | 1.000 | - |
| H | 1.000 | - |
| HR | 0.000 | - |
| IP | 1.000 | - |
| Pitches | 14.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 | 4.000 | 2.000 | 6.000 | 0.000 | 2.000 | 1.000 | 4.5000 | 1.5000 | 0.5000 | 1.5000 | 0.0000 | 0.5000 | 0.2500 |
| last_10 | 0.35 | 10 | 8.200 | 3.000 | 12.000 | 1.000 | 6.000 | 2.000 | 3.1154 | 1.5000 | 0.3462 | 1.3846 | 0.1154 | 0.6923 | 0.2308 |
| season | 0.20 | 71 | 63.100 | 19.000 | 56.000 | 20.000 | 59.000 | 7.000 | 2.7000 | 1.2000 | 0.3000 | 0.8842 | 0.3158 | 0.9316 | 0.1105 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1610 |
| predicted_ER | 0.3890 |
| predicted_ERA | 3.9253 |
| predicted_H | 1.1050 |
| predicted_HR | 0.1750 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6520 |
| predicted_WHIP | 1.4200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1610 | 0.5526 | model_form_blend |
| predicted_ER | 0.0000 | 0.3890 | 0.2074 | model_form_blend |
| predicted_ERA | - | 3.9253 | 3.9253 | form_only |
| predicted_H | 0.0000 | 1.1050 | 0.5893 | model_form_blend |
| predicted_HR | 0.0000 | 0.1750 | 0.0933 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6520 | 0.8144 | model_form_blend |
| predicted_WHIP | - | 1.4200 | 1.4200 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 72 |
| Season rows before report date | 72 |
| Report year | 2026 |
| Profile rows used | 71 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 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 | 5 |
| 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 | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 683769 |
| playerID | 683769 |
| playerName | Hunter Gaddis |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.3 |
| sl_xwoba | 0.311 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 29.9 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 51.7 |
| sl_avg_best_speed | 75.512971294 |
| sl_avg_hyper_speed | 92.352765294 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.676 | 2.000 | -1.676 | -2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.735 | 2.000 | 0.265 | 1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 5.147 | 0.000 | -2.147 | 3.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 5.409 | 0.100 | -5.209 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 4.382 | 1.000 | -3.382 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 5 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 1 |
| Better Metrics | 2 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_ER: 0.0000 -> 3.0000 (boost 3.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 | pitcher_quality_run_redistribution | 3 | 3 | 0 | 1 | 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 | 5 | 3 | 2 | 1 | 4 | predicted_ER: 1.0000 -> 3.0000 (boost 2.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 |
| 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": "676440",
"player_name": "Tanner Bibee",
"position": "Setup Man",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"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": 0.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_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 1,
"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": 0.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 0.2,
"predicted_R": 3.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 0.2,
"delta": -0.8,
"percent_delta": -0.8,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_ER",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": 0.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_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": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 3.0,
"delta": 3.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": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 3.0,
"delta": 3.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 | 0.100 | - |
| 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 | 1.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 1.000 | 0.900 |
| 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 | 0.000 | - |
| BF | 5.000 | - |
| ER | 3.000 | - |
| H | 3.000 | - |
| HR | 1.000 | - |
| IP | 0.200 | - |
| Pitches | 16.000 | - |
| R | 3.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 | 22.000 | 18.000 | 29.000 | 6.000 | 17.000 | 3.000 | 7.3636 | 1.5909 | 0.8182 | 1.3182 | 0.2727 | 0.7727 | 0.1364 |
| last_10 | 0.35 | 10 | 50.100 | 34.000 | 57.000 | 19.000 | 39.000 | 6.000 | 6.0795 | 1.5099 | 0.6755 | 1.1324 | 0.3775 | 0.7748 | 0.1192 |
| season | 0.20 | 34 | 188.100 | 93.000 | 175.000 | 57.000 | 149.000 | 29.000 | 4.4442 | 1.2319 | 0.4938 | 0.9292 | 0.3026 | 0.7912 | 0.1540 |
| Metric | Value |
|---|---|
| predicted_BB | 1.3790 |
| predicted_ER | 2.8910 |
| predicted_ERA | 6.1126 |
| predicted_H | 4.9000 |
| predicted_HR | 0.5770 |
| predicted_IP | 4.1000 |
| predicted_SO | 3.3930 |
| predicted_WHIP | 1.4750 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.3790 | 1.2258 | model_form_blend |
| predicted_ER | 0.0000 | 2.8910 | 1.7226 | model_form_blend |
| predicted_ERA | - | 6.1126 | 6.1126 | form_only |
| predicted_H | 0.0000 | 4.9000 | 2.9196 | model_form_blend |
| predicted_HR | 0.0000 | 0.5770 | 0.3438 | model_form_blend |
| predicted_IP | 0.1000 | 4.1000 | 2.2000 | model_form_blend |
| predicted_SO | 1.0000 | 3.3930 | 2.4258 | model_form_blend |
| predicted_WHIP | - | 1.4750 | 1.4750 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 3 |
| R | 3 |
| ER | 3 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| BF | 5 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 2 |
| Pitching_ERA | 54.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 15 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20261008_CLE@CHW |
| game_type | full |
| mlbID | 676440 |
| playerID | 676440 |
| playerName | Tanner Bibee |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-08 |
| sl_k_percent | 19.0 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.316 |
| sl_xwoba | 0.32 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 39.3 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 47.2 |
| sl_avg_best_speed | 78.48833 |
| sl_avg_hyper_speed | 93.901466726 |