| Record | Win% | P&L | ||
|---|---|---|---|---|
| Overall | 1019W–631L–1P | 62% | -80.96 u | Last 14 days • 1651 settled |
| Grade A | 59W–38L–0P | 61% | +6.35 u | |
| Grade B | 960W–593L–1P | 62% | -87.31 u |
| Record | Win% | P&L | ||
|---|---|---|---|---|
| Overall | 1635W–1182L–8P | 58% | -141.21 u | All-time • 2825 settled |
| Grade A | 174W–129L–0P | 57% | +1.00 u | |
| Grade B | 1461W–1053L–8P | 58% | -142.22 u |
| Date | Type | Play | Line | Odds | Size | Result | P&L | Actual |
|---|---|---|---|---|---|---|---|---|
| 2026-05-11 | Pitcher Hits Allow | Nathan Eovaldi | 5.5 | -143 | - | PENDING | - | |
| 2026-05-14 | Batter Total Bases | Byron Buxton | 1.5 | -121 | - | PENDING | - | |
| 2026-05-17 | Batter Total Bases | Shea Langeliers | 1.5 | -138 | - | PENDING | - | |
| 2026-05-20 | Batter Total Bases | Kyle Schwarber | 1.5 | -131 | - | PENDING | - | |
| 2026-06-01 | K Prop | Chase Burns | 6.5 | -148 | - | PENDING | - | |
| 2026-06-08 | Batter Walks | Rodolfo Duran | 0.5 | -368 | - | PENDING | - | |
| 2026-06-09 | Batter Walks | Tyler Freeman | 0.5 | -440 | - | PENDING | - | |
| 2026-06-11 | Batter Hits | Jake McCarthy | 1.5 | -258 | - | PENDING | - | |
| 2026-06-11 | Batter Walks | Ildemaro Vargas | 0.5 | -434 | - | PENDING | - | |
| 2026-06-12 | Batter Walks | Ezequiel Tovar | 0.5 | -409 | - | PENDING | - | |
| 2026-06-13 | Batter Walks | Keibert Ruiz | 0.5 | -431 | - | PENDING | - | |
| 2026-06-14 | Batter Walks | J.T. Realmuto | 0.5 | -370 | - | PENDING | - | |
| 2026-06-14 | Batter Walks | Jimmy Crooks | 0.5 | -296 | - | PENDING | - | |
| 2026-06-15 | Batter H+R+RBI | Andy Pages | 1.5 | -142 | - | PENDING | - | |
| 2026-06-15 | Batter H+R+RBI | Jonathan Aranda | 1.5 | -117 | - | PENDING | - | |
| 2026-06-15 | Batter H+R+RBI | Yandy Diaz | 1.5 | -163 | - | PENDING | - | |
| 2026-06-15 | Batter Total Bases | Shea Langeliers | 1.5 | -129 | - | PENDING | - | |
| 2026-06-15 | Batter Walks | Andy Pages | 0.5 | -462 | - | PENDING | - | |
| 2026-06-15 | Batter Walks | Bryan Reynolds | 0.5 | -112 | - | PENDING | - | |
| 2026-06-15 | Batter Walks | Carlos Cortes | 0.5 | -243 | - | PENDING | - | |
| 2026-06-15 | Batter Walks | Jacob Wilson | 0.5 | -311 | - | PENDING | - | |
| 2026-06-15 | Batter Walks | Mookie Betts | 0.5 | -287 | - | PENDING | - | |
| 2026-06-15 | Batter Walks | Nick Kurtz | 0.5 | -181 | - | PENDING | - | |
| 2026-06-15 | Batter Walks | Shea Langeliers | 0.5 | -244 | - | PENDING | - | |
| 2026-06-15 | Batter Walks | Zack Gelof | 0.5 | -289 | - | PENDING | - | |
| 2026-06-15 | K Prop | JT Ginn | 4.5 | -134 | - | PENDING | - | |
| 2026-06-15 | K Prop | Jared Jones | 4.5 | -154 | - | PENDING | - | |
| 2026-06-15 | Pitcher Earned Run | Eric Lauer | 2.5 | -122 | - | PENDING | - | |
| 2026-06-15 | Pitcher Earned Run | Nick Martinez | 3.5 | -143 | - | PENDING | - | |
| 2026-06-15 | Pitcher Hits Allow | JT Ginn | 5.5 | -135 | - | PENDING | - | |
| 2026-06-15 | Pitcher Hits Allow | Jared Jones | 5.5 | -149 | - | PENDING | - | |
| 2026-06-15 | Pitcher Walks | Troy Melton | 1.5 | -144 | - | PENDING | - | |
| 2026-06-15 | Run Line | Tampa Bay Rays | +1.5 | -135 | - | PENDING | - | |
| 2026-06-16 | K Prop | Jack Perkins | 4.5 | -108 | - | PENDING | - | |
| 2026-06-16 | K Prop | Tyler Phillips | 3.5 | -115 | - | PENDING | - | |
| 2026-06-16 | Run Line | San Francisco Giants | +1.5 | -155 | - | PENDING | - |
| Date | Type | Play | Line | Odds | Size | Result | P&L | Actual |
|---|---|---|---|---|---|---|---|---|
| 2026-06-15 | Batter Walks | James Wood | 0.5 | -128 | - | WIN | +0.781 | James Wood: 1.0 (line 0.5) |
| 2026-06-15 | Batter H+R+RBI | Alec Burleson | 1.5 | -144 | - | WIN | +0.694 | Alec Burleson: 2.0 (line 1.5) |
| 2026-06-15 | Batter H+R+RBI | Byron Buxton | 1.5 | -125 | - | WIN | +0.800 | Byron Buxton: 3.0 (line 1.5) |
| Market | Trust | Season N | Season WR | Season P&L | 14d N | 14d WR | 14d P&L | Grade A N | Grade A WR | Review-only N |
|---|---|---|---|---|---|---|---|---|---|---|
| K Prop | ✅ TRUSTED | 271 | 56% | -6.17u | 46 | 52% | -2.86u | 130 | 59% | 64 |
| Pitcher Hits Allowed | ✅ TRUSTED | 218 | 58% | +7.63u | 68 | 50% | -8.48u | 2 | 50% | 6 |
| Run Line | ✅ TRUSTED | 135 | 54% | -3.47u | 23 | 61% | +1.09u | 41 | 63% | 1 |
| Batter Walks | 👀 WATCH | 619 | 72% | -11.15u | 589 | 72% | -14.83u | 5 | 80% | 134 |
| Pitcher Earned Runs | 👀 WATCH | 112 | 56% | -3.60u | 81 | 51% | -11.32u | 1 | 100% | 9 |
| Pitcher Walks | 👀 WATCH | 91 | 59% | -2.07u | 74 | 59% | -1.62u | 0 | - | 11 |
| Batter Hits | 👀 WATCH | 37 | 78% | +3.90u | 16 | 75% | +1.05u | 0 | - | 23 |
| Batter Total Bases | 👀 WATCH | 29 | 59% | +2.66u | 3 | 100% | +2.50u | 0 | - | 37 |
| F5 ML | 👀 WATCH | 28 | 48% | +4.54u | 0 | - | +0.00u | 0 | - | 0 |
| No HR U1.5 | 👀 WATCH | 9 | 22% | -5.18u | 0 | - | +0.00u | 0 | - | 0 |
| Moneyline | 👀 WATCH | 6 | 50% | +2.85u | 0 | - | +0.00u | 0 | - | 0 |
| NRFI | 👀 WATCH | 3 | 33% | +0.00u | 0 | - | +0.00u | 0 | - | 0 |
| YRFI | 👀 WATCH | 2 | 100% | +0.00u | 0 | - | +0.00u | 0 | - | 0 |
| Pitcher Outs | 🔬 RESEARCH | 82 | 43% | -13.89u | 7 | 57% | -0.15u | 2 | 50% | 8 |
| Total | 🔬 RESEARCH | 49 | 39% | -9.52u | 7 | 50% | -0.23u | 1 | 100% | 7 |
| F5 Total | 🔬 RESEARCH | 1 | 0% | -1.00u | 1 | 0% | -1.00u | 0 | - | 6 |
| Batter H+R+RBI | ⛔ PAUSED | 472 | 51% | -53.42u | 65 | 62% | +4.22u | 70 | 53% | 355 |
Raw edge is an uncalibrated ranking/debug signal. Trust tiers come from Best/Good settled tracker performance; review-only rows are shown separately.
| Market | Current Stage | Next Stage | Progress | Promotion Blockers |
|---|---|---|---|---|
| K Prop | ✅ TRUSTED | Maintain Trusted | 2/4 | season P&L non-negative; 14d P&L non-negative |
| Pitcher Hits Allowed | ✅ TRUSTED | Maintain Trusted | 3/4 | 14d P&L non-negative |
| Run Line | ✅ TRUSTED | Maintain Trusted | 3/4 | season P&L non-negative |
| Batter Walks | 👀 WATCH | ✅ Trusted | 2/5 | season P&L positive; 14d P&L non-negative; Grade A sample >= 20 and WR >= 55% or Grade B sample >= 50, WR >= 55%, P&L > 0 |
| Pitcher Earned Runs | 👀 WATCH | ✅ Trusted | 2/5 | season P&L positive; 14d P&L non-negative; Grade A sample >= 20 and WR >= 55% or Grade B sample >= 50, WR >= 55%, P&L > 0 |
| Pitcher Walks | 👀 WATCH | ✅ Trusted | 2/5 | season P&L positive; 14d P&L non-negative; Grade A sample >= 20 and WR >= 55% or Grade B sample >= 50, WR >= 55%, P&L > 0 |
| Batter Hits | 👀 WATCH | ✅ Trusted | 3/5 | season sample >= 50; Grade A sample >= 20 and WR >= 55% or Grade B sample >= 50, WR >= 55%, P&L > 0 |
| Batter Total Bases | 👀 WATCH | ✅ Trusted | 2/5 | season sample >= 50; 14d sample >= 10; Grade A sample >= 20 and WR >= 55% or Grade B sample >= 50, WR >= 55%, P&L > 0 |
| F5 ML | 👀 WATCH | ✅ Trusted | 2/5 | season sample >= 50; 14d sample >= 10; Grade A sample >= 20 and WR >= 55% or Grade B sample >= 50, WR >= 55%, P&L > 0 |
| No HR U1.5 | 👀 WATCH | ✅ Trusted | 1/5 | season sample >= 50; season P&L positive; 14d sample >= 10 |
| Moneyline | 👀 WATCH | ✅ Trusted | 2/5 | season sample >= 50; 14d sample >= 10; Grade A sample >= 20 and WR >= 55% or Grade B sample >= 50, WR >= 55%, P&L > 0 |
| NRFI | 👀 WATCH | ✅ Trusted | 1/5 | season sample >= 50; season P&L positive; 14d sample >= 10 |
| YRFI | 👀 WATCH | ✅ Trusted | 1/5 | season sample >= 50; season P&L positive; 14d sample >= 10 |
| Pitcher Outs | 🔬 RESEARCH | 👀 Watch | 2/5 | season P&L positive; 14d sample >= 10; Grade A sample >= 10 and WR >= 52% |
| Total | 🔬 RESEARCH | 👀 Watch | 0/5 | season sample >= 50; season P&L positive; 14d sample >= 10 |
| F5 Total | 🔬 RESEARCH | 👀 Watch | 0/5 | season sample >= 50; season P&L positive; 14d sample >= 10 |
| Batter H+R+RBI | ⛔ PAUSED | 🔬 Research | 3/5 | diagnostic/component model has settled validation; season P&L non-negative |
Promotion criteria keep markets from getting stuck in purgatory: each stage has explicit evidence needed for the next stage.
| Component | Status | Current Usage | Recommendation Impact | Next Action |
|---|---|---|---|---|
| K Prop | ✅ TRUSTED | Active recommendation market; 2 actionable / 11 total candidate(s); season N 271, 14d N 46 | Can produce Best Play / Good Add signals. | Maintain Trusted; season P&L non-negative; 14d P&L non-negative |
| Pitcher Hits Allowed | ✅ TRUSTED | Active recommendation market; 0 actionable / 0 total candidate(s); season N 218, 14d N 68 | Can produce Best Play / Good Add signals. | Maintain Trusted; 14d P&L non-negative |
| Run Line | ✅ TRUSTED | Active recommendation market; 1 actionable / 1 total candidate(s); season N 135, 14d N 23 | Can produce Best Play / Good Add signals. | Maintain Trusted; season P&L non-negative |
| PitcherAssessment | LIVE | Shared pitcher context; 29 starter assessment(s) emitted. | Active context for pitcher and batter engines; diagnostic table elsewhere. | Monitor assessment quality and data gaps. |
| Savant Pitch Quality | LIVE | Free public-data diagnostics; 29/29 assessment(s) scored. | Diagnostic-only replacement path for paid PLV; does not change recommendations. | Validate supported vs unsupported settled results before activation. |
| Player Context | LIVE | Home/away, day/night, recent-return, and workload diagnostics. | Context notes and real role/workload risks only; no global threshold changes. | Validate split and health-ramp signals before scoring them. |
| Batter Hits | 👀 WATCH | Active watch-stage market; 0 actionable / 4 total candidate(s); season N 37, 14d N 16 | Can surface recommendations with trust caution; promotion waits for evidence. | ✅ Trusted; season sample >= 50; Grade A sample >= 20 and WR >= 55% or Grade B sample >= 50, WR >= 55%, P&L > 0 |
| Batter Total Bases | 👀 WATCH | Active watch-stage market; 0 actionable / 12 total candidate(s); season N 29, 14d N 3 | Can surface recommendations with trust caution; promotion waits for evidence. | ✅ Trusted; season sample >= 50; 14d sample >= 10 |
| F5 ML | 👀 WATCH | Active watch-stage market; 0 actionable / 0 total candidate(s); season N 28, 14d N 0 | Can surface recommendations with trust caution; promotion waits for evidence. | ✅ Trusted; season sample >= 50; 14d sample >= 10 |
| Moneyline | 👀 WATCH | Active watch-stage market; 0 actionable / 0 total candidate(s); season N 6, 14d N 0 | Can surface recommendations with trust caution; promotion waits for evidence. | ✅ Trusted; season sample >= 50; 14d sample >= 10 |
| Pitcher Outs | 🔬 RESEARCH | Research / held market; 0 actionable / 6 total candidate(s); season N 82, 14d N 7 | Held from actionable output unless explicitly validated. | 👀 Watch; season P&L positive; 14d sample >= 10 |
| No HR | 🔬 RESEARCH | Research / held market; 0 actionable / 0 total candidate(s) | Held from actionable output unless explicitly validated. | Validate forward results before promotion. |
| Total | 🔬 RESEARCH | Research / held market; 0 actionable / 4 total candidate(s); season N 49, 14d N 7 | Held from actionable output unless explicitly validated. | 👀 Watch; season sample >= 50; season P&L positive |
| F5 Total | 🔬 RESEARCH | Research / held market; 0 actionable / 3 total candidate(s); season N 1, 14d N 1 | Held from actionable output unless explicitly validated. | 👀 Watch; season sample >= 50; season P&L positive |
| Batter H+R+RBI | ⛔ PAUSED | Paused shadow market; 0 actionable / 0 total candidate(s); season N 472, 14d N 65 | No actionable recommendations. | 🔬 Research; diagnostic/component model has settled validation; season P&L non-negative |
| Batter Hits+Runs+RBIs | ⛔ PAUSED | Paused shadow market; 0 actionable / 0 total candidate(s) | No actionable recommendations. | Build or validate replacement signal before unpausing. |
| Batter Hits Runs RBIs | ⛔ PAUSED | Paused shadow market; 0 actionable / 0 total candidate(s) | No actionable recommendations. | Build or validate replacement signal before unpausing. |
| HRR Component Research | ⛔ PAUSED | Shadow component research; 0 candidate(s) emitted. | No recommendation impact while HRR remains paused. | Validate component record before unpausing HRR. |
| AI Review | API ERROR | Optional post-run advisory review of settled results and model behavior. | Advisory only; cannot change recommendations, tracker saves, or thresholds. | Provider call failed; check quota, billing, model access, or key project. |
This table is generated from runtime market status, market health, and run diagnostics. It explains whether a signal is active, held, research-only, or configuration-needed.
| ✓ | READY | Available | Savant: 688 pitcher(s) with metrics |
| ✓ | READY | Available | Savant 1st-inn: 285 pitcher(s) with 1st-inning splits |
| ✓ | READY | Available | Team NRFI streaks: 30 teams | 30 with streak ≥5 |
| ✓ | READY | Available | Pitch-type matchup data: 30 team(s), 187 team×pitch-type combinations |
| ✓ | READY | Available | Pitcher arsenal: 675 pitcher(s), 2920 pitch-type profiles |
| ✓ | READY | Available | Batter pitch-type profiles: 517 player(s) |
| ✓ | READY | Available | Handedness: 29 pitcher(s) | Team splits: 30 team(s) |
| ✓ | READY | Available | Team recent batting: 30 team(s) with last-7 K/BB/contact rates |
| ◴ | LATE DATA | Non-blocking | Lineups not yet posted — using team tendencies & season stats (re-run after 4 PM for lineup refresh) |
| ✓ | READY | Available | BVP context: 30 roster team(s), 390 hitter(s) | 29 SP matchup(s), 1081 career PA |
| ✓ | READY | Available | Batter handedness: 390 active-roster player(s) available pre-lineup; lineup order refreshes when posted |
| ◴ | LATE DATA | Non-blocking | Umpires not yet assigned — umpire K-rate adjustments skipped |
| ✓ | READY | Available | Rest data: 30 team(s) | Back-to-back: Texas Rangers, Chicago Cubs, Houston Astros, Los Angeles Angels, Colorado Rockies, San Diego Padres, Kansas City Royals, St. Louis Cardinals, Miami Marlins, Philadelphia Phillies, New York Mets, Cincinnati Reds, Detroit Tigers, Washington Nationals, Arizona Diamondbacks, Minnesota Twins |
| ✓ | READY | Available | Bullpen data: 30 team(s) | Fatigued pens: Cleveland Guardians, Athletics, Boston Red Sox, Tampa Bay Rays, Detroit Tigers, Seattle Mariners, Atlanta Braves |
| ✓ | READY | Available | Bullpen HR vulnerability: 31 team(s) |
| ✓ | READY | Available | Weather: 0 game(s) with meaningful conditions |
| ✓ | READY | Available | Line movement: 408 market side(s) checked | 408 opening snapshot(s) created | 0 with movement |
| ✓ | READY | Available | Market health: 17 market(s) loaded from tracker |
| ✓ | READY | Available | Player context: lazy game-log split and recent-return diagnostics enabled |
| ℹ | PARTIAL | Non-blocking | F5: 14 game(s) fetched | 0 with ML odds | 14 with total odds | 3 play(s) above 8% edge |
| ✓ | READY | Available | No-HR model: 15 game(s) scored | 0 above probability threshold | 0 with DK implied prob |
| ✓ | READY | Available | HR layers: batter Statcast 559 | batter bats 404 | batter hand splits 156 | pitcher HR splits 69 | batter pitch-type 517 | bullpen HR 31 |
| ✓ | READY | Available | HR model: 0 batter(s) scored | 15 game environment(s) scored | 0 strong/elite batter edge(s) |
| Matchup | Time (ET) | Away ML | Home ML | Away RL | Home RL | Total | Con ML | |
|---|---|---|---|---|---|---|---|---|
| Miami Marlins @ Philadelphia Phillies | 6:41 PM | +144 | -175 | +1.5 (-151) | -1.5 (+125) | O/U 8.0 | HOME | Bet on DK |
| Toronto Blue Jays @ Boston Red Sox | 6:45 PM | -120 | +100 | -1.5 (+148) | +1.5 (-180) | O/U 7.5 | AWAY | Bet on DK |
| Kansas City Royals @ Washington Nationals | 6:46 PM | +108 | -131 | +1.5 (-193) | -1.5 (+158) | O/U 8.5 | HOME | Bet on DK |
| Chicago White Sox @ New York Yankees | 7:06 PM | +119 | -143 | +1.5 (-179) | -1.5 (+148) | O/U 7.5 | HOME | Bet on DK |
| New York Mets @ Cincinnati Reds | 7:11 PM | -126 | +104 | -1.5 (+128) | +1.5 (-155) | O/U 9.5 | AWAY | Bet on DK |
| San Francisco Giants @ Atlanta Braves | 7:16 PM | +134 | -162 | +1.5 (-155) | -1.5 (+128) | O/U 9.0 | HOME | Bet on DK |
| Cleveland Guardians @ Milwaukee Brewers | 7:41 PM | +129 | -156 | +1.5 (-162) | -1.5 (+134) | O/U 8.5 | HOME | Bet on DK |
| San Diego Padres @ St. Louis Cardinals | 7:46 PM | -105 | -114 | -1.5 (+158) | +1.5 (-192) | O/U 8.0 | HOME | Bet on DK |
| Colorado Rockies @ Chicago Cubs | 8:06 PM | +163 | -199 | +1.5 (-126) | -1.5 (+104) | O/U 9.5 | HOME | Bet on DK |
| Minnesota Twins @ Texas Rangers | 8:06 PM | +114 | -137 | +1.5 (-181) | -1.5 (+149) | O/U 8.5 | HOME | Bet on DK |
| Detroit Tigers @ Houston Astros | 8:11 PM | +123 | -149 | +1.5 (-171) | -1.5 (+141) | O/U 7.5 | HOME | Bet on DK |
| Los Angeles Angels @ Arizona Diamondbacks | 9:41 PM | -107 | -112 | -1.5 (+152) | +1.5 (-185) | O/U 9.0 | HOME | Bet on DK |
| Pittsburgh Pirates @ Athletics | 9:41 PM | +108 | -131 | +1.5 (-175) | -1.5 (+144) | O/U 10.5 | HOME | Bet on DK |
| Baltimore Orioles @ Seattle Mariners | 9:41 PM | +129 | -156 | +1.5 (-171) | -1.5 (+141) | O/U 8.0 | HOME | Bet on DK |
| Tampa Bay Rays @ Los Angeles Dodgers | 10:11 PM | +124 | -149 | +1.5 (-170) | -1.5 (+140) | O/U 8.5 | HOME | Bet on DK |
No Grade A plays today.
| Grade | Game | Time (ET) | Type | Side | DK Odds | Implied | Model | Edge | EV/$100 | Books | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| C | Toronto Blue Jays @ Boston Red Sox | 6:45 PM | Total | Over 7.5 | -115 | 51.1% | 73.8% | +22.7% | $+37.92 | 9 | Bet on DK |
| C | Chicago White Sox @ New York Yankees | 7:06 PM | Total | Over 7.5 | -117 | 51.5% | 73.0% | +21.5% | $+35.43 | 10 | Bet on DK |
| C | Detroit Tigers @ Houston Astros | 8:11 PM | Total | Over 7.5 | -115 | 51.2% | 71.2% | +20.0% | $+33.20 | 11 | Bet on DK |
| C | Pittsburgh Pirates @ Athletics | 9:41 PM | Total | Under 10.5 | -103 | 48.5% | 65.7% | +17.2% | $+29.44 | 11 | Bet on DK |
| Grade | Game | Time (ET) | Type | Side | DK Odds | Implied | Model | Edge | EV/$100 | Books | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| C | Pittsburgh Pirates @ Athletics (F5) | 9:41 PM | F5 Total | Under 5.5 | -106 | 48.4% | 62.6% | +14.2% | $+21.58 | 1 | Bet on DK |
| C | Colorado Rockies @ Chicago Cubs (F5) | 8:06 PM | F5 Total | Under 5.5 | -122 | 51.6% | 62.9% | +11.2% | $+14.40 | 1 | Bet on DK |
| C | Chicago White Sox @ New York Yankees (F5) | 7:06 PM | F5 Total | Over 3.5 | -146 | 55.7% | 66.3% | +10.6% | $+11.68 | — | Bet on DK |
| Game | Time (ET) | Away SP | Home SP | Signal Score | Signal | V2 Result | |
|---|---|---|---|---|---|---|---|
| Minnesota Twins @ Texas Rangers | 8:06 PM | Zebby Matthews | Kumar Rocker | YRFI MODEL | C ALT / DERISK |
| Game | Time (ET) | SPs | NRFI / Min | YRFI / Min | Edge | Why not |
|---|---|---|---|---|---|---|
| Chicago White Sox @ New York Yankees | 7:06 PM | Gerrit Cole / Davis Martin | 5.6 / 7.7 | 4.4 / 7.7 | +8.1% | Score 5.6 < 7.7 threshold Home SP 1st-inn data partial (13 PA < 30 full-weight; shrinkage applied) | 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used |
| Kansas City Royals @ Washington Nationals | 6:46 PM | Foster Griffin / Michael Wacha | 4.5 / 7.7 | 5.5 / 7.7 | +1.0% | Score 4.5 < 7.7 threshold | Edge 1.0% < 8% required 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used |
| Miami Marlins @ Philadelphia Phillies | 6:41 PM | Jesús Luzardo / Tyler Phillips | 4.4 / 7.7 | 5.6 / 7.7 | -3.6% | Score 4.4 < 7.7 threshold | Edge -3.6% < 8% required Away SP 1st-inn data partial (10 PA < 30 full-weight; shrinkage applied) | 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used |
| Colorado Rockies @ Chicago Cubs | 8:06 PM | Edward Cabrera / Ryan Feltner | 4.3 / 7.7 | 5.7 / 7.7 | -0.7% | Score 4.3 < 7.7 threshold | Edge -0.7% < 8% required 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used |
| Baltimore Orioles @ Seattle Mariners | 9:41 PM | Logan Gilbert / Brandon Young | 4.0 / 7.7 | 6.0 / 7.7 | -10.3% | Score 4.0 < 7.7 threshold | Edge -10.3% < 8% required 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used |
| San Diego Padres @ St. Louis Cardinals | 7:46 PM | Andre Pallante / Michael King | 4.0 / 7.7 | 6.0 / 7.7 | -7.1% | Score 4.0 < 7.7 threshold | Edge -7.1% < 8% required 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used |
| Tampa Bay Rays @ Los Angeles Dodgers | 10:11 PM | Justin Wrobleski / Drew Rasmussen | 3.9 / 7.7 | 6.1 / 7.7 | -7.6% | Score 3.9 < 7.7 threshold | Edge -7.6% < 8% required 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used |
| Toronto Blue Jays @ Boston Red Sox | 6:45 PM | Payton Tolle / TBD ⚠ Away SP | 3.6 / 7.7 | 5.7 / 7.7 | no odds | Score 3.6 < 7.7 threshold | Both SP required — one or more not found Away SP (TBD) stats unavailable — league avg used | Away SP 1st-inn split unavailable | 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used | No NRFI/YRFI odds available — edge gate skipped |
| Detroit Tigers @ Houston Astros | 8:11 PM | Hunter Brown / Framber Valdez | 3.5 / 7.7 | 6.5 / 7.7 | -15.9% | Score 3.5 < 7.7 threshold | Edge -15.9% < 8% required Home SP 1st-inn data partial (8 PA < 30 full-weight; shrinkage applied) | 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used |
| Pittsburgh Pirates @ Athletics | 9:41 PM | Jack Perkins / Mitch Keller | 3.5 / 7.7 | 6.5 / 7.7 | -6.3% | Score 3.5 < 7.7 threshold | Edge -6.3% < 8% required Home SP 1st-inn data partial (11 PA < 30 full-weight; shrinkage applied) | 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used |
| Los Angeles Angels @ Arizona Diamondbacks | 9:41 PM | Merrill Kelly / Reid Detmers | 3.3 / 7.7 | 6.7 / 7.7 | -14.8% | Score 3.3 < 7.7 threshold | Edge -14.8% < 8% required 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used |
| New York Mets @ Cincinnati Reds | 7:11 PM | Brady Singer / Kodai Senga | 2.8 / 7.7 | 7.2 / 7.7 | -19.4% | Score 2.8 < 7.7 threshold | Edge -19.4% < 8% required Away SP 1st-inn data partial (23 PA < 30 full-weight; shrinkage applied) | 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used |
| San Francisco Giants @ Atlanta Braves | 7:16 PM | Grant Holmes / Adrian Houser | 2.7 / 7.7 | 7.3 / 7.7 | -19.5% | Score 2.7 < 7.7 threshold | Edge -19.5% < 8% required 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used |
| Cleveland Guardians @ Milwaukee Brewers | 7:41 PM | Robert Gasser / Slade Cecconi | 2.7 / 7.7 | 7.3 / 7.7 | -24.4% | Score 2.7 < 7.7 threshold | Edge -24.4% < 8% required Home SP 1st-inn data partial (19 PA < 30 full-weight; shrinkage applied) | 2 confirmed lineup(s) unavailable; 2 pre-lineup proxy context(s) used |
No batter HR chances clear the watchlist tier.
| Tier | Game | Time (ET) | Score | P(1+ HR) | Fair Odds | Top Threats | Environment | Risks |
|---|---|---|---|---|---|---|---|---|
| Strong HR Environment | New York Mets @ Cincinnati Reds | 7:11 PM | 100 | 91.9% | -1136 | - | Great American Ball Park HR factor 1.15 | No-HR inverse support: P(no HR) 8.1% | - |
| Strong HR Environment | Colorado Rockies @ Chicago Cubs | 8:06 PM | 100 | 89.8% | -881 | - | Wrigley Field HR factor 1.05 | No-HR inverse support: P(no HR) 10.2% | - |
| Strong HR Environment | Cleveland Guardians @ Milwaukee Brewers | 7:41 PM | 100 | 89.6% | -863 | - | American Family Field HR factor 1.08 | No-HR inverse support: P(no HR) 10.4% | - |
| Strong HR Environment | Kansas City Royals @ Washington Nationals | 6:46 PM | 100 | 88.4% | -760 | - | Nationals Park HR factor 1.02 | No-HR inverse support: P(no HR) 11.6% | - |
| Strong HR Environment | San Francisco Giants @ Atlanta Braves | 7:16 PM | 100 | 88.3% | -759 | - | Truist Park HR factor 1.03 | No-HR inverse support: P(no HR) 11.6% | - |
| Strong HR Environment | Minnesota Twins @ Texas Rangers | 8:06 PM | 100 | 87.6% | -709 | - | Globe Life Field HR factor 1.10 | No-HR inverse support: P(no HR) 12.4% | - |
| Strong HR Environment | Los Angeles Angels @ Arizona Diamondbacks | 9:41 PM | 100 | 87.2% | -682 | - | Chase Field HR factor 1.02 | No-HR inverse support: P(no HR) 12.8% | - |
| Watchlist | Baltimore Orioles @ Seattle Mariners | 9:41 PM | 93 | 85.8% | -603 | - | T-Mobile Park HR factor 0.92 | - |
| Watchlist | San Diego Padres @ St. Louis Cardinals | 7:46 PM | 92 | 84.9% | -560 | - | Busch Stadium HR factor 0.93 | - |
| Watchlist | Chicago White Sox @ New York Yankees | 7:06 PM | 92 | 84.4% | -540 | - | Yankee Stadium HR factor 1.18 | - |
| Watchlist | Pittsburgh Pirates @ Athletics | 9:41 PM | 91 | 84.1% | -528 | - | Sutter Health Park HR factor 1.00 | - |
| Watchlist | Tampa Bay Rays @ Los Angeles Dodgers | 10:11 PM | 91 | 83.7% | -513 | - | Dodger Stadium HR factor 0.97 | - |
| Watchlist | Miami Marlins @ Philadelphia Phillies | 6:41 PM | 90 | 82.7% | -479 | - | Citizens Bank Park HR factor 1.10 | - |
| Watchlist | Detroit Tigers @ Houston Astros | 8:11 PM | 89 | 81.5% | -441 | - | Unknown Venue HR factor 1.00 | - |
| Watchlist | Toronto Blue Jays @ Boston Red Sox | 6:45 PM | 88 | 81.2% | -433 | - | Fenway Park HR factor 0.95 | - |
| Game | Time (ET) | Home SP | Away SP | Park HR | P(No HR) | P(U 1.5) | DK Implied | Edge | V2 Result |
|---|---|---|---|---|---|---|---|---|---|
| Toronto Blue Jays @ Boston Red Sox | 6:45 PM | Payton Tolle | None | 0.95 | 18.8% | 50.1% | — | — | |
| Detroit Tigers @ Houston Astros | 8:11 PM | Hunter Brown | Framber Valdez | 1.00 | 18.5% | 49.7% | — | — | |
| Miami Marlins @ Philadelphia Phillies | 6:41 PM | Jesús Luzardo | Tyler Phillips | 1.10 | 17.3% | 47.6% | — | — | |
| Tampa Bay Rays @ Los Angeles Dodgers | 10:11 PM | Justin Wrobleski | Drew Rasmussen | 0.97 | 16.3% | 45.9% | — | — | |
| Pittsburgh Pirates @ Athletics | 9:41 PM | Jack Perkins | Mitch Keller | 1.00 | 15.9% | 45.2% | — | — | |
| Chicago White Sox @ New York Yankees | 7:06 PM | Gerrit Cole | Davis Martin | 1.18 | 15.6% | 44.6% | — | — | |
| San Diego Padres @ St. Louis Cardinals | 7:46 PM | Andre Pallante | Michael King | 0.93 | 15.1% | 43.7% | — | — | |
| Baltimore Orioles @ Seattle Mariners | 9:41 PM | Logan Gilbert | Brandon Young | 0.92 | 14.2% | 42.0% | — | — | |
| Los Angeles Angels @ Arizona Diamondbacks | 9:41 PM | Merrill Kelly | Reid Detmers | 1.02 | 12.8% | 39.1% | — | — | |
| Minnesota Twins @ Texas Rangers | 8:06 PM | Kumar Rocker | Zebby Matthews | 1.10 | 12.4% | 38.2% | — | — | |
| San Francisco Giants @ Atlanta Braves | 7:16 PM | Grant Holmes | Adrian Houser | 1.03 | 11.6% | 36.7% | — | — | |
| Kansas City Royals @ Washington Nationals | 6:46 PM | Foster Griffin | Michael Wacha | 1.02 | 11.6% | 36.7% | — | — | |
| Cleveland Guardians @ Milwaukee Brewers | 7:41 PM | Robert Gasser | Slade Cecconi | 1.08 | 10.4% | 33.9% | — | — | |
| Colorado Rockies @ Chicago Cubs | 8:06 PM | Edward Cabrera | Ryan Feltner | 1.05 | 10.2% | 33.5% | — | — | |
| New York Mets @ Cincinnati Reds | 7:11 PM | Brady Singer | Kodai Senga | 1.15 | 8.1% | 28.4% | — | — |
| Pitcher | Game | Overall | Whiff | Contact | Arsenal | Top Pitch | Notes / Data Gaps |
|---|---|---|---|---|---|---|---|
| Hunter Brown | Houston Astros vs Detroit Tigers | 76.3 | 62.6 | 100.0 | 5 | Curveball (39% whiff, 22% usage) | Savant whiff 24.2%, put-away 30.6%, xwOBA 0.215, arsenal coverage 5 pitch type(s) |
| Payton Tolle | Boston Red Sox vs Toronto Blue Jays | 67.9 | 55.3 | 82.5 | 5 | 4-Seam Fastball (27% whiff, 49% usage) | Savant whiff 25.3%, put-away 21.1%, xwOBA 0.250, arsenal coverage 5 pitch type(s) |
| Reid Detmers | Los Angeles Angels vs Arizona Diamondbacks | 66.8 | 63.9 | 73.5 | 5 | Curveball (39% whiff, 10% usage) | Savant whiff 29.5%, put-away 21.1%, xwOBA 0.268, arsenal coverage 5 pitch type(s) |
| Jesús Luzardo | Philadelphia Phillies vs Miami Marlins | 64.2 | 68.5 | 61.0 | 4 | Sweeper (47% whiff, 36% usage) | Savant whiff 31.9%, put-away 20.9%, xwOBA 0.293, arsenal coverage 4 pitch type(s) |
| Drew Rasmussen | Tampa Bay Rays vs Los Angeles Dodgers | 61.7 | 55.0 | 73.0 | 6 | Changeup (46% whiff, 11% usage) | Savant whiff 24.7%, put-away 21.9%, xwOBA 0.269, arsenal coverage 6 pitch type(s) |
| Jack Perkins | Athletics vs Pittsburgh Pirates | 58.3 | 60.6 | 57.0 | 6 | Changeup (45% whiff, 15% usage) | Savant whiff 29.5%, put-away 18.0%, xwOBA 0.301, arsenal coverage 6 pitch type(s) |
| Tyler Phillips | Miami Marlins vs Philadelphia Phillies | 57.4 | 60.2 | 57.0 | 5 | Curveball (52% whiff, 17% usage) | Savant whiff 28.3%, put-away 19.8%, xwOBA 0.301, arsenal coverage 5 pitch type(s) |
| Robert Gasser | Milwaukee Brewers vs Cleveland Guardians | 56.7 | 53.4 | 56.5 | 5 | 4-Seam Fastball (40% whiff, 17% usage) | Savant whiff 26.5%, put-away 16.7%, xwOBA 0.302, arsenal coverage 5 pitch type(s) |
| Gerrit Cole | New York Yankees vs Chicago White Sox | 55.6 | 39.2 | 75.0 | 5 | Slider (42% whiff, 17% usage) | Savant whiff 18.1%, put-away 19.2%, xwOBA 0.265, arsenal coverage 5 pitch type(s) |
| Davis Martin | Chicago White Sox vs New York Yankees | 55.2 | 61.1 | 54.5 | 6 | Slider (47% whiff, 15% usage) | Savant whiff 28.0%, put-away 21.3%, xwOBA 0.306, arsenal coverage 6 pitch type(s) |
| Logan Gilbert | Seattle Mariners vs Baltimore Orioles | 52.6 | 60.2 | 49.0 | 6 | Split-Finger (39% whiff, 15% usage) | Savant whiff 29.2%, put-away 18.2%, xwOBA 0.317, arsenal coverage 6 pitch type(s) |
| Kodai Senga | New York Mets vs Cincinnati Reds | 51.3 | 61.7 | 38.0 | 6 | Split-Finger (41% whiff, 23% usage) | Savant whiff 28.6%, put-away 20.9%, xwOBA 0.339, arsenal coverage 6 pitch type(s) |
| Zebby Matthews | Minnesota Twins vs Texas Rangers | 51.0 | 46.6 | 55.0 | 6 | Slider (39% whiff, 21% usage) | Savant whiff 22.4%, put-away 18.0%, xwOBA 0.305, arsenal coverage 6 pitch type(s) |
| Andre Pallante | St. Louis Cardinals vs San Diego Padres | 49.9 | 44.5 | 54.5 | 5 | Slider (33% whiff, 29% usage) | Savant whiff 23.0%, put-away 14.8%, xwOBA 0.306, arsenal coverage 5 pitch type(s) |
| Michael King | San Diego Padres vs St. Louis Cardinals | 47.9 | 56.2 | 42.5 | 5 | 4-Seam Fastball (34% whiff, 20% usage) | Savant whiff 26.5%, put-away 19.5%, xwOBA 0.330, arsenal coverage 5 pitch type(s) |
| Grant Holmes | Atlanta Braves vs San Francisco Giants | 47.7 | 56.0 | 40.0 | 6 | Slider (41% whiff, 40% usage) | Savant whiff 27.5%, put-away 17.3%, xwOBA 0.335, arsenal coverage 6 pitch type(s) |
| Foster Griffin | Washington Nationals vs Kansas City Royals | 47.5 | 51.4 | 45.0 | 7 | Sweeper (32% whiff, 14% usage) | Savant whiff 24.3%, put-away 19.1%, xwOBA 0.325, arsenal coverage 7 pitch type(s) |
| Michael Wacha | Kansas City Royals vs Washington Nationals | 47.2 | 49.0 | 46.5 | 6 | Changeup (32% whiff, 23% usage) | Savant whiff 22.9%, put-away 19.5%, xwOBA 0.322, arsenal coverage 6 pitch type(s) |
| Edward Cabrera | Chicago Cubs vs Colorado Rockies | 46.6 | 55.7 | 36.5 | 5 | Slider (46% whiff, 12% usage) | Savant whiff 27.0%, put-away 18.1%, xwOBA 0.342, arsenal coverage 5 pitch type(s) |
| Slade Cecconi | Cleveland Guardians vs Milwaukee Brewers | 44.1 | 44.9 | 42.5 | 7 | Curveball (34% whiff, 16% usage) | Savant whiff 22.2%, put-away 16.7%, xwOBA 0.330, arsenal coverage 7 pitch type(s) |
| Brandon Young | Baltimore Orioles vs Seattle Mariners | 43.2 | 43.7 | 44.0 | 5 | Slider (43% whiff, 15% usage) | Savant whiff 21.4%, put-away 17.2%, xwOBA 0.327, arsenal coverage 5 pitch type(s) |
| Kumar Rocker | Texas Rangers vs Minnesota Twins | 42.0 | 43.9 | 39.0 | 5 | Slider (34% whiff, 38% usage) | Savant whiff 22.5%, put-away 15.2%, xwOBA 0.337, arsenal coverage 5 pitch type(s) |
| Framber Valdez | Detroit Tigers vs Houston Astros | 40.5 | 40.6 | 40.5 | 5 | Curveball (31% whiff, 28% usage) | Savant whiff 20.7%, put-away 15.4%, xwOBA 0.334, arsenal coverage 5 pitch type(s) |
| Justin Wrobleski | Los Angeles Dodgers vs Tampa Bay Rays | 39.3 | 31.1 | 47.5 | 7 | 4-Seam Fastball (20% whiff, 51% usage) | Savant whiff 17.1%, put-away 13.3%, xwOBA 0.320, arsenal coverage 7 pitch type(s) |
| Mitch Keller | Pittsburgh Pirates vs Athletics | 37.6 | 40.0 | 34.5 | 7 | Sweeper (22% whiff, 17% usage) | Savant whiff 20.4%, put-away 15.4%, xwOBA 0.346, arsenal coverage 7 pitch type(s) |
| Brady Singer | Cincinnati Reds vs New York Mets | 36.1 | 43.4 | 23.0 | 5 | Sweeper (41% whiff, 11% usage) | Savant whiff 21.9%, put-away 15.8%, xwOBA 0.369, arsenal coverage 5 pitch type(s) |
| Ryan Feltner | Colorado Rockies vs Chicago Cubs | 35.9 | 49.4 | 23.5 | 6 | Changeup (54% whiff, 15% usage) | Savant whiff 24.0%, put-away 17.7%, xwOBA 0.368, arsenal coverage 6 pitch type(s) |
| Adrian Houser | San Francisco Giants vs Atlanta Braves | 33.8 | 34.4 | 28.0 | 5 | Changeup (32% whiff, 18% usage) | Savant whiff 18.5%, put-away 13.6%, xwOBA 0.359, arsenal coverage 5 pitch type(s) |
| Merrill Kelly | Arizona Diamondbacks vs Los Angeles Angels | 24.8 | 40.3 | 6.0 | 6 | Slider (36% whiff, 13% usage) | Savant whiff 21.4%, put-away 13.8%, xwOBA 0.403, arsenal coverage 6 pitch type(s) |
Diagnostic only. This is a free Savant-derived pitch-quality layer, not Pitcher List PLV/PLA, and it does not change recommendations.
| Pitcher | Team | Hand | Season K% | Recent IP | Season IP | K IP | Pitch Ct | Leash | Savant | Contact | HR Vuln | Quality | Flags / Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Merrill Kelly | Arizona Diamondbacks vs Los Angeles Angels | R | 14.1% | 5.8 | 5.8 | 5.8 | 97 | normal | full | 6.00 | 94.00 | season+recent+savant+savant_quality+hand | - |
| Jack Perkins | Athletics vs Pittsburgh Pirates | R | 24.8% | 3.1 | 18.0 | 7.2 | 52 | short | full | 57.00 | 43.00 | season+recent+savant+savant_quality+hand | recent leash 3.1 IP/start, patient opponent BB% 9.9% |
| Grant Holmes | Atlanta Braves vs San Francisco Giants | R | 21.5% | 4.9 | 5.1 | 5.0 | 82 | short | full | 40.00 | 60.00 | season+recent+savant+savant_quality+hand | recent leash 4.9 IP/start |
| Brandon Young | Baltimore Orioles vs Seattle Mariners | R | 18.9% | 5.7 | 5.6 | 5.6 | 96 | normal | full | 44.00 | 56.00 | season+recent+savant+savant_quality+hand | - |
| Payton Tolle | Boston Red Sox vs Toronto Blue Jays | L | 23.1% | 6.0 | 5.9 | 6.0 | 101 | deep | full | 82.50 | 17.50 | season+recent+savant+savant_quality+hand | low-K contact opponent 19.6% |
| Edward Cabrera | Chicago Cubs vs Colorado Rockies | R | 21.6% | 4.1 | 5.2 | 5.0 | 69 | short | full | 36.50 | 63.50 | season+recent+savant+savant_quality+hand | recent leash 4.1 IP/start |
| Davis Martin | Chicago White Sox vs New York Yankees | R | 24.2% | 5.5 | 6.0 | 6.0 | 92 | normal | full | 54.50 | 45.50 | season+recent+savant+savant_quality+hand | patient opponent BB% 11.3% |
| Brady Singer | Cincinnati Reds vs New York Mets | R | 18.8% | 4.4 | 4.7 | 4.6 | 74 | short | full | 23.00 | 77.00 | season+recent+savant+savant_quality+hand | recent leash 4.4 IP/start |
| Slade Cecconi | Cleveland Guardians vs Milwaukee Brewers | R | 20.0% | 5.4 | 5.2 | 5.2 | 91 | normal | full | 42.50 | 57.50 | season+recent+savant+savant_quality+hand | patient opponent BB% 11.0% |
| Ryan Feltner | Colorado Rockies vs Chicago Cubs | R | 19.4% | 4.7 | 4.5 | 4.8 | 79 | short | full | 23.50 | 76.50 | season+recent+savant+savant_quality+hand | recent leash 4.7 IP/start, patient opponent BB% 10.9% |
| Framber Valdez | Detroit Tigers vs Houston Astros | L | 17.4% | 5.4 | 5.5 | 5.5 | 91 | normal | full | 40.50 | 59.50 | season+recent+savant+savant_quality+hand | - |
| Hunter Brown | Houston Astros vs Detroit Tigers | R | 29.9% | 5.1 | 5.1 | 5.5 | 86 | short | full | 100.00 | 0.00 | season+recent+savant+savant_quality+hand | recent leash 5.1 IP/start, patient opponent BB% 9.9% |
| Michael Wacha | Kansas City Royals vs Washington Nationals | R | 18.4% | 6.0 | 6.3 | 6.2 | 101 | deep | full | 46.50 | 53.50 | season+recent+savant+savant_quality+hand | - |
| Reid Detmers | Los Angeles Angels vs Arizona Diamondbacks | L | 32.1% | 6.2 | 5.8 | 6.0 | 104 | deep | full | 73.50 | 26.50 | season+recent+savant+savant_quality+hand | - |
| Justin Wrobleski | Los Angeles Dodgers vs Tampa Bay Rays | L | 17.2% | 5.6 | 6.7 | 6.4 | 94 | normal | full | 47.50 | 52.50 | season+recent+savant+savant_quality+hand | patient opponent BB% 9.7%, low-K contact opponent 19.0% |
| Tyler Phillips | Miami Marlins vs Philadelphia Phillies | R | 19.7% | 4.1 | 16.0 | 7.9 | 69 | short | full | 57.00 | 43.00 | season+recent+savant+savant_quality+hand | recent leash 4.1 IP/start |
| Robert Gasser | Milwaukee Brewers vs Cleveland Guardians | L | 22.2% | 4.5 | 4.5 | 5.1 | 76 | short | full | 56.50 | 43.50 | season+recent+savant+savant_quality+hand | recent leash 4.5 IP/start, patient opponent BB% 10.3% |
| Zebby Matthews | Minnesota Twins vs Texas Rangers | R | 20.9% | 5.8 | 6.0 | 5.9 | 97 | normal | full | 55.00 | 45.00 | season+recent+savant+savant_quality+hand | - |
| Kodai Senga | New York Mets vs Cincinnati Reds | R | 23.1% | 3.7 | 4.0 | 4.6 | 62 | short | full | 38.00 | 62.00 | season+recent+savant+savant_quality+hand | recent leash 3.7 IP/start, patient opponent BB% 10.2% |
| Gerrit Cole | New York Yankees vs Chicago White Sox | R | 21.3% | 5.3 | 5.5 | 5.6 | 89 | normal | full | 75.00 | 25.00 | season+recent+savant+savant_quality+hand | - |
| Jesús Luzardo | Philadelphia Phillies vs Miami Marlins | L | 24.7% | 5.7 | 5.6 | 5.6 | 96 | normal | full | 61.00 | 39.00 | season+recent+savant+savant_quality+hand | - |
| Mitch Keller | Pittsburgh Pirates vs Athletics | R | 17.5% | 4.7 | 5.5 | 5.3 | 79 | short | full | 34.50 | 65.50 | season+recent+savant+savant_quality+hand | recent leash 4.7 IP/start, patient opponent BB% 9.6% |
| Michael King | San Diego Padres vs St. Louis Cardinals | R | 20.7% | 5.7 | 5.7 | 5.7 | 96 | normal | full | 42.50 | 57.50 | season+recent+savant+savant_quality+hand | - |
| Adrian Houser | San Francisco Giants vs Atlanta Braves | R | 18.5% | 4.3 | 5.0 | 4.9 | 72 | short | full | 28.00 | 72.00 | season+recent+savant+savant_quality+hand | recent leash 4.3 IP/start |
| Logan Gilbert | Seattle Mariners vs Baltimore Orioles | R | 25.5% | 5.7 | 5.7 | 5.7 | 96 | normal | full | 49.00 | 51.00 | season+recent+savant+savant_quality+hand | patient opponent BB% 10.2% |
| Andre Pallante | St. Louis Cardinals vs San Diego Padres | R | 19.7% | 5.3 | 5.3 | 5.3 | 89 | normal | full | 54.50 | 45.50 | season+recent+savant+savant_quality+hand | - |
| Drew Rasmussen | Tampa Bay Rays vs Los Angeles Dodgers | R | 28.1% | 6.0 | 5.6 | 6.0 | 101 | deep | full | 73.00 | 27.00 | season+recent+savant+savant_quality+hand | patient opponent BB% 10.6% |
| Kumar Rocker | Texas Rangers vs Minnesota Twins | R | 19.1% | 5.5 | 5.4 | 5.5 | 92 | normal | full | 39.00 | 61.00 | season+recent+savant+savant_quality+hand | - |
| Foster Griffin | Washington Nationals vs Kansas City Royals | L | 23.1% | 5.4 | 5.6 | 5.5 | 91 | normal | full | 45.00 | 55.00 | season+recent+savant+savant_quality+hand | - |
Diagnostics only. These values are exposed for review and do not change recommendations yet.
| Pitcher | Side | Game | Line | Proj | Gap | Edge / DIFF% | Grade | Rec | Status | Leash | K IP | Pitch Ct | Quality | Gate Reason |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Michael Wacha | Michael Wacha Over | Kansas City Royals @ Washington Nationals | 17.5 | 19.1 | 1.6 | 9.1% | C | ALT_DERISK | research | deep | 6.2 | 101 | season+recent+savant+savant_quality+hand | Weak Model Edge: Insufficient model edge — diff_pct 9.1% vs 10% min using selected line 17.5 |
| Brandon Young | Brandon Young Under | Baltimore Orioles @ Seattle Mariners | 17.5 | 16.1 | -1.4 | 7.8% | C | ALT_DERISK | research | normal | 5.6 | 96 | season+recent+savant+savant_quality+hand | Weak Model Edge: Insufficient model edge — diff_pct 7.8% vs 10% min using selected line 17.5 |
| Davis Martin | Davis Martin Over | Chicago White Sox @ New York Yankees | 17.5 | 18.4 | 0.9 | 5.3% | C | ALT_DERISK | research | normal | 6.0 | 92 | season+recent+savant+savant_quality+hand | Weak Model Edge: Insufficient model edge — diff_pct 5.3% vs 10% min using selected line 17.5 |
| Jesus Luzardo | Jesus Luzardo Over | Miami Marlins @ Philadelphia Phillies | 17.5 | 18.4 | 0.9 | 5.0% | C | ALT_DERISK | research | normal | 5.6 | 96 | season+recent+savant+savant_quality+hand | Weak Model Edge: Insufficient model edge — diff_pct 5.0% vs 10% min using selected line 17.5 |
| Logan Gilbert | Logan Gilbert Under | Baltimore Orioles @ Seattle Mariners | 17.5 | 17.2 | -0.3 | 1.9% | C | ALT_DERISK | research | normal | 5.7 | 96 | season+recent+savant+savant_quality+hand | Weak Model Edge: Insufficient model edge — diff_pct 1.9% vs 10% min using selected line 17.5 |
| Foster Griffin | Foster Griffin Under | Kansas City Royals @ Washington Nationals | 17.5 | 17.3 | -0.2 | 1.1% | C | ALT_DERISK | research | normal | 5.5 | 91 | season+recent+savant+savant_quality+hand | Weak Model Edge: Insufficient model edge — diff_pct 1.1% vs 10% min using selected line 17.5 |
QC summary only. Pitcher Outs remains research-only until the assessment gate is validated.
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.
| Section | What it shows |
|---|---|
| V2 Ranked Plays | Grade A (Best Play) and Grade B (Good Add) candidates with full detail — check bar, key factors, risk flags, and contradiction flags |
| Full Candidate Sweep | Every evaluated bet in one compact table grouped by grade tier. Use this to understand why a play was filtered out. |
| Market Trust Tiers | Settled tracker performance by market, including season and recent windows used to support trust tiers. |
| Market Promotion Criteria | The concrete blockers a market must clear before moving from paused to research, watch, or trusted. |
| Diagnostic vs Recommendation Impact | Runtime source of truth for whether a signal is active, held, research-only, or configuration-needed. |
| Data Readiness | Input availability for the run, including lineups, active-roster hitter context, weather, BVP, pitch-type data, market health, and player context. |
| Today's Slate | DraftKings reference lines for all games |
| Detail Sections | Market detail, diagnostics, and research sections below the V2 ranked plays. |
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.
| # | Check | What it evaluates | PASS condition |
|---|---|---|---|
| 1 | Baby Line | Line size, batter opportunity, run-line cushion | No baby-line flags, adequate PA opportunity, RL cushion ≥0.2 runs |
| 2 | Model Edge | Projection vs blended sportsbook line when available; selected line fallback | Edge ≥ threshold for the market type |
| 3 | Books Agree | Blended market direction + consensus lean % across available books | Blended market agrees with model AND ≥55% of consensus books lean same side |
| 4 | Matchup | Park factor, weather, pitcher handedness vs lineup splits | Park/weather support the bet direction; platoon matchup neutral or favorable |
| 5 | Role / Injury | Confirmed lineup spot, injury flags, workload concerns | No injury flags; lineup confirmed in a favorable spot |
| 6 | Game Script | Combined park × weather run environment; run-line margin vs spread | Environment supports bet direction; RL margin cushion ≥0.5 runs |
| Grade | Score | Recommendation | When to bet |
|---|---|---|---|
| A | 10–12, 0 FAILs | BEST PLAY | Core play — all six checks aligned |
| B | 7–9, ≤1 FAIL | GOOD ADD | Strong play with minor caveats |
| C | 4–6 | PASS | Thin — skip unless you have a strong personal read |
| D | 2–3 or model edge FAIL | PASS | Do not bet — weak signal |
| F | 0–1 | HARD FADE | Consider 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.
Final Signal combines the model grade with market trust. Top Pick remains the rare flagship rule, while other signals show whether a strong model read is trusted, watch-listed, research-only, or paused.
| Signal | Meaning |
|---|---|
| ⭐ TOP PICK | Existing Top Pick rule: 100% book consensus plus a raw projection cushion of at least 1.5 units. |
| ✅ Best Play | Trusted market with an A-grade model signal. |
| 👀 Strong Watch | Watch-stage market with an A-grade model signal; visible but not promoted to Top Pick. |
| 🔬 Research Lead | Research-stage market with an A-grade model signal; diagnostics only until validation clears. |
| ⛔ Paused Signal | Paused market with an A/B model signal; shown so the signal is not lost, but not actionable. |
Markets move from paused to research to watch to trusted only when settled evidence clears the criteria shown in Market Promotion Criteria. This keeps a market from getting stuck in research without a clear path forward.
| Stage | Recommendation behavior | Evidence needed |
|---|---|---|
| Trusted | Eligible for normal Best Play / Good Add output. | Continue passing season and recent market-health checks. |
| Watch | Visible as a valid signal, but not treated as fully trusted. | Season sample, positive P&L, recent sample, recent P&L, and Grade A performance. |
| Research | Scored and audited, but held from actionable output until validation clears. | Forward sample, positive season signal, recent win-rate support, and Grade A validation. |
| Paused | Shadow-only. No actionable recommendations. | A redesigned/component signal plus settled validation before returning to research. |
Raw edge is an uncalibrated ranking/debug value. The model grade and market stage should be read together.
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.
| Pattern | Why it conflicts |
|---|---|
| Total Over + NRFI | High-run game expectation vs no runs in the 1st inning |
| Total Under + YRFI | Low-run game expectation vs runs scoring in the 1st |
| K Prop Over + YRFI | Pitcher dominates yet run scores early |
| Batter Overs + Total Under | Player production expected but game total is low |
| Outs Over + K Under (same SP) | Long outing projected but few strikeouts — projection inconsistency |
| Element | Meaning |
|---|---|
| Progress bar | Visual fill of monthly Odds API usage |
| used / total | Requests consumed vs. your monthly cap — each run costs ~1 request per game (combined market fetch) |
| Column | Meaning |
|---|---|
| Away ML / Home ML | DraftKings moneyline. −150 = bet $150 to win $100 • +130 = bet $100 to win $130 |
| Away RL / Home RL | Run line (always ±1.5) with its odds. −1.5(−110) = team must win by 2+ |
| Total | Over/Under line (e.g. O/U 8.5) |
| Con ML | Consensus moneyline direction — which side the majority of other books (FanDuel, BetMGM, Caesars, etc.) favor |
| Column | Meaning |
|---|---|
| Grade | V2 Framework grade (A–D) — driven by the six-check scoring system. A/B rows are highlighted. See Grade Scale below. |
| Type | Moneyline, Run Line, Total Over/Under, F5 ML, F5 Total |
| DK Odds | DraftKings price for that side |
| Implied | DK implied probability after vig removal |
| Model | Win probability our model calculates independently |
| Edge | Model% − Implied%. Min 15% to surface a game bet. |
| EV/$100 | Expected profit per $100 wagered: (win_prob × profit) − (loss_prob × $100) |
| Books | Number 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. |
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.
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:
| Step | What it calculates | Data source | Weight |
|---|---|---|---|
| 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.20pitch_edge = home_pitch − away_pitchA 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) / 100off_edge = home_bat − away_batA 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) |
|
Season stats are stable but slow to react. Recent form can signal a pitcher heating up or falling apart. The model blends both:
| Source | Weight | Stats 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.
For Over/Under bets the model projects a total runs scored using a similar framework:
| Step | Calculation |
|---|---|
| Base | 2 × 4.5 league-average runs/game = 9.0 |
| SP factor | Average 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 factor | Average of (home wRC+ / 100) and (away wRC+ / 100). |
| Raw total | 9.0 × (0.60 × SP factor + 0.40 × off_factor) |
| Park adjustment | Raw 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
The Diagnostic vs Recommendation Impact table near the top of the report is the source of truth for whether each market or diagnostic layer affects recommendations, only gates recommendations, is research-only, or needs configuration. A signal being visible in diagnostics does not automatically mean it changes grades or picks.
| Usage type | Meaning |
|---|---|
| Active recommendation market | Trusted or watch-stage markets can appear in ranked plays according to the V2 framework and market trust rules. |
| Held / gated market | Research markets can be scored for audit, but are held from actionable output until validation clears. |
| Shadow research | Paused markets such as HRR component research emit diagnostics only; they do not create recommendations. |
| Diagnostic-only source | Context layers such as player splits and AI review explain the run but do not change thresholds, grades, or tracker saves unless a future validation PR explicitly activates them. |
| Component | Purpose | Recommendation impact today |
|---|---|---|
| PitcherAssessment | Starter-level hand, K%, innings, estimated pitch count, leash risk, Savant support, contact suppression, HR vulnerability, and data gaps. | Feeds pitcher and batter context. It is visible in diagnostics; individual fields affect picks only where the engine explicitly consumes them. |
| Savant Pitch Quality | Free public-data pitch-quality scores built from Savant summary and arsenal fields: whiff, put-away, xwOBA, run value, pitch mix depth, and top pitch. | Diagnostic-only. It replaces the retired premium PLV path for review visibility but does not change recommendations. |
| Pitcher Outs Research Gate | Shows pitcher outs candidates, projected gap, leash, expected K innings, pitch count, assessment quality, and hold reason. | Research/held. Pitcher Outs remains out of actionable output until the gate validates. |
| HRR Component Research | Breaks Batter H+R+RBI into hit, run, and RBI components with uncertainty and support notes. | Shadow-only. HRR remains paused and cannot become actionable from the old composite threshold. |
| Player Context | Home/away, day/night, recent-return, role, usage, workload diagnostics, and pre-lineup active-roster hitter pools. | Missing split data is neutral. Real role, injury, or workload concerns may surface as risk context. |
| AI Review | Optional post-run review of recent settled results and model behavior. | Advisory only. It cannot change picks, thresholds, tracker saves, or market status. |
Premium Pitcher List PLV/PLA enrichment is intentionally retired from daily output because no free live 2026 aggregate export is available. The optional loader remains for local experiments only. The replacement path is the Savant Pitch Quality diagnostic section, which uses public Statcast/Savant inputs.
| State | Impact | How to read it |
|---|---|---|
| READY | Available | The input loaded and is available to the relevant model or diagnostic section. |
| LATE DATA | Non-blocking | The feed usually appears later on game day, such as confirmed lineups or home-plate umpires. |
| PARTIAL | Non-blocking | The source returned usable rows, but one sub-market or optional slice is missing. Available pieces still support the run. |
| MARKET UNAVAILABLE | Non-blocking | The odds/source returned no usable rows for that market in this run. Other markets can still run normally. |
| SOURCE MISSING | Non-blocking unless marked otherwise | The configured source is unavailable, sparse, or missing. Treat as a data gap, not an automatic bet risk. |
| LIMITED | Non-blocking | The run uses a fallback, skips an optional layer, or intentionally keeps a diagnostic isolated. |
| BLOCKING | Action needed | A core source failed in a way that can invalidate a major part of the run, such as all props being empty. |
The model does not wait for confirmed batting orders to use hitter-pool context. Before official lineups post, it builds an active-roster view from known team rosters and player IDs, including batter handedness and a PA-weighted active-roster K% profile for K props. Once confirmed lineups post, lineup order, top-six K%, and confirmed platoon mix replace the roster estimate.
| State | How it is used |
|---|---|
| Pre-lineup | Active-roster batter handedness and active-roster K% feed K-prop opponent context. The report labels lineup order as late data, not missing data. |
| Confirmed lineup | Exact batting order upgrades the context with lineup K%, top-six K%, projected PA, and confirmed platoon concentration gates. |
| No roster coverage | The model falls back to team-level K%, handedness splits, recent team batting, BVP, and pitch-type matchup data. |
| Artifact | Use it for |
|---|---|
| Main HTML report | Daily human review: ranked plays, trust tiers, data readiness, diagnostics, and reference guide. |
| Full audit HTML | Candidate-level debugging across best plays, good adds, passes, hard fades, and research holds. |
| Audit JSON | Machine-readable evidence for settled review, AI review, market health, pitcher assessments, HR likelihood, HRR research, and pitcher outs gate candidates. |
| Performance report | Settled tracker analysis by grade, market, odds band, top-pick status, and prop/game grouping. |
| Tracker CSV | Single source for settled W/L/P, units, grades, bet type, final signal, and historical performance windows. |
| Column | Meaning |
|---|---|
| Away SP / Home SP | Probable starter name (or TBD if not yet announced) |
| NRFI Score | Composite 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%) |
| Label | Edge Required | Suggested Unit Size |
|---|---|---|
| FULL | ≥20% | Full unit |
| HALF | ≥15% | Half unit |
| QRTR | ≥15% | Quarter unit (data quality cap) |
| (none) | <15% | No bet — below threshold |
| Label | What it means |
|---|---|
| HIGH | Both pitchers and both offenses have full stat profiles |
| MED | One or more data sources are missing or incomplete |
| LOW | Model running mostly on league averages — proceed with caution |
| Term | Definition |
|---|---|
| xFIP | Expected 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 form | Last 5 starts blended at 35% weight, season stats at 65% |
| Park factor | Venue run/HR factor applied to expected total. Coors Field ~1.32, Oracle Park ~0.92 |
| Edge | Model win probability minus the book's implied probability (after vig removal) |
| EV/$100 | Expected value: (win_prob × profit) − (loss_prob × stake) |
| F5 bets | First 5 innings — pitching weight raised to 65% (starters matter more), scaled to 4.5/9.0 IP |
| DK note | The "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.