MLBPrediction Today's Board Methodology Record Metrics About

Model output · 2026-09-10

Every game, projected

Projected score, win probability and projected total for all 5 games, with the inputs that produced each one. Every row on this page was written to an append only store before first pitch and has not been edited since.

Generated September 10, 2026 at 7:55 PM PT Model v1.2.0-negbin-hfa-logit Store 1627 rows, 1627 settled Integrity verified

No accuracy figure yet, and that is deliberate. 10 predictions have been published before first pitch and settled. This page will show Brier score, log loss and calibration once that number reaches 250. A back test over 1617 past games exists for checking the maths, and it is not an accuracy claim because the model could see data those games had already produced.

What is missing and why. There is no market moneyline, no market total, no edge and no closing line value on this page, because this project does not have an odds feed. Those columns are left out rather than filled with a number the site cannot stand behind. Everything shown is computed from free public data.

Truist Park · 9:15 AM PTPark 100 runs
Tampa Bay Rays Nick Martinez
4.5proj runs
Atlanta Braves Martín Pérez
4.5proj runs
Rays 48% Total 9.0 Braves 52%
86°F, wind 1 mph in44-v1.2.0-negbin-hfa-logit-a
Show the inputs
{
 "park_index": 1.0,
 "weather": {
  "field_azimuth": 145.0,
  "index": 1.0571,
  "out_component_mph": -0.68,
  "temp_f": 85.6,
  "temp_multiplier": 1.06,
  "wind_from_deg": 217,
  "wind_mph": 2.2,
  "wind_multiplier": 0.9973
 },
 "home": {
  "home_field_multiplier": 1.0072,
  "offence": {
   "de_parked": 1.0185,
   "home_park_factor": 1.0,
   "index": 1.0185,
   "raw_index": 1.0185,
   "regression_weight": 1.0,
   "runs_per_game": 4.565
  },
  "opposing_bullpen": {
   "excess": -0.35,
   "expected_ip": 11.7,
   "index": 0.9825,
   "note": "relief innings inferred as team IP minus 5.2 per start",
   "relief_ip": 7.6,
   "window_days": 3
  },
  "opposing_pitching": {
   "index": 0.9417,
   "staff_index": 0.9201,
   "starter": {
    "batters_faced": 663,
    "fip": 4.355,
    "index": 0.9573,
    "ip": 166.1,
    "regression_weight": 1.0
   },
   "starter_share": 0.58
  },
  "projected_runs": 4.497,
  "team_id": 144
 },
 "away": {
  "home_field_multiplier": 0.9928,
  "offence": {
   "de_parked": 1.0117,
   "home_park_factor": 1.0,
   "index": 1.0117,
   "raw_index": 1.0117,
   "regression_weight": 1.0,
   "runs_per_game": 4.534
  },
  "opposing_bullpen": {
   "excess": -0.111,
   "expected_ip": 11.7,
   "index": 0.9944,
   "note": "relief innings inferred as team IP minus 5.2 per start",
   "relief_ip": 10.4,
   "window_days": 3
  },
  "opposing_pitching": {
   "index": 0.9553,
   "staff_index": 0.8512,
   "starter": {
    "batters_faced": 547,
    "fip": 4.689,
    "index": 1.0308,
    "ip": 131.2,
    "regression_weight": 1.0
   },
   "starter_share": 0.58
  },
  "projected_runs": 4.521,
  "team_id": 139
 }
}
Citizens Bank Park · 10:05 AM PTPark 104 runs
Houston Astros Cristian Javier
4.4proj runs
Philadelphia Phillies Zack Wheeler
5.1proj runs
Astros 43% Total 9.5 Phillies 57%
87°F, wind 0 mph in43-v1.2.0-negbin-hfa-logit-a
Show the inputs
{
 "park_index": 1.04,
 "weather": {
  "field_azimuth": 9.0,
  "index": 1.0586,
  "out_component_mph": -0.32,
  "temp_f": 87.1,
  "temp_multiplier": 1.06,
  "wind_from_deg": 281,
  "wind_mph": 9.3,
  "wind_multiplier": 0.9987
 },
 "home": {
  "home_field_multiplier": 1.0072,
  "offence": {
   "de_parked": 0.9807,
   "home_park_factor": 1.04,
   "index": 0.9807,
   "raw_index": 1.0003,
   "regression_weight": 1.0,
   "runs_per_game": 4.483
  },
  "opposing_bullpen": {
   "excess": -0.436,
   "expected_ip": 11.7,
   "index": 0.9782,
   "note": "relief innings inferred as team IP minus 5.2 per start",
   "relief_ip": 6.6,
   "window_days": 3
  },
  "opposing_pitching": {
   "index": 1.0612,
   "staff_index": 1.0642,
   "starter": {
    "batters_faced": 243,
    "fip": 4.991,
    "index": 1.059,
    "ip": 55.2,
    "regression_weight": 0.608
   },
   "starter_share": 0.58
  },
  "projected_runs": 5.059,
  "team_id": 143
 },
 "away": {
  "home_field_multiplier": 0.9928,
  "offence": {
   "de_parked": 1.0049,
   "home_park_factor": 1.0,
   "index": 1.0049,
   "raw_index": 1.0049,
   "regression_weight": 1.0,
   "runs_per_game": 4.503
  },
  "opposing_bullpen": {
   "excess": -0.026,
   "expected_ip": 11.7,
   "index": 0.9987,
   "note": "relief innings inferred as team IP minus 5.2 per start",
   "relief_ip": 11.4,
   "window_days": 3
  },
  "opposing_pitching": {
   "index": 0.8945,
   "staff_index": 0.9244,
   "starter": {
    "batters_faced": 574,
    "fip": 3.971,
    "index": 0.8729,
    "ip": 143.1,
    "regression_weight": 1.0
   },
   "starter_share": 0.58
  },
  "projected_runs": 4.397,
  "team_id": 117
 }
}
T-Mobile Park · 1:10 PM PTPark 85 runs
Texas Rangers Jacob deGrom
3.4proj runs
Seattle Mariners Logan Gilbert
3.1proj runs
Rangers 51% Total 6.5 Mariners 49%
66°F, wind 2 mph out36-v1.2.0-negbin-hfa-logit-a
Show the inputs
{
 "park_index": 0.85,
 "weather": {
  "field_azimuth": 49.0,
  "index": 0.9858,
  "out_component_mph": 1.74,
  "temp_f": 66.5,
  "temp_multiplier": 0.979,
  "wind_from_deg": 279,
  "wind_mph": 2.7,
  "wind_multiplier": 1.0069
 },
 "home": {
  "home_field_multiplier": 1.0072,
  "offence": {
   "de_parked": 0.9534,
   "home_park_factor": 0.85,
   "index": 0.9534,
   "raw_index": 0.8819,
   "regression_weight": 1.0,
   "runs_per_game": 3.952
  },
  "opposing_bullpen": {
   "excess": -0.436,
   "expected_ip": 11.7,
   "index": 0.9782,
   "note": "relief innings inferred as team IP minus 5.2 per start",
   "relief_ip": 6.6,
   "window_days": 3
  },
  "opposing_pitching": {
   "index": 0.8717,
   "staff_index": 1.0007,
   "starter": {
    "batters_faced": 601,
    "fip": 3.54,
    "index": 0.7783,
    "ip": 149.1,
    "regression_weight": 1.0
   },
   "starter_share": 0.58
  },
  "projected_runs": 3.075,
  "team_id": 136
 },
 "away": {
  "home_field_multiplier": 0.9928,
  "offence": {
   "de_parked": 0.9259,
   "home_park_factor": 1.0,
   "index": 0.9259,
   "raw_index": 0.9259,
   "regression_weight": 1.0,
   "runs_per_game": 4.15
  },
  "opposing_bullpen": {
   "excess": -0.35,
   "expected_ip": 11.7,
   "index": 0.9825,
   "note": "relief innings inferred as team IP minus 5.2 per start",
   "relief_ip": 7.6,
   "window_days": 3
  },
  "opposing_pitching": {
   "index": 0.9949,
   "staff_index": 1.0792,
   "starter": {
    "batters_faced": 686,
    "fip": 4.248,
    "index": 0.9338,
    "ip": 172.0,
    "regression_weight": 1.0
   },
   "starter_share": 0.58
  },
  "projected_runs": 3.374,
  "team_id": 140
 }
}
Yankee Stadium · 4:05 PM PTPark 102 runs
Colorado Rockies Ryan Feltner
3.8proj runs
New York Yankees Max Fried
6.3proj runs
Rockies 30% Total 10.2 Yankees 70%
82°F, wind 8 mph out47-v1.2.0-negbin-hfa-logit-a
Show the inputs
{
 "park_index": 1.02,
 "weather": {
  "field_azimuth": 75.0,
  "index": 1.0932,
  "out_component_mph": 7.84,
  "temp_f": 82.5,
  "temp_multiplier": 1.06,
  "wind_from_deg": 248,
  "wind_mph": 7.9,
  "wind_multiplier": 1.0314
 },
 "home": {
  "home_field_multiplier": 1.0072,
  "offence": {
   "de_parked": 1.0093,
   "home_park_factor": 1.02,
   "index": 1.0093,
   "raw_index": 1.0194,
   "regression_weight": 1.0,
   "runs_per_game": 4.568
  },
  "opposing_bullpen": {
   "excess": -0.521,
   "expected_ip": 11.7,
   "index": 0.9739,
   "note": "relief innings inferred as team IP minus 5.2 per start",
   "relief_ip": 5.6,
   "window_days": 3
  },
  "opposing_pitching": {
   "index": 1.2815,
   "staff_index": 1.2961,
   "starter": {
    "batters_faced": 501,
    "fip": 5.782,
    "index": 1.2709,
    "ip": 111.2,
    "regression_weight": 1.0
   },
   "starter_share": 0.58
  },
  "projected_runs": 6.341,
  "team_id": 147
 },
 "away": {
  "home_field_multiplier": 0.9928,
  "offence": {
   "de_parked": 1.0484,
   "home_park_factor": 1.0,
   "index": 1.0484,
   "raw_index": 1.0484,
   "regression_weight": 1.0,
   "runs_per_game": 4.699
  },
  "opposing_bullpen": {
   "excess": -0.35,
   "expected_ip": 11.7,
   "index": 0.9825,
   "note": "relief innings inferred as team IP minus 5.2 per start",
   "relief_ip": 7.6,
   "window_days": 3
  },
  "opposing_pitching": {
   "index": 0.7512,
   "staff_index": 0.8046,
   "starter": {
    "batters_faced": 382,
    "fip": 3.18,
    "index": 0.7126,
    "ip": 99.0,
    "regression_weight": 0.955
   },
   "starter_share": 0.58
  },
  "projected_runs": 3.839,
  "team_id": 115
 }
}
Rate Field · 4:40 PM PTPark 98 runs
Pittsburgh Pirates Jared Jones
4.4proj runs
Chicago White Sox Hagen Smith
4.4proj runs
Pirates 48% Total 8.8 Sox 52%
71°F, wind 2 mph in45-v1.2.0-negbin-hfa-logit-a
Show the inputs
{
 "park_index": 0.98,
 "weather": {
  "field_azimuth": 127.0,
  "index": 0.9985,
  "out_component_mph": -2.45,
  "temp_f": 71.4,
  "temp_multiplier": 1.0084,
  "wind_from_deg": 62,
  "wind_mph": 5.8,
  "wind_multiplier": 0.9902
 },
 "home": {
  "home_field_multiplier": 1.0072,
  "offence": {
   "de_parked": 1.0575,
   "home_park_factor": 0.98,
   "index": 1.0575,
   "raw_index": 1.0469,
   "regression_weight": 1.0,
   "runs_per_game": 4.692
  },
  "opposing_bullpen": {
   "excess": -0.35,
   "expected_ip": 11.7,
   "index": 0.9825,
   "note": "relief innings inferred as team IP minus 5.2 per start",
   "relief_ip": 7.6,
   "window_days": 3
  },
  "opposing_pitching": {
   "index": 0.961,
   "staff_index": 1.014,
   "starter": {
    "batters_faced": 357,
    "fip": 4.154,
    "index": 0.9225,
    "ip": 85.2,
    "regression_weight": 0.892
   },
   "starter_share": 0.58
  },
  "projected_runs": 4.41,
  "team_id": 145
 },
 "away": {
  "home_field_multiplier": 0.9928,
  "offence": {
   "de_parked": 1.0762,
   "home_park_factor": 1.0,
   "index": 1.0762,
   "raw_index": 1.0762,
   "regression_weight": 1.0,
   "runs_per_game": 4.823
  },
  "opposing_bullpen": {
   "excess": -0.35,
   "expected_ip": 11.7,
   "index": 0.9825,
   "note": "relief innings inferred as team IP minus 5.2 per start",
   "relief_ip": 7.6,
   "window_days": 3
  },
  "opposing_pitching": {
   "index": 0.9648,
   "staff_index": 0.9923,
   "starter": {
    "batters_faced": 70,
    "fip": 3.114,
    "index": 0.9448,
    "ip": 18.0,
    "regression_weight": 0.175
   },
   "starter_share": 0.58
  },
  "projected_runs": 4.441,
  "team_id": 134
 }
}

Where the data came from

Every source with the moment it was read, stored on each prediction row so a stale input is visible after the fact.
SourceRead at
mlb bullpenSep 10, 7:24 PM PT
mlb pitcherSep 10, 7:23 PM PT
mlb scheduleSep 10, 7:55 PM PT
mlb team hittingSep 10, 7:22 PM PT
mlb team pitchingSep 10, 7:22 PM PT
mlb venuesSep 10, 7:23 PM PT
park factorsSep 10, 6:54 PM PT
weatherSep 10, 7:24 PM PT

How to read a projection

Projected runs are a Poisson mean, not a prediction that a team scores exactly that many. Win probability comes from the difference of the two means with the tie mass split evenly, because baseball does not end in a tie. The projected total is the sum of the two means. The full method, including what the model does badly.