MLB Betting Analyzer

Wednesday, April 29 2026  |  Run at 5:42 PM
Game Bets · NRFI · K Props · Batter Props · Injuries · Weather
Odds API Quota
297 / 20000 requests used (19703 remaining)

PERFORMANCE

Auto-verified via MLB Stats API

Recent (14d)

RecordWin%P&L
Overall160W–151L–0P51%-20.81 uLast 14 days • 311 settled
Grade A24W–23L–0P51%-5.71 u
Grade B136W–128L–0P52%-15.10 u

All-time

RecordWin%P&L
Overall253W–229L–2P52%-23.45 uAll-time • 484 settled
Grade A55W–41L–0P57%+0.73 u
Grade B198W–188L–2P51%-24.18 u
34 pending
DateTypePlayLineOddsSizeResultP&LActual
2026-04-28K PropPayton Tolle4.5-154-LOSS-1.000Payton Tolle: 4.0 (line 4.5)
2026-04-28K PropMerrill Kelly4.5-129-LOSS-1.000Merrill Kelly: 1.0 (line 4.5)
2026-04-28K PropLogan Gilbert5.5-123-LOSS-1.000Logan Gilbert: 4.0 (line 5.5)
2026-04-28K PropKris Bubic5.5-125-WIN+0.800Kris Bubic: 6.0 (line 5.5)
2026-04-28Batter H+R+RBIDrake Baldwin1.5-134-LOSS-1.000Drake Baldwin: 0.0 (line 1.5)
2026-04-28Batter H+R+RBIOneil Cruz1.5-143-WIN+0.699Oneil Cruz: 5.0 (line 1.5)
2026-04-28Batter H+R+RBIMatt Olson1.5-131-WIN+0.763Matt Olson: 3.0 (line 1.5)
2026-04-28Batter H+R+RBIElly De La Cruz1.5-144-WIN+0.694Elly De La Cruz: 9.0 (line 1.5)
2026-04-28Batter H+R+RBIYandy Diaz1.5-138-LOSS-1.000Yandy Díaz: 1.0 (line 1.5)
2026-04-28Batter H+R+RBIBrandon Lowe1.5-150-LOSS-1.000Brandon Lowe: 1.0 (line 1.5)

DATA READINESS

Input data availability for this run
Savant: 534 pitcher(s) with metrics
Savant 1st-inn: 209 pitcher(s) with 1st-inning splits
Team NRFI streaks: 30 teams | 30 with streak ≥5
Pitch-type matchup data: 30 team(s), 64 team×pitch-type combinations
Handedness: 30 pitcher(s) | Team splits: 30 team(s)
Lineups confirmed: 25 team(s), 225 player(s)
Umpires confirmed: 13 game(s)
Rest data: 30 team(s) | Back-to-back: Atlanta Braves, Los Angeles Angels, Cleveland Guardians, New York Mets, San Francisco Giants, Kansas City Royals, Athletics, Cincinnati Reds, Arizona Diamondbacks, Washington Nationals, Milwaukee Brewers, Boston Red Sox, Minnesota Twins, Seattle Mariners, Chicago Cubs, Los Angeles Dodgers, Miami Marlins, Houston Astros, Philadelphia Phillies, New York Yankees, Colorado Rockies, Pittsburgh Pirates, Baltimore Orioles, Toronto Blue Jays, Texas Rangers, Detroit Tigers, San Diego Padres, Tampa Bay Rays, St. Louis Cardinals, Chicago White Sox
Bullpen data: 30 team(s) | Fatigued pens: Kansas City Royals, Athletics, Arizona Diamondbacks, Miami Marlins, Baltimore Orioles
Weather: 6 game(s) with meaningful conditions
F5: 6 game(s) fetched | 6 with ML odds | 0 with total odds | 1 play(s) above 8% edge
No-HR model: 6 game(s) scored | 0 above probability threshold | 0 with DK implied prob

TODAY'S SLATE

DraftKings lines + consensus direction
MatchupTime (ET)Away MLHome MLAway RLHome RLTotalCon ML
Colorado Rockies @ Cincinnati Reds6:41 PM+138-167+1.5 (-153)-1.5 (+126)O/U 9.5HOMEBet on DK
St. Louis Cardinals @ Pittsburgh Pirates6:41 PM+114-137+1.5 (-199)-1.5 (+163)O/U 8.5HOMEBet on DK
Washington Nationals @ New York Mets7:11 PM+139-169+1.5 (-171)-1.5 (+141)O/U 7.5HOMEBet on DK
Detroit Tigers @ Atlanta Braves7:16 PM-149+123-1.5 (+113)+1.5 (-136)O/U 8.5AWAYBet on DK
Arizona Diamondbacks @ Milwaukee Brewers7:41 PM+114-137+1.5 (-188)-1.5 (+155)O/U 8.5HOMEBet on DK
Kansas City Royals @ Athletics9:41 PM+100-120-1.5 (+146)+1.5 (-177)O/U 9.5HOMEBet on DK

GRADE A PLAYS — SWEEP

2 Grade A  |  9 Grade B  |  179 Pass  |  0 Fade

Grade A Best Plays — 2 play(s)

GradeTypeSideGameTime (ET)LineOddsEdge/DiffChecks ✓!✗–Rec
AK PropJR Ritchie OverTIG@BRA7:16 PM4.5-13439.6%BEST PLAY
AK PropDavid Peterson OverNAT@MET7:11 PM4.5-14638.7%BEST PLAY

✓ PASS   ! WARN   ✗ FAIL   – N/A  |  Checks order: Baby Line · Model Edge · Books · Matchup · Role · Game Script

View Full Audit →

V2 FRAMEWORK — RANKED PLAYS

Checks: Baby Line | Model Edge | Books Agree | Matchup | Role/Injury | Game Script  —  2 Grade A  |  9 Grade B

BEST PLAYS (Grade A)

A BEST PLAY K Prop — JR Ritchie Over 4.5 (-134) diff 39.6% Bet on DK
Game: Detroit Tigers @ Atlanta Braves
Checks:   ► BEST PLAY
▼ Key Factors & Flags (5)
  • Trifecta 1 (DIFF% 39.6% vs 18% min [April: raised to 18%]): PASS
  • Trifecta 2 (DK books agree): PASS (over 54.0% / under 46.0%)
  • Trifecta 3 (Abs diff +1.78K vs 1.0 min): PASS
  • Consensus (7 books): 5/7 OVER -- IN LINE (delta +0.14)
  • JR Ritchie: K/9 8.5, proj 6.3K over 6.0 IP (avg/start)
A BEST PLAY K Prop — David Peterson Over 4.5 (-146) diff 38.7% Bet on DK
Game: Washington Nationals @ New York Mets
Checks:   ► BEST PLAY
▼ Key Factors & Flags (5)
  • Trifecta 1 (DIFF% 38.7% vs 18% min [April: raised to 18%]): PASS
  • Trifecta 2 (DK books agree): PASS (over 55.9% / under 44.1%)
  • Trifecta 3 (Abs diff +1.74K vs 1.0 min): PASS
  • Consensus (7 books): 4/7 OVER -- IN LINE (delta +0.00)
  • David Peterson: K/9 8.7, proj 6.2K over 6.1 IP (avg/start)
▼ Good Adds — Grade B (9 play(s))
B GOOD ADD Pitcher Outs — Eduardo Rodriguez Under 17.5 (-138) diff 14.7% Bet on DK
Game: Arizona Diamondbacks @ Milwaukee Brewers
Checks: !   ► GOOD ADD
▼ Key Factors & Flags (5)
  • Proj 14.92 vs line 17.5 | DIFF% 14.7% (min 10%)
  • Basis: adj IP 4.9 (xFIP 4.34)
  • DK books agree: YES (over 45.8% / under 54.2%)
  • Consensus (4 books): 2/4 OVER -- DK HIGHER
  • Opp batting adj: +0.1 outs (Opp batting (Milwaukee Brewers): wRC+ 96)
B GOOD ADD Pitcher Hits Allowed — Michael Wacha Under 5.5 (-109) diff 28.3% Bet on DK
Game: Kansas City Royals @ Athletics
Checks: !   ► GOOD ADD
▼ Key Factors & Flags (5)
  • Proj 3.945 vs line 5.5 | DIFF% 28.3% (min 15%)
  • Basis: H/IP 0.79 (WHIP 1.15, BB% 8.4%)
  • DK books agree: NO (over 51.2% / under 48.8%)
  • Consensus (3 books): 3/3 OVER -- IN LINE
  • Opp batting adj: -0.1 hits (Opp batting (Athletics): wRC+ 98)
B GOOD ADD Pitcher Hits Allowed — Tomoyuki Sugano Under 5.5 (-116) diff 18.1% Bet on DK
Game: Colorado Rockies @ Cincinnati Reds
Checks:   ► GOOD ADD
▼ Key Factors & Flags (5)
  • Proj 4.505 vs line 5.5 | DIFF% 18.1% (min 15%)
  • Basis: H/IP 0.92 (WHIP 1.25, BB% 7.5%)
  • DK books agree: YES (over 49.8% / under 50.2%)
  • Consensus (3 books): 2/3 OVER -- IN LINE
  • Opp batting adj: -0.1 hits (Opp batting (Cincinnati Reds): wRC+ 96)
B GOOD ADD Pitcher Hits Allowed — Luis Severino Under 5.5 (-108) diff 16.9% Bet on DK
Game: Kansas City Royals @ Athletics
Checks: !   ► GOOD ADD
▼ Key Factors & Flags (5)
  • Proj 4.569999999999999 vs line 5.5 | DIFF% 16.9% (min 15%)
  • Basis: H/IP 0.92 (WHIP 1.40, BB% 11.2%)
  • DK books agree: NO (over 51.5% / under 48.5%)
  • Consensus (3 books): 3/3 OVER -- IN LINE
  • Opp batting adj: -0.0 hits (Opp batting (Kansas City Royals): wRC+ 99)
B GOOD ADD Batter H+R+RBI — Ryan O'Hearn Over 1.5 (-134) diff 71.9% Bet on DK
Game: St. Louis Cardinals @ Pittsburgh Pirates
Checks:   ► GOOD ADD
▼ Key Factors & Flags (6)
  • Proj 2.58 vs line 1.5 | DIFF% 71.9% [individual]
  • Basis: H+R+RBI/G 2.43
  • Opp SP xwOBA 0.356 (boosting contact quality, adj 1.06x)
  • DK books agree: YES
  • Consensus (3 books): 3/3 OVER -- IN LINE
⚠ ⚠ Recent form: L10 31% (30-49%) — A capped at B
B GOOD ADD Batter H+R+RBI — JJ Wetherholt Over 1.5 (-126) diff 58.6% Bet on DK
Game: St. Louis Cardinals @ Pittsburgh Pirates
Checks: !   ► GOOD ADD
▼ Key Factors & Flags (5)
  • Proj 2.38 vs line 1.5 | DIFF% 58.6% [individual]
  • Basis: H+R+RBI/G 2.24
  • Opp SP xwOBA 0.356 (boosting contact quality, adj 1.06x)
  • DK books agree: YES
  • Consensus (3 books): 3/3 OVER -- IN LINE
B GOOD ADD Batter H+R+RBI — Ozzie Albies Over 1.5 (-117) diff 57.4% Bet on DK
Game: Detroit Tigers @ Atlanta Braves
Checks: !   ► GOOD ADD
▼ Key Factors & Flags (5)
  • Proj 2.36 vs line 1.5 | DIFF% 57.4% [individual]
  • Basis: H+R+RBI/G 2.50
  • Opp SP xwOBA 0.278 (suppressing contact quality, adj 0.94x)
  • DK books agree: YES
  • Consensus (3 books): 2/3 OVER -- IN LINE
B GOOD ADD Batter H+R+RBI — Kevin McGonigle Over 1.5 (-152) diff 52.0% Bet on DK
Game: Detroit Tigers @ Atlanta Braves
Checks: !   ► GOOD ADD
▼ Key Factors & Flags (5)
  • Proj 2.28 vs line 1.5 | DIFF% 52.0% [individual]
  • Basis: H+R+RBI/G 2.41
  • Opp SP xwOBA 0.278 (suppressing contact quality, adj 0.94x)
  • DK books agree: YES
  • Consensus (3 books): 3/3 OVER -- IN LINE
B GOOD ADD F5 ML — Atlanta Braves (+145) edge 9.2% Bet on DK
Game: Detroit Tigers @ Atlanta Braves (F5)
Checks: !!   ► GOOD ADD
▼ Key Factors & Flags (7)
  • [IL] Casey Mize (Detroit Tigers) -- Injured 15-Day: Injured 15-Day
  • [INJ] Rolddy Muñoz (Atlanta Braves) -- Reassigned to Minors: Reassigned to Minors
  • [INJ] Rayven Antonio (Atlanta Braves) -- Injured - Full Season: Injured - Full Season
  • [IL] Raisel Iglesias (Atlanta Braves) -- Injured 15-Day: Injured 15-Day
  • [OUT] Juan Sanchez (Atlanta Braves) -- Injured 60-Day: Injured 60-Day
⚠ Role/Injury: [IL] Casey Mize (Detroit Tigers) -- Injured 15-Day: Injured 15-Day | [IL] Raisel Iglesias (Atlanta Braves) -- Injured 15-Day: Injured 15-Day | [OUT] Juan Sanchez (Atlanta Braves) -- Injured 60-Day: Injured 60-Day | [IL] Dylan Dodd (Atlanta Braves) -- Injured 15-Day: Injured 15-Day | [INJ] Rolddy Muñoz (Atlanta Braves) -- Reassigned to Minors: Reassigned to Minors | [INJ] Rayven Antonio (Atlanta Braves) -- Injured - Full Season: Injured - Full Season
⚠ Game Script: Neutral run environment (1.01x) | Home back-to-back | Away back-to-back

GAME BETS — DETAIL

0 bet(s) above 15% edge threshold

No bets meet the threshold today.

F5 BETS — DETAIL

1 bet(s) above 8% edge threshold
GradeGameTypeSideDK OddsImpliedModelEdgeEV/$100Books
BDetroit Tigers @ Atlanta Braves (F5)F5 MLAtlanta Braves+14538.5%47.7%+9.2%$+16.89Bet on DK
▼ Key Factors (1 play(s))
B Atlanta Braves — Detroit Tigers @ Atlanta Braves (F5) (F5 ML)   +9.2%
  • [IL] Casey Mize (Detroit Tigers) -- Injured 15-Day: Injured 15-Day
  • [INJ] Rolddy Muñoz (Atlanta Braves) -- Reassigned to Minors: Reassigned to Minors
  • [INJ] Rayven Antonio (Atlanta Braves) -- Injured - Full Season: Injured - Full Season
  • [IL] Raisel Iglesias (Atlanta Braves) -- Injured 15-Day: Injured 15-Day
  • [OUT] Juan Sanchez (Atlanta Braves) -- Injured 60-Day: Injured 60-Day
  • [IL] Dylan Dodd (Atlanta Braves) -- Injured 15-Day: Injured 15-Day
  • [WEATHER] Wind 11 mph W -- crosswind, minor effect
  • Truist Park (NEUTRAL)
  • JR Ritchie xFIP 4.11
  • Tarik Skubal xFIP 3.55
  • Home SP: JR Ritchie (RHP)
  • Away SP: Tarik Skubal (LHP)

NRFI — NO RUN FIRST INNING

Score threshold: 7.7+ | SP 40% / K% 35% / Off 25%

No NRFI/YRFI plays meet the score threshold today.

▼ Why not play? (6 games below threshold)
GameSPsNRFI / MinYRFI / MinEdgeWhy not
Detroit Tigers @ Atlanta BravesJR Ritchie / Tarik Skubal5.1 / 7.74.9 / 7.7+4.2%Score 5.1 < 7.7 threshold | Edge 4.2% < 8% required
Home SP 1st-inn data thin (4 PA < 30 gate) | Away SP 1st-inn data thin (21 PA < 30 gate)
Washington Nationals @ New York MetsDavid Peterson / Cade Cavalli3.9 / 7.76.2 / 7.7-9.2%Score 3.9 < 7.7 threshold | Edge -9.2% < 8% required
Home SP 1st-inn data thin (22 PA < 30 gate) | Away SP 1st-inn data thin (27 PA < 30 gate)
Kansas City Royals @ AthleticsLuis Severino / Michael Wacha3.8 / 7.76.2 / 7.7-1.9%Score 3.8 < 7.7 threshold | Edge -1.9% < 8% required
Away SP 1st-inn data thin (20 PA < 30 gate)
St. Louis Cardinals @ Pittsburgh PiratesBubba Chandler / Andre Pallante3.7 / 7.76.3 / 7.7-7.9%Score 3.7 < 7.7 threshold | Edge -7.9% < 8% required
Home SP 1st-inn data thin (18 PA < 30 gate) | Away SP 1st-inn data thin (25 PA < 30 gate)
Arizona Diamondbacks @ Milwaukee BrewersBrandon Sproat / Eduardo Rodriguez3.4 / 7.76.6 / 7.7-16.7%Score 3.4 < 7.7 threshold | Edge -16.7% < 8% required
Home SP 1st-inn data thin (17 PA < 30 gate) | Away SP 1st-inn data thin (23 PA < 30 gate)
Colorado Rockies @ Cincinnati RedsBrandon Williamson / Tomoyuki Sugano2.3 / 7.77.7 / 7.7-15.9%Score 2.3 < 7.7 threshold | Edge -15.9% < 8% required
Home SP 1st-inn data thin (20 PA < 30 gate) | Away SP 1st-inn data thin (22 PA < 30 gate)

NO-HR MODEL — POISSON GAME ANALYSIS

Poisson model &mdash; P(no HR)&ge;20% or P(under 1.5 HR)&ge;48% to play
GameHome SPAway SPPark HRP(No HR)P(U 1.5)DK ImpliedEdge
Washington Nationals @ New York MetsDavid PetersonCade Cavalli0.9317.2%47.5%
Arizona Diamondbacks @ Milwaukee BrewersBrandon SproatEduardo Rodriguez1.0814.7%43.0%
Kansas City Royals @ AthleticsLuis SeverinoMichael Wacha1.0013.7%41.0%
St. Louis Cardinals @ Pittsburgh PiratesBubba ChandlerAndre Pallante0.968.6%29.8%
Detroit Tigers @ Atlanta BravesJR RitchieTarik Skubal1.038.1%28.4%
Colorado Rockies @ Cincinnati RedsBrandon WilliamsonTomoyuki Sugano1.157.5%26.8%

REFERENCE GUIDE

Column definitions, model notes, and sizing rules

V2 Framework — How the Report is Structured

Every bet candidate — regardless of market — passes through the same six-check evaluation engine before appearing in the report. The engine produces a letter grade (A–F) and a recommendation tier. The top of the report shows your actionable plays; the full sweep table below it shows every candidate evaluated that day so you can audit the model's reasoning.

SectionWhat it shows
V2 Ranked PlaysGrade A (Best Play) and Grade B (Good Add) candidates with full detail — check bar, key factors, risk flags, and contradiction flags
Full Candidate SweepEvery evaluated bet in one compact table grouped by grade tier. Use this to understand why a play was filtered out.
Today's SlateDraftKings reference lines for all games
Detail SectionsGame bets (with key factors, injury/weather notes) and NRFI — full signal detail below the V2 ranked plays

V2 Six-Check System

Each check returns PASS ✓, WARN !, FAIL ✗, or N/A –. Checks that need unavailable data degrade to N/A without penalising the grade. Two points for PASS, one for WARN or N/A, zero for FAIL.

#CheckWhat it evaluatesPASS condition
1Baby LineLine size, batter opportunity, run-line cushionNo baby-line flags, adequate PA opportunity, RL cushion ≥0.2 runs
2Model EdgeProjection vs DK line (edge for game bets, DIFF% for props)Edge ≥ threshold for the market type
3Books AgreeDK implied direction + consensus lean % across all other booksDK agrees with model AND ≥55% of consensus books lean same side
4MatchupPark factor, weather, pitcher handedness vs lineup splitsPark/weather support the bet direction; platoon matchup neutral or favorable
5Role / InjuryConfirmed lineup spot, injury flags, workload concernsNo injury flags; lineup confirmed in a favorable spot
6Game ScriptCombined park × weather run environment; run-line margin vs spreadEnvironment supports bet direction; RL margin cushion ≥0.5 runs

Grades & Recommendations

GradeScoreRecommendationWhen to bet
A10–12, 0 FAILsBEST PLAYCore play — all six checks aligned
B7–9, ≤1 FAILGOOD ADDStrong play with minor caveats
C4–6PASSThin — skip unless you have a strong personal read
D2–3 or model edge FAILPASSDo not bet — weak signal
F0–1HARD FADEConsider betting the other side

Hard override: a Model Edge FAIL always caps at Grade D regardless of other checks. Books Strongly Disagree caps at Grade C.

Contradiction Flags ⚡

When two recommended plays on the same game send opposing run-environment signals, a ⚡ contradiction flag is added to both plays. The bet is not removed — it is flagged so you can decide consciously whether the conflict makes sense.

PatternWhy it conflicts
Total Over + NRFIHigh-run game expectation vs no runs in the 1st inning
Total Under + YRFILow-run game expectation vs runs scoring in the 1st
K Prop Over + YRFIPitcher dominates yet run scores early
Batter Overs + Total UnderPlayer production expected but game total is low
Outs Over + K Under (same SP)Long outing projected but few strikeouts — projection inconsistency

API Quota Bar

ElementMeaning
Progress barVisual fill of monthly Odds API usage
used / totalRequests consumed vs. your monthly cap — each run costs ~1 request per game (combined market fetch)

Today's Slate

ColumnMeaning
Away ML / Home MLDraftKings moneyline. −150 = bet $150 to win $100 • +130 = bet $100 to win $130
Away RL / Home RLRun line (always ±1.5) with its odds. −1.5(−110) = team must win by 2+
TotalOver/Under line (e.g. O/U 8.5)
Con MLConsensus moneyline direction — which side the majority of other books (FanDuel, BetMGM, Caesars, etc.) favor

Game Bets — Column Definitions

ColumnMeaning
GradeV2 Framework grade (A–D) — driven by the six-check scoring system. A/B rows are highlighted. See Grade Scale below.
TypeMoneyline, Run Line, Total Over/Under, F5 ML, F5 Total
DK OddsDraftKings price for that side
ImpliedDK implied probability after vig removal
ModelWin probability our model calculates independently
EdgeModel% − Implied%. Min 15% to surface a game bet.
EV/$100Expected profit per $100 wagered: (win_prob × profit) − (loss_prob × $100)
BooksNumber of consensus books with data for this market (ML/RL: directional lean; Total: line coverage). ≥3 = full check, 2 = capped at B/C, <2 = Check 3 fails.

How the Model Works — The Simple Version

The model is asking one question: does DraftKings have the wrong price on this game?

It independently calculates how likely each team is to win by grading two things: how good is today's starting pitcher (xFIP vs league average) and how good is the opposing lineup (wRC+ vs league average). It adds a small home-field bonus, blends in the pitcher's last 5 starts (35% weight), then converts the result to a win probability. That probability is compared to what DraftKings implies. If the gap is ≥15%, it surfaces as a bet.

The model caps at ~68–70% win probability even in extreme mismatches — baseball is unpredictable and overconfident models lose money. Missing data automatically reduces confidence and bet sizing.

How the Model Works — Win Probability (Technical)

For every game the model builds a score differential from three inputs, then converts it to a win probability using a logistic (S-curve) function. Here is each step:

StepWhat it calculatesData sourceWeight
1. Pitching edge How much better or worse each SP is vs. the league-average xFIP of 4.20.
home_pitch = (4.20 − home_xFIP) / 4.20
pitch_edge = home_pitch − away_pitch
A positive number means the home SP is above average relative to the away SP.
FanGraphs xFIP (direct API call) — the best early-season ERA predictor because it removes defense and luck 50%
2. Offense edge How much stronger or weaker each lineup is vs. the league-average wRC+ of 100.
home_bat = (home_wRC+ − 100) / 100
off_edge = home_bat − away_bat
A team with wRC+ 110 contributes +0.10; one at 90 contributes −0.10.
MLB Stats API team batting — OPS converted to wRC+ via (OPS / 0.720) × 100 35%
3. Home field Fixed constant added to the home team's side every game. Historical MLB average home-field effect +4%
4. Score diff score_diff = 0.50 × pitch_edge + 0.35 × off_edge + 0.04 Combined signal driving the probability below
5. Win probability home_win_prob = logistic(1.5 × score_diff)
The logistic scale of 1.5 keeps the model from being overconfident — even an extreme mismatch caps out around 68–70%.
Standard logistic sigmoid: 1 / (1 + e−x)

Recent Form Blending

Season stats are stable but slow to react. Recent form can signal a pitcher heating up or falling apart. The model blends both:

SourceWeightStats blended
Season-to-date (FanGraphs)65%xFIP, ERA, WHIP, K%, K/9
Last 5 starts (MLB Stats API game logs)35%ERA, WHIP, K%, K/9 — computed from raw game log totals

xFIP is season-only (requires full-season HR data to normalize). ERA trend from recent starts adjusts the blended ERA implicitly.

How the Model Works — Expected Run Total

For Over/Under bets the model projects a total runs scored using a similar framework:

StepCalculation
Base2 × 4.5 league-average runs/game = 9.0
SP factorAverage of (home xFIP / 4.20) and (away xFIP / 4.20). Uses xFIP for consistency with the win-probability model — ERA includes luck and inflates totals for pitchers who got unlucky.
Offense factorAverage of (home wRC+ / 100) and (away wRC+ / 100).
Raw total9.0 × (0.60 × SP factor + 0.40 × off_factor)
Park adjustmentRaw total × venue run factor (e.g. Coors 1.32, Oracle Park 0.92). Blended at 60% weight: 0.40 × raw + 0.60 × park_adjusted

Weather adjustments layer on top: headwind (N/NW/NE) × 0.93 on run total • tailwind (S/SW/SE) × 1.08 • cold (≤45°F) × 0.96

What IS Integrated

FactorStatus
Savant pitcher quality (xwOBA, xERA)Integrated. SP quality in NRFI blends xFIP (60%) + xwOBA allowed (40%) when Savant data available.
Savant whiff% / put-away%Integrated for K props. Primary projection driver when available (65% weight).
Opp pitcher contact quality for batter propsIntegrated. Opposing pitcher xwOBA allowed adjusts batter projections (±up to 15%).
Lineup order / day-of lineupIntegrated for batter props (confirmed lineup spot + projected PA). Game-level model uses full-team season wRC+.

What IS Integrated (continued)

FactorStatus
Bullpen fatigueIntegrated (Session 16). Relief appearances over past 3 days tracked per team; tired pen (>2.7 RP/game avg) raises expected total via BULLPEN_WEIGHT (15%). Surfaced in Game Script check.
Rest daysIntegrated (Session 16). Back-to-back teams receive a −1.5% win-probability penalty; well-rested teams receive a +1.0% bonus. Applied to full-game and F5 models.
Umpire K-rateIntegrated (Session 15). Static table of ~70 umpires with historical K/9 values. Wide-zone umps adjust K prop projections and NRFI scores up; tight-zone umps adjust down. Dampened ±12% cap.
Handedness / platoon splitsIntegrated (Sessions 3 & 15). Opposing lineup wRC+ vs. SP hand sourced from MLB splits API. Platoon mismatch adjusts win probability ±2% per side (capped ±4% total). Surfaced in Matchup check.
Projection blend (regression to mean)Integrated (Session 17). Stats regressed toward league average early in season: blend_w = IP ÷ 80 for pitchers, games ÷ 81 for teams. Prevents 5-IP ERA outliers from driving model in April.

What the Model Does NOT Include (yet)

FactorStatus
Batter vs. pitch-type matchupIntegrated. Savant team-vs-pitch-type xwOBA adjusts K prop projections and NRFI/YRFI scores when SP's primary pitch type is known. Opponent teams that struggle vs the SP's top pitch raise K over projections and NRFI scores.
Individual batter vs. pitcher H2HPlanned for a future phase.
Pre-season projection prior (Steamer/ZiPS)Not integrated — projection endpoints not available. Regression-to-mean (blending toward league avg by IP) used as a practical substitute.

NRFI — No Run First Inning

ColumnMeaning
Away SP / Home SPProbable starter name (or TBD if not yet announced)
NRFI ScoreComposite score out of 10. ≥7.7 = PLAY. SP quality (40%) blends xFIP + xwOBA allowed when Savant data is available; K-rate (35%); team offense (25%)

Sizing Guide

LabelEdge RequiredSuggested Unit Size
FULL≥20%Full unit
HALF≥15%Half unit
QRTR≥15%Quarter unit (data quality cap)
(none)<15%No bet — below threshold

Confidence Guide

LabelWhat it means
HIGHBoth pitchers and both offenses have full stat profiles
MEDOne or more data sources are missing or incomplete
LOWModel running mostly on league averages — proceed with caution

Model Notes

TermDefinition
xFIPExpected Fielding Independent Pitching — ERA predictor that strips out defense and luck. Lower = better pitcher. League avg ~4.20
wRC+Weighted Runs Created Plus — offensive quality. 100 = league average. 115+ = above average. Estimated from team OPS via MLB Stats API
Recent formLast 5 starts blended at 35% weight, season stats at 65%
Park factorVenue run/HR factor applied to expected total. Coors Field ~1.32, Oracle Park ~0.92
EdgeModel win probability minus the book's implied probability (after vig removal)
EV/$100Expected value: (win_prob × profit) − (loss_prob × stake)
F5 betsFirst 5 innings — pitching weight raised to 65% (starters matter more), scaled to 4.5/9.0 IP
DK noteThe "Bet on DK" button opens DraftKings' MLB section. Game-specific deep links require DK's partner event ID, not included in the free Odds API tier

Disclaimer: For informational and research purposes only. Bet responsibly. Always verify probable pitchers and lineups before placing any bet. Past model performance does not guarantee future results.