| Record | Win% | P&L | ||
|---|---|---|---|---|
| Overall | 426W–248L–0P | 63% | -62.97 u | Last 14 days • 674 settled |
| Grade A | 15W–15L–0P | 50% | -4.13 u | |
| Grade B | 410W–229L–0P | 64% | -56.12 u |
| Record | Win% | P&L | ||
|---|---|---|---|---|
| Overall | 3707W–2331L–8P | 61% | -272.30 u | All-time • 6046 settled |
| Grade A | 265W–211L–0P | 56% | -12.89 u | |
| Grade B | 3440W–2111L–8P | 62% | -252.96 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 | Pitcher Walks | Troy Melton | 1.5 | -144 | - | PENDING | - | |
| 2026-06-19 | Pitcher Earned Run | Cade Cavalli | 1.5 | -172 | - | PENDING | - | |
| 2026-06-20 | K Prop | Nathan Eovaldi | 5.5 | -130 | - | PENDING | - | |
| 2026-06-20 | Pitcher Earned Run | Nathan Eovaldi | 1.5 | -173 | - | PENDING | - | |
| 2026-07-04 | Pitcher Walks | Tomoyuki Sugano | 1.5 | -186 | - | PENDING | - | |
| 2026-07-24 | Batter Walks | Josh Lowe | 0.5 | -490 | - | PENDING | - | |
| 2026-07-25 | Batter Walks | Jake Burger | 0.5 | -442 | - | PENDING | - | |
| 2026-07-26 | Batter Walks | Jazz Chisholm Jr. | 0.5 | -393 | - | PENDING | - | |
| 2026-07-26 | Batter Walks | Jung Hoo Lee | 0.5 | -356 | - | PENDING | - | |
| 2026-07-27 | Batter Walks | Jung Hoo Lee | 0.5 | -388 | - | PENDING | - | |
| 2026-07-28 | Batter Hits | Curtis Mead | 1.5 | -244 | - | PENDING | - | |
| 2026-07-28 | Batter Walks | Josh Lowe | 0.5 | -396 | - | PENDING | - | |
| 2026-07-29 | Batter Walks | Elieser HernΓ‘ndez | 0.5 | -400 | - | PENDING | - | |
| 2026-07-29 | Batter Walks | LaMonte Wade Jr. | 0.5 | -160 | - | PENDING | - | |
| 2026-07-29 | Pitcher Earned Run | Christian Scott | 2.5 | -175 | - | PENDING | - | |
| 2026-07-31 | Batter Walks | Marco Gonzales | 0.5 | -550 | - | PENDING | - | |
| 2026-07-31 | Pitcher Earned Run | Casey Mize | 2.5 | -115 | - | PENDING | - | |
| 2026-07-31 | Pitcher Hits Allow | Casey Mize | 5.5 | -131 | - | PENDING | - | |
| 2026-08-01 | Batter Walks | Josh Bell | 0.5 | -270 | - | PENDING | - | |
| 2026-08-01 | Batter Walks | Luis Arraez | 0.5 | -400 | - | PENDING | - | |
| 2026-08-01 | K Prop | Jose Soriano | 5.5 | -136 | - | PENDING | - | |
| 2026-08-02 | Batter Walks | Brett Baty | 0.5 | -536 | - | PENDING | - | |
| 2026-08-02 | Batter Walks | Jahmai Jones | 0.5 | -290 | - | PENDING | - | |
| 2026-08-02 | K Prop | Merrill Kelly (ARIZ) | 3.5 | -120 | - | PENDING | - | |
| 2026-08-02 | K Prop | Michael King | 5.5 | -101 | - | PENDING | - | |
| 2026-08-02 | Pitcher Earned Run | Michael King | 1.5 | -172 | - | PENDING | - | |
| 2026-08-02 | Pitcher Walks | Michael King | 1.5 | -171 | - | PENDING | - | |
| 2026-08-03 | Batter Walks | Hunter Feduccia | 0.5 | -208 | - | PENDING | - | |
| 2026-08-03 | Batter Walks | J.T. Realmuto | 0.5 | -330 | - | PENDING | - | |
| 2026-08-03 | Batter Walks | LaMonte Wade Jr. | 0.5 | -257 | - | PENDING | - | |
| 2026-08-03 | Batter Walks | Lars Nootbaar | 0.5 | -280 | - | PENDING | - | |
| 2026-08-04 | Batter Walks | Jordan Walker | 0.5 | -328 | - | PENDING | - | |
| 2026-08-04 | Pitcher Hits Allow | Ian Seymour | 5.5 | -145 | - | PENDING | - | |
| 2026-08-04 | Pitcher Hits Allow | Michael King | 5.5 | -150 | - | PENDING | - | |
| 2026-08-05 | Batter Walks | Ketel Marte | 0.5 | -195 | - | PENDING | - | |
| 2026-08-07 | Batter Walks | Brooks Lee | 0.5 | -500 | - | PENDING | - | |
| 2026-08-07 | Batter Walks | Cedric Mullins | 0.5 | -450 | - | PENDING | - | |
| 2026-08-07 | Batter Walks | Joey Ortiz | 0.5 | -440 | - | PENDING | - | |
| 2026-08-07 | K Prop | Merrill Kelly (ARIZ) | 3.5 | -135 | - | PENDING | - | |
| 2026-08-09 | Batter Walks | Mauricio Dubon | 0.5 | -800 | - | PENDING | - | |
| 2026-08-10 | Batter Walks | Kody Clemens | 0.5 | -450 | - | PENDING | - | |
| 2026-08-12 | Batter Walks | Chandler Simpson | 0.5 | -350 | - | PENDING | - | |
| 2026-08-13 | Batter Walks | Jacob Young | 0.5 | -550 | - | PENDING | - | |
| 2026-08-14 | Batter Walks | Christian Franklin | 0.5 | -310 | - | PENDING | - | |
| 2026-08-14 | Batter Walks | Spencer Horwitz | 0.5 | -320 | - | PENDING | - | |
| 2026-08-15 | Batter Walks | Dansby Swanson | 0.5 | -252 | - | PENDING | - | |
| 2026-08-15 | Batter Walks | Hunter Goodman | 0.5 | -550 | - | PENDING | - | |
| 2026-08-15 | Batter Walks | Jose Fermin | 0.5 | -287 | - | PENDING | - | |
| 2026-08-15 | Batter Walks | Kody Clemens | 0.5 | -475 | - | PENDING | - | |
| 2026-08-15 | Batter Walks | Nick Gonzales | 0.5 | -550 | - | PENDING | - | |
| 2026-08-16 | Batter Walks | Nick Gonzales | 0.5 | -357 | - | PENDING | - | |
| 2026-08-16 | Batter Walks | Ronny Simon | 0.5 | -322 | - | PENDING | - | |
| 2026-08-16 | Batter Walks | TJ Rumfield | 0.5 | -270 | - | PENDING | - | |
| 2026-08-16 | Batter Walks | Trea Turner | 0.5 | -375 | - | PENDING | - | |
| 2026-08-16 | Batter Walks | Victor Bericoto | 0.5 | -525 | - | PENDING | - | |
| 2026-08-17 | Batter Walks | Jahmai Jones | 0.5 | -310 | - | PENDING | - | |
| 2026-08-17 | Batter Walks | Ketel Marte | 0.5 | -255 | - | PENDING | - | |
| 2026-08-17 | Batter Walks | Max Kepler | 0.5 | -320 | - | PENDING | - | |
| 2026-08-18 | Batter Walks | Nick Gonzales | 0.5 | -550 | - | PENDING | - | |
| 2026-08-18 | Batter Walks | Willy Adames | 0.5 | -240 | - | PENDING | - | |
| 2026-08-18 | K Prop | Merrill Kelly (ARIZ) | 3.5 | -135 | - | PENDING | - | |
| 2026-08-19 | Batter Walks | Jo Adell | 0.5 | -330 | - | PENDING | - | |
| 2026-08-20 | Batter Walks | Jacob Young | 0.5 | -525 | - | PENDING | - | |
| 2026-08-22 | K Prop | Andrew Painter | 3.5 | -149 | - | PENDING | - | |
| 2026-08-22 | K Prop | Blade Tidwell | 3.5 | -128 | - | PENDING | - | |
| 2026-08-22 | K Prop | Cody Bradford | 4.5 | -101 | - | PENDING | - | |
| 2026-08-22 | K Prop | Dylan Cease | 8.5 | -117 | - | PENDING | - | |
| 2026-08-22 | K Prop | Jared Jones | 4.5 | -128 | - | PENDING | - | |
| 2026-08-22 | K Prop | Luis Castillo | 5.5 | -166 | - | PENDING | - | |
| 2026-08-22 | K Prop | Tanner Bibee | 4.5 | -120 | - | PENDING | - | |
| 2026-08-22 | Pitcher Earned Run | Christian Scott | 1.5 | -163 | - | PENDING | - | |
| 2026-08-22 | Pitcher Earned Run | Dylan Cease | 1.5 | -153 | - | PENDING | - | |
| 2026-08-22 | Pitcher Earned Run | Eury Perez | 1.5 | -129 | - | PENDING | - | |
| 2026-08-22 | Pitcher Earned Run | Logan Henderson | 1.5 | -138 | - | PENDING | - | |
| 2026-08-22 | Pitcher Hits Allow | Dean Kremer | 5.5 | -128 | - | PENDING | - | |
| 2026-08-22 | Pitcher Hits Allow | Jake Irvin | 5.5 | -145 | - | PENDING | - | |
| 2026-08-22 | Pitcher Outs | Casey Mize | 17.5 | 121 | - | PENDING | - | |
| 2026-08-22 | Pitcher Walks | Eury Perez | 1.5 | -127 | - | PENDING | - | |
| 2026-08-22 | Pitcher Walks | Jake Irvin | 1.5 | -144 | - | PENDING | - |
| 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 | 581 | 55% | -27.77u | 49 | 47% | -9.73u | 276 | 56% | 64 |
| Pitcher Hits Allowed | β TRUSTED | 510 | 57% | +3.90u | 36 | 44% | -8.69u | 4 | 50% | 6 |
| Run Line | β TRUSTED | 173 | 58% | +7.01u | 10 | 60% | +0.33u | 46 | 61% | 1 |
| Batter Walks | π WATCH | 2084 | 74% | -55.49u | 364 | 73% | -20.68u | 8 | 75% | 134 |
| Pitcher Earned Runs | π WATCH | 622 | 57% | -24.26u | 83 | 61% | +2.33u | 1 | 100% | 9 |
| Pitcher Walks | π WATCH | 420 | 60% | -11.21u | 23 | 61% | -0.53u | 0 | - | 11 |
| Batter Hits | π WATCH | 55 | 71% | -0.17u | 2 | 100% | +0.81u | 0 | - | 23 |
| Batter Total Bases | π WATCH | 35 | 51% | -1.50u | 1 | 0% | -1.00u | 0 | - | 37 |
| F5 ML | π WATCH | 30 | 44% | +2.54u | 2 | 0% | -2.00u | 0 | - | 0 |
| No HR U1.5 | π WATCH | 11 | 27% | -5.27u | 1 | 0% | -1.00u | 0 | - | 0 |
| Moneyline | π WATCH | 6 | 50% | +2.85u | 0 | - | +0.00u | 0 | - | 0 |
| NRFI | π WATCH | 5 | 20% | -2.00u | 1 | 0% | -1.00u | 0 | - | 4 |
| YRFI | π WATCH | 4 | 50% | -2.00u | 1 | 0% | -1.00u | 0 | - | 7 |
| Pitcher Outs | π¬ RESEARCH | 128 | 48% | -14.91u | 10 | 50% | -2.03u | 2 | 50% | 8 |
| Total | π¬ RESEARCH | 62 | 39% | -13.07u | 4 | 25% | -2.13u | 1 | 100% | 7 |
| F5 Total | π¬ RESEARCH | 38 | 42% | -10.07u | 9 | 0% | -9.00u | 1 | 0% | 6 |
| No HR | π¬ RESEARCH | 1 | 0% | -1.00u | 1 | 0% | -1.00u | 0 | - | 0 |
| Batter H+R+RBI | β PAUSED | 609 | 52% | -60.11u | 27 | 52% | -2.94u | 86 | 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 | 4/4 | No blocker |
| 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 | 3/5 | season P&L positive; 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 | 2/5 | season P&L positive; 14d sample >= 10; Grade A sample >= 20 and WR >= 55% or Grade B sample >= 50, WR >= 55%, P&L > 0 |
| Batter Total Bases | π WATCH | β Trusted | 0/5 | season sample >= 50; season P&L positive; 14d sample >= 10 |
| F5 ML | π WATCH | β Trusted | 1/5 | season sample >= 50; 14d sample >= 10; 14d P&L non-negative |
| No HR U1.5 | π WATCH | β Trusted | 0/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 | 0/5 | season sample >= 50; season P&L positive; 14d sample >= 10 |
| YRFI | π WATCH | β Trusted | 0/5 | season sample >= 50; season P&L positive; 14d sample >= 10 |
| Pitcher Outs | π¬ RESEARCH | π Watch | 2/5 | season P&L positive; 14d WR >= 52%; Grade A sample >= 10 and WR >= 52% |
| Total | π¬ RESEARCH | π Watch | 1/5 | season P&L positive; 14d sample >= 10; 14d WR >= 52% |
| F5 Total | π¬ RESEARCH | π Watch | 0/5 | season sample >= 50; season P&L positive; 14d sample >= 10 |
| No HR | π¬ RESEARCH | π Watch | 0/5 | season sample >= 50; season P&L positive; 14d sample >= 10 |
| Batter H+R+RBI | β PAUSED | π¬ Research | 2/5 | diagnostic/component model has settled validation; season P&L non-negative; 14d 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; 7 actionable / 31 total candidate(s); season N 581, 14d N 49 | Can produce Best Signal / Add Signal output. | Maintain Trusted; season P&L non-negative; 14d P&L non-negative |
| Pitcher Hits Allowed | β TRUSTED | Active recommendation market; 2 actionable / 4 total candidate(s); season N 510, 14d N 36 | Can produce Best Signal / Add Signal output. | Maintain Trusted; 14d P&L non-negative |
| Run Line | β TRUSTED | Active recommendation market; 0 actionable / 0 total candidate(s); season N 173, 14d N 10 | Can produce Best Signal / Add Signal output. | Maintain Trusted; No blocker |
| 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; 28/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 / 0 total candidate(s); season N 55, 14d N 2 | Can surface recommendations with trust caution; promotion waits for evidence. | β Trusted; season P&L positive; 14d sample >= 10 |
| Batter Total Bases | π WATCH | Active watch-stage market; 0 actionable / 0 total candidate(s); season N 35, 14d N 1 | Can surface recommendations with trust caution; promotion waits for evidence. | β Trusted; season sample >= 50; season P&L positive |
| F5 ML | π WATCH | Active watch-stage market; 0 actionable / 0 total candidate(s); season N 30, 14d N 2 | 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; 1 actionable / 11 total candidate(s); season N 128, 14d N 10 | Held from actionable output unless explicitly validated. | π Watch; season P&L positive; 14d WR >= 52% |
| No HR | π¬ RESEARCH | Research / held market; 0 actionable / 0 total candidate(s); season N 1, 14d N 1 | Held from actionable output unless explicitly validated. | π Watch; season sample >= 50; season P&L positive |
| Total | π¬ RESEARCH | Research / held market; 0 actionable / 0 total candidate(s); season N 62, 14d N 4 | Held from actionable output unless explicitly validated. | π Watch; season P&L positive; 14d sample >= 10 |
| F5 Total | π¬ RESEARCH | Research / held market; 0 actionable / 0 total candidate(s); season N 38, 14d N 9 | 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 609, 14d N 27 | 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: 814 pitcher(s) with metrics |
| ✓ | READY | Available | Pitch-type matchup data: 30 team(s), 226 teamΓpitch-type combinations |
| ✓ | READY | Available | Pitcher arsenal: 790 pitcher(s), 3489 pitch-type profiles |
| ✓ | READY | Available | Batter pitch-type profiles: 592 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), 1313 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: Chicago White Sox, Minnesota Twins, Pittsburgh Pirates, Miami Marlins, Cleveland Guardians, Athletics, Colorado Rockies, Atlanta Braves, Baltimore Orioles, New York Yankees, San Francisco Giants, Cincinnati Reds, Houston Astros, Chicago Cubs, Toronto Blue Jays, New York Mets, Milwaukee Brewers, Arizona Diamondbacks, Washington Nationals, Kansas City Royals, Philadelphia Phillies, Los Angeles Angels, Seattle Mariners, Detroit Tigers, San Diego Padres, Los Angeles Dodgers, St. Louis Cardinals, Tampa Bay Rays, Texas Rangers, Boston Red Sox |
| ✓ | READY | Available | Bullpen data: 30 team(s) | Fatigued pens: Pittsburgh Pirates, Colorado Rockies, Houston Astros, Chicago Cubs, Toronto Blue Jays, New York Mets, Kansas City Royals, Seattle Mariners, Detroit Tigers, Los Angeles Dodgers, Boston Red Sox |
| ✓ | READY | Available | Bullpen HR vulnerability: 30 team(s) |
| ✓ | READY | Available | Weather: 0 game(s) with meaningful conditions |
| ✓ | READY | Available | First-inning artifact: loaded | 28 materialized half-inning row(s) |
| ✓ | READY | Available | Savant first-inning pitcher context: 348 pitcher(s) |
| ✓ | READY | Available | Pitching prop coverage: OK -- 15/15 game(s) with pitching props | K 31 line(s)/15 game(s); Outs 25 line(s)/12 game(s); Hits Allowed 13 line(s)/6 game(s); Walks 2 line(s)/1 game(s); Earned Runs 12 line(s)/6 game(s) | selected sources: draftkings 72, fanduel 7, bovada_direct 4 |
| ✓ | READY | Available | Line movement: 286 market side(s) checked | 286 opening snapshot(s) created | 0 with movement |
| ✓ | READY | Available | Market health: 18 market(s) loaded from tracker |
| ✓ | READY | Available | Player context: lazy game-log split and recent-return diagnostics enabled |
| ⚠ | LIMITED | Non-blocking | F5: disabled |
| ✓ | READY | Available | No-HR model: 15 game(s) scored | 0 above probability threshold | 0 with DK implied prob |
| ✓ | READY | Available | HR layers: batter Statcast 637 | batter bats 401 | batter hand splits 137 | pitcher HR splits 56 | batter pitch-type 592 | bullpen HR 30 |
| ✓ | READY | Available | HR model: 0 batter(s) scored | 15 game environment(s) scored | 0 strong/elite batter edge(s) |
| ✓ | READY | Available | Core mode: only pitching props are surfaced in ranked plays, tracker saves, and reports |
| ⚠ | SOURCE MISSING | Non-blocking | Probability shadow blocked: 142 raw record(s) assembled | no release created | CALIBRATION_ARTIFACT_MISSING |
| Matchup | Time (ET) | Away ML | Home ML | Away RL | Home RL | Total | Con ML | Sources | |
|---|---|---|---|---|---|---|---|---|---|
| Toronto Blue Jays @ New York Yankees | 1:36 PM | +101 | -108 | -1.5 (+173) | 1.5 (-211) | O/U 7.0 | HOME | ML: DK | RL: DK | Total: DK | Bet on DK |
| Atlanta Braves @ Milwaukee Brewers | 2:11 PM | +153 | -165 | 1.5 (-155) | -1.5 (+128) | O/U 8.0 | HOME | ML: DK | RL: DK | Total: DK | Bet on DK |
| Washington Nationals @ Miami Marlins | 4:11 PM | +153 | -186 | 1.5 (-143) | -1.5 (+119) | O/U 7.5 | HOME | ML: DK | RL: DK | Total: DK | Bet on DK |
| St. Louis Cardinals @ Philadelphia Phillies | 6:06 PM | +113 | -136 | 1.5 (-199) | -1.5 (+163) | O/U 9.0 | HOME | ML: DK | RL: DK | Total: DK | Bet on DK |
| Tampa Bay Rays @ Baltimore Orioles | 7:06 PM | -132 | +110 | -1.5 (+128) | 1.5 (-155) | O/U 8.0 | AWAY | ML: DK | RL: DK | Total: DK | Bet on DK |
| Los Angeles Angels @ Texas Rangers | 7:06 PM | +144 | -175 | 1.5 (-149) | -1.5 (+123) | O/U 8.0 | HOME | ML: DK | RL: DK | Total: DK | Bet on DK |
| New York Mets @ Chicago White Sox | 7:10 PM | -103 | -117 | -1.5 (+162) | 1.5 (-198) | O/U 8.0 | HOME | ML: DK | RL: DK | Total: DK | Bet on DK |
| Athletics @ Houston Astros | 7:11 PM | +198 | -245 | 1.5 (-108) | -1.5 (-112) | O/U 8.0 | HOME | ML: DK | RL: DK | Total: DK | Bet on DK |
| San Francisco Giants @ Boston Red Sox | 7:16 PM | +177 | -217 | 1.5 (-123) | -1.5 (+102) | O/U 8.0 | HOME | ML: DK | RL: DK | Total: DK | Bet on DK |
| Chicago Cubs @ Seattle Mariners | 7:16 PM | +100 | -120 | 1.5 (-205) | -1.5 (+168) | O/U 7.5 | HOME | ML: DK | RL: DK | Total: DK | Bet on DK |
| Detroit Tigers @ Kansas City Royals | 7:16 PM | -110 | -110 | -1.5 (+153) | 1.5 (-186) | O/U 8.5 | HOME | ML: DK | RL: DK | Total: DK | Bet on DK |
| Pittsburgh Pirates @ Los Angeles Dodgers | 7:16 PM | +214 | -267 | 1.5 (-106) | -1.5 (-114) | O/U 7.5 | HOME | ML: DK | RL: DK | Total: DK | Bet on DK |
| Cincinnati Reds @ Arizona Diamondbacks | 8:10 PM | +139 | -168 | 1.5 (-149) | -1.5 (+124) | O/U 8.0 | HOME | ML: DK | RL: DK | Total: DK | Bet on DK |
| Cleveland Guardians @ Colorado Rockies | 8:11 PM | -142 | +118 | -1.5 (+104) | 1.5 (-126) | O/U 11.0 | AWAY | ML: DK | RL: DK | Total: DK | Bet on DK |
| Minnesota Twins @ San Diego Padres | 8:41 PM | +136 | -164 | 1.5 (-163) | -1.5 (+135) | O/U 8.0 | HOME | ML: DK | RL: DK | Total: DK | Bet on DK |
| Grade | Signal | Type | Side | Game | Time (ET) | Line | Proj | Odds | Best Book / Line | Edge/Diff | Signal Breakdown ✓!✗– | Tier |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A ⭐ Featured | β Featured K final QC: opposing lineup not confirmed, active roster BVP damage OPS 1.500/AVG 0.500 over 8 PA | K Prop | Blade Tidwell Over | GIA@SOX | 7:16 PM | 3.5 | 5.1 | -128 | FanDuel Over 3.5 -120 | best price | 45.2% | ✓✓✓✓–– | Best Signal |
✓ Supports ! Mixed ✗ Opposes – No Data | Layer order: Line Fit | Model Edge | Market Alignment | Matchup | Availability | Game Context
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| BetOnline | 3.5 | -123 | -105 | - |
| Bovada Direct | 3.5 | -120 | -110 | Raw BestVerify |
| DK | 3.5 | -128 | +101 | Selected |
| FanDuel | 3.5 | -120 | -106 | Recommended |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 4.5 | -130 | +100 | - |
| FanDuel | 4.5 | -128 | +100 | SelectedRecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| DK | 3.5 | -149 | +117 | SelectedRecommendedRaw Best |
| theScore Bet | 3.5 | -150 | +105 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 4.5 | -120 | -110 | Raw BestVerify |
| FanDuel | 4.5 | -120 | -106 | SelectedRecommended |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| DK | 4.5 | -126 | -101 | SelectedRecommendedRaw Best |
| FanDuel | 4.5 | -125 | -102 | - |
| theScore Bet | 4.5 | -130 | -105 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| BetOnline | 4.5 | -141 | +109 | - |
| Bovada Direct | 4.5 | -145 | +110 | Raw BestVerify |
| FanDuel | 4.5 | -138 | +108 | - |
| DK | 5.5 | +129 | -166 | SelectedRecommended |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| BetOnline | 8.5 | -130 | +101 | - |
| Bovada Direct | 8.5 | -135 | +105 | - |
| DK | 8.5 | -117 | -109 | SelectedRecommendedRaw Best |
| FanDuel | 8.5 | -132 | +104 | - |
| theScore Bet | 8.5 | -130 | -105 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 17.5 | -160 | +120 | - |
| DK | 17.5 | -161 | +121 | SelectedRecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| BetOnline | 4.5 | +126 | -164 | - |
| Bovada Direct | 4.5 | +125 | -165 | - |
| DK | 4.5 | +119 | -151 | Selected |
| FanDuel | 4.5 | +128 | -164 | RecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| DK | 3.5 | -153 | +120 | SelectedRecommendedRaw Best |
| FanDuel | 3.5 | -154 | +120 | - |
| theScore Bet | 3.5 | -160 | +115 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 4.5 | -145 | +110 | - |
| DK | 4.5 | -130 | +102 | SelectedRecommendedRaw Best |
| FanDuel | 4.5 | -132 | +114 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| BetOnline | 3.5 | -114 | -114 | - |
| DK | 3.5 | -110 | -116 | SelectedRecommendedRaw Best |
| FanDuel | 3.5 | -115 | -111 | - |
| theScore Bet | 3.5 | -120 | -115 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| BetOnline | 5.5 | -132 | +102 | - |
| Bovada Direct | 5.5 | -125 | -105 | Raw BestVerify |
| DK | 5.5 | -140 | +110 | Selected |
| FanDuel | 5.5 | -125 | -102 | Recommended |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 8.5 | +110 | -145 | - |
| FanDuel | 8.5 | +112 | -142 | SelectedRecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 3.5 | -115 | -115 | - |
| FanDuel | 3.5 | -113 | -113 | SelectedRecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 4.5 | -105 | -125 | - |
| DK | 4.5 | -115 | -111 | Selected |
| FanDuel | 4.5 | -104 | -122 | RecommendedRaw Best |
| theScore Bet | 4.5 | -115 | -120 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| BetOnline | 6.5 | -114 | -114 | - |
| Bovada Direct | 6.5 | -110 | -120 | - |
| DK | 6.5 | -119 | -107 | Selected |
| FanDuel | 6.5 | -108 | -118 | RecommendedRaw Best |
| theScore Bet | 6.5 | -115 | -120 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| BetOnline | 5.5 | -103 | -125 | - |
| Bovada Direct | 5.5 | +100 | -130 | Raw BestVerify |
| DK | 5.5 | -101 | -126 | Selected |
| FanDuel | 5.5 | +100 | -128 | Recommended |
| theScore Bet | 5.5 | -110 | -125 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 3.5 | -145 | +110 | - |
| DK | 3.5 | -149 | +117 | Selected |
| FanDuel | 3.5 | -140 | +110 | RecommendedRaw Best |
| theScore Bet | 3.5 | -140 | +105 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| DK | 4.5 | +105 | -134 | SelectedRecommendedRaw Best |
| FanDuel | 4.5 | -113 | -102 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 6.5 | +110 | -145 | - |
| DK | 6.5 | +116 | -148 | Selected |
| FanDuel | 6.5 | +118 | -138 | RecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 5.5 | -160 | +120 | - |
| FanDuel | 5.5 | -154 | +120 | SelectedRecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| BetOnline | 6.5 | +102 | -132 | - |
| Bovada Direct | 6.5 | +110 | -145 | RecommendedRaw Best |
| DK | 6.5 | -105 | -121 | Selected |
| FanDuel | 6.5 | +108 | -138 | - |
| theScore Bet | 6.5 | +100 | -135 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| BetOnline | 6.5 | +120 | -156 | - |
| Bovada Direct | 6.5 | +120 | -160 | - |
| DK | 6.5 | +121 | -155 | SelectedRecommendedRaw Best |
| FanDuel | 6.5 | +122 | -156 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| BetOnline | 4.5 | -106 | -122 | - |
| Bovada Direct | 4.5 | -105 | -125 | - |
| DK | 4.5 | -104 | -122 | Selected |
| FanDuel | 4.5 | -104 | -122 | - |
| theScore Bet | 4.5 | -115 | -120 | RecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 4.5 | -105 | -125 | - |
| FanDuel | 4.5 | -102 | -125 | SelectedRecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| BetOnline | 4.5 | +117 | -152 | - |
| Bovada Direct | 4.5 | +120 | -160 | - |
| DK | 4.5 | +122 | -156 | SelectedRaw BestVerify |
| FanDuel | 4.5 | +122 | -156 | Recommended |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 3.5 | +145 | -190 | RecommendedRaw Best |
| FanDuel | 3.5 | +144 | -186 | Selected |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| DK | 4.5 | -124 | -103 | SelectedRecommendedRaw Best |
| FanDuel | 4.5 | -125 | +106 | - |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 17.5 | -125 | -115 | - |
| DK | 17.5 | -116 | -114 | SelectedRecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 17.5 | -135 | -105 | - |
| DK | 17.5 | -128 | -104 | SelectedRecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 17.5 | -160 | +120 | RecommendedRaw Best |
| DK | 17.5 | -181 | +135 | Selected |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 17.5 | -130 | -110 | - |
| DK | 17.5 | -126 | -105 | SelectedRecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 17.5 | -125 | -115 | - |
| DK | 17.5 | -130 | -102 | SelectedRecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 17.5 | -140 | +100 | - |
| DK | 17.5 | -133 | +100 | SelectedRecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 18.5 | +155 | -220 | - |
| DK | 18.5 | +159 | -214 | SelectedRecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 5.5 | +110 | -150 | - |
| DK | 5.5 | +106 | -141 | SelectedRecommendedRaw Best |
| Book | Line | Over | Under | Tags |
|---|---|---|---|---|
| Bovada Direct | 5.5 | +115 | -155 | - |
| DK | 5.5 | +121 | -160 | SelectedRecommendedRaw Best |
No bets meet the threshold today.
No bets meet the threshold today.
No first-inning decisions were produced for this slate.
HR model skipped or unavailable for this run.
No games scored β model may have been skipped or data unavailable.
| Pitcher | Game | Overall | Whiff | Contact | Arsenal | Top Pitch | Notes / Data Gaps |
|---|---|---|---|---|---|---|---|
| Dylan Cease | Toronto Blue Jays vs New York Yankees | 75.1 | 78.0 | 80.5 | 6 | Changeup (54% whiff, 12% usage) | Savant whiff 34.7%, put-away 24.8%, xwOBA 0.254, arsenal coverage 6 pitch type(s) |
| Logan Henderson | Milwaukee Brewers vs Atlanta Braves | 69.4 | 63.3 | 79.5 | 4 | Changeup (39% whiff, 33% usage) | Savant whiff 28.1%, put-away 23.3%, xwOBA 0.256, arsenal coverage 4 pitch type(s) |
| Tarik Skubal | Los Angeles Dodgers vs Pittsburgh Pirates | 68.2 | 69.5 | 72.5 | 5 | Changeup (49% whiff, 26% usage) | Savant whiff 31.2%, put-away 23.5%, xwOBA 0.270, arsenal coverage 5 pitch type(s) |
| Jared Jones | Pittsburgh Pirates vs Los Angeles Dodgers | 63.0 | 69.2 | 59.0 | 4 | Changeup (39% whiff, 12% usage) | Savant whiff 31.1%, put-away 23.2%, xwOBA 0.297, arsenal coverage 4 pitch type(s) |
| Drew Anderson | Detroit Tigers vs Kansas City Royals | 61.7 | 63.0 | 61.5 | 5 | Changeup (38% whiff, 31% usage) | Savant whiff 29.0%, put-away 21.4%, xwOBA 0.292, arsenal coverage 5 pitch type(s) |
| Eury PΓ©rez | Miami Marlins vs Washington Nationals | 59.5 | 61.8 | 59.5 | 6 | Slider (41% whiff, 16% usage) | Savant whiff 29.2%, put-away 19.6%, xwOBA 0.296, arsenal coverage 6 pitch type(s) |
| Casey Mize | San Diego Padres vs Minnesota Twins | 58.8 | 54.5 | 66.0 | 5 | Split-Finger (31% whiff, 24% usage) | Savant whiff 25.2%, put-away 20.3%, xwOBA 0.283, arsenal coverage 5 pitch type(s) |
| Jacob Lopez | Athletics vs Houston Astros | 57.1 | 48.7 | 63.5 | 5 | Slider (29% whiff, 33% usage) | Savant whiff 24.1%, put-away 16.8%, xwOBA 0.288, arsenal coverage 5 pitch type(s) |
| Christian Scott | New York Mets vs Chicago White Sox | 55.9 | 58.6 | 55.5 | 6 | Sweeper (32% whiff, 23% usage) | Savant whiff 26.6%, put-away 21.7%, xwOBA 0.304, arsenal coverage 6 pitch type(s) |
| Hunter Brown | Houston Astros vs Athletics | 55.7 | 56.1 | 56.0 | 5 | Curveball (36% whiff, 20% usage) | Savant whiff 25.9%, put-away 20.7%, xwOBA 0.303, arsenal coverage 5 pitch type(s) |
| Ryan Weathers | New York Yankees vs Toronto Blue Jays | 53.2 | 58.7 | 49.5 | 5 | Sweeper (37% whiff, 20% usage) | Savant whiff 27.2%, put-away 20.6%, xwOBA 0.316, arsenal coverage 5 pitch type(s) |
| Gabriel Hughes | Colorado Rockies vs Cleveland Guardians | 52.6 | 39.7 | 64.0 | 6 | Curveball (37% whiff, 10% usage) | Savant whiff 19.8%, put-away 16.4%, xwOBA 0.287, arsenal coverage 6 pitch type(s) |
| Blade Tidwell | San Francisco Giants vs Boston Red Sox | 52.5 | 49.9 | 54.5 | 6 | Sweeper (39% whiff, 37% usage) | Savant whiff 26.0%, put-away 14.3%, xwOBA 0.306, arsenal coverage 6 pitch type(s) |
| Dean Kremer | Minnesota Twins vs San Diego Padres | 52.4 | 56.6 | 50.0 | 6 | Cutter (40% whiff, 16% usage) | Savant whiff 26.9%, put-away 19.1%, xwOBA 0.315, arsenal coverage 6 pitch type(s) |
| Shane McClanahan | Tampa Bay Rays vs Baltimore Orioles | 51.3 | 57.1 | 50.0 | 4 | Changeup (38% whiff, 29% usage) | Savant whiff 26.6%, put-away 20.3%, xwOBA 0.315, arsenal coverage 4 pitch type(s) |
| Patrick Sandoval | Boston Red Sox vs San Francisco Giants | 51.2 | 59.1 | 40.5 | 6 | Changeup (41% whiff, 25% usage) | Savant whiff 25.9%, put-away 23.7%, xwOBA 0.334, arsenal coverage 6 pitch type(s) |
| Michael Soroka | Arizona Diamondbacks vs Cincinnati Reds | 48.2 | 49.0 | 51.5 | 6 | Slurve (34% whiff, 32% usage) | Savant whiff 22.4%, put-away 20.5%, xwOBA 0.312, arsenal coverage 6 pitch type(s) |
| Tanner Bibee | Cleveland Guardians vs Colorado Rockies | 47.5 | 48.2 | 47.5 | 6 | Changeup (36% whiff, 15% usage) | Savant whiff 23.6%, put-away 17.3%, xwOBA 0.320, arsenal coverage 6 pitch type(s) |
| Brandon Young | Baltimore Orioles vs Tampa Bay Rays | 46.6 | 47.4 | 46.0 | 5 | Slider (42% whiff, 15% usage) | Savant whiff 23.4%, put-away 17.0%, xwOBA 0.323, arsenal coverage 5 pitch type(s) |
| Michael Wacha | Kansas City Royals vs Detroit Tigers | 46.5 | 42.6 | 50.5 | 6 | Changeup (28% whiff, 25% usage) | Savant whiff 21.0%, put-away 16.9%, xwOBA 0.314, arsenal coverage 6 pitch type(s) |
| Luis Castillo | Chicago White Sox vs New York Mets | 44.4 | 47.7 | 39.0 | 4 | 4-Seam Fastball (28% whiff, 43% usage) | Savant whiff 24.5%, put-away 15.0%, xwOBA 0.337, arsenal coverage 4 pitch type(s) |
| MartΓn PΓ©rez | Atlanta Braves vs Milwaukee Brewers | 42.8 | 40.5 | 46.5 | 5 | Changeup (34% whiff, 30% usage) | Savant whiff 19.8%, put-away 17.3%, xwOBA 0.322, arsenal coverage 5 pitch type(s) |
| Andrew Painter | Philadelphia Phillies vs St. Louis Cardinals | 42.7 | 46.4 | 35.5 | 7 | Split-Finger (38% whiff, 11% usage) | Savant whiff 23.2%, put-away 16.3%, xwOBA 0.344, arsenal coverage 7 pitch type(s) |
| David Peterson | Chicago Cubs vs Seattle Mariners | 42.0 | 44.1 | 37.5 | 5 | Curveball (33% whiff, 10% usage) | Savant whiff 21.3%, put-away 17.9%, xwOBA 0.340, arsenal coverage 5 pitch type(s) |
| Jake Irvin | Washington Nationals vs Miami Marlins | 40.7 | 48.1 | 32.0 | 6 | Curveball (40% whiff, 24% usage) | Savant whiff 23.8%, put-away 16.8%, xwOBA 0.351, arsenal coverage 6 pitch type(s) |
| Ryan Johnson | Los Angeles Angels vs Texas Rangers | 39.1 | 43.2 | 28.0 | 4 | Split-Finger (36% whiff, 24% usage) | Savant whiff 22.9%, put-away 13.8%, xwOBA 0.359, arsenal coverage 4 pitch type(s) |
| Rhett Lowder | Cincinnati Reds vs Arizona Diamondbacks | 38.2 | 40.0 | 34.5 | 6 | Slider (34% whiff, 28% usage) | Savant whiff 19.7%, put-away 17.0%, xwOBA 0.346, arsenal coverage 6 pitch type(s) |
| Cody Bradford | Texas Rangers vs Los Angeles Angels | 32.7 | 37.7 | 23.0 | 4 | 4-Seam Fastball (24% whiff, 50% usage) | Savant whiff 19.8%, put-away 14.4%, xwOBA 0.369, arsenal coverage 4 pitch type(s) |
| Kade Anderson | Seattle Mariners vs Chicago Cubs | - | - | - | 0 | - | Savant pitcher summary missing, Savant arsenal missing |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Michael Soroka | Arizona Diamondbacks vs Cincinnati Reds | R | 23.4% | 4.9 | 5.4 | 5.3 | 82 | short | full | 51.50 | 48.50 | season+recent+savant+savant_quality+hand | recent leash 4.9 IP/start, patient opponent BB% 9.6% |
| Jacob Lopez | Athletics vs Houston Astros | L | 23.0% | 5.6 | 5.2 | 5.3 | 94 | normal | full | 63.50 | 36.50 | season+recent+savant+savant_quality+hand | - |
| MartΓn PΓ©rez | Atlanta Braves vs Milwaukee Brewers | L | 17.8% | 5.2 | 5.6 | 5.5 | 87 | normal | full | 46.50 | 53.50 | season+recent+savant+savant_quality+hand | patient opponent BB% 10.7% |
| Brandon Young | Baltimore Orioles vs Tampa Bay Rays | R | 18.9% | 5.1 | 5.6 | 5.5 | 86 | short | full | 46.00 | 54.00 | season+recent+savant+savant_quality+hand | recent leash 5.1 IP/start, low-K contact opponent 18.8% |
| Patrick Sandoval | Boston Red Sox vs San Francisco Giants | L | 21.9% | 4.8 | 4.9 | 5.1 | 80 | short | full | 40.50 | 59.50 | season+recent+savant+savant_quality+hand | recent leash 4.8 IP/start |
| David Peterson | Chicago Cubs vs Seattle Mariners | L | 19.5% | 4.5 | 7.0 | 6.5 | 76 | short | full | 37.50 | 62.50 | season+recent+savant+savant_quality+hand | recent leash 4.5 IP/start |
| Luis Castillo | Chicago White Sox vs New York Mets | R | 19.3% | 5.4 | 5.8 | 5.7 | 91 | normal | full | 39.00 | 61.00 | season+recent+savant+savant_quality+hand | - |
| Rhett Lowder | Cincinnati Reds vs Arizona Diamondbacks | R | 18.1% | 5.7 | 5.3 | 5.4 | 96 | normal | full | 34.50 | 65.50 | season+recent+savant+savant_quality+hand | low-K contact opponent 19.2% |
| Tanner Bibee | Cleveland Guardians vs Colorado Rockies | R | 19.1% | 6.1 | 5.8 | 5.8 | 102 | deep | full | 47.50 | 52.50 | season+recent+savant+savant_quality+hand | - |
| Gabriel Hughes | Colorado Rockies vs Cleveland Guardians | R | 20.1% | 4.6 | 5.4 | 5.3 | 77 | short | full | 64.00 | 36.00 | season+recent+savant+savant_quality+hand | recent leash 4.6 IP/start, patient opponent BB% 9.7% |
| Drew Anderson | Detroit Tigers vs Kansas City Royals | R | 24.4% | 2.9 | 15.3 | 9.0 | 49 | short | full | 61.50 | 38.50 | season+recent+savant+savant_quality+hand | recent leash 2.9 IP/start |
| Hunter Brown | Houston Astros vs Athletics | R | 24.8% | 5.6 | 5.3 | 5.3 | 94 | normal | full | 56.00 | 44.00 | season+recent+savant+savant_quality+hand | - |
| Michael Wacha | Kansas City Royals vs Detroit Tigers | R | 17.8% | 5.9 | 6.2 | 6.2 | 99 | normal | full | 50.50 | 49.50 | season+recent+savant+savant_quality+hand | - |
| Ryan Johnson | Los Angeles Angels vs Texas Rangers | R | 17.9% | 4.1 | 5.0 | 4.8 | 69 | short | full | 28.00 | 72.00 | season+recent+savant+savant_quality+hand | recent leash 4.1 IP/start |
| Tarik Skubal | Los Angeles Dodgers vs Pittsburgh Pirates | L | 30.0% | 6.1 | 6.0 | 6.0 | 102 | deep | full | 72.50 | 27.50 | season+recent+savant+savant_quality+hand | - |
| Eury PΓ©rez | Miami Marlins vs Washington Nationals | R | 25.8% | 6.2 | 5.6 | 6.0 | 104 | deep | full | 59.50 | 40.50 | season+recent+savant+savant_quality+hand | - |
| Logan Henderson | Milwaukee Brewers vs Atlanta Braves | R | 30.7% | 5.9 | 5.3 | 6.0 | 99 | normal | full | 79.50 | 20.50 | season+recent+savant+savant_quality+hand | - |
| Dean Kremer | Minnesota Twins vs San Diego Padres | R | 22.8% | 5.4 | 5.3 | 5.3 | 91 | normal | full | 50.00 | 50.00 | season+recent+savant+savant_quality+hand | - |
| Christian Scott | New York Mets vs Chicago White Sox | R | 28.7% | 4.9 | 4.7 | 4.7 | 82 | short | full | 55.50 | 44.50 | season+recent+savant+savant_quality+hand | recent leash 4.9 IP/start |
| Ryan Weathers | New York Yankees vs Toronto Blue Jays | L | 23.9% | 6.1 | 5.6 | 6.0 | 102 | deep | full | 49.50 | 50.50 | season+recent+savant+savant_quality+hand | low-K contact opponent 19.6% |
| Andrew Painter | Philadelphia Phillies vs St. Louis Cardinals | R | 19.5% | 4.4 | 5.3 | 5.2 | 74 | short | full | 35.50 | 64.50 | season+recent+savant+savant_quality+hand | recent leash 4.4 IP/start |
| Jared Jones | Pittsburgh Pirates vs Los Angeles Dodgers | R | 24.8% | 4.8 | 4.6 | 4.6 | 80 | short | full | 59.00 | 41.00 | season+recent+savant+savant_quality+hand | recent leash 4.8 IP/start, patient opponent BB% 9.7% |
| Casey Mize | San Diego Padres vs Minnesota Twins | R | 21.2% | 4.8 | 5.4 | 5.2 | 80 | short | full | 66.00 | 34.00 | season+recent+savant+savant_quality+hand | recent leash 4.8 IP/start |
| Blade Tidwell | San Francisco Giants vs Boston Red Sox | R | 19.7% | 3.7 | 9.0 | 6.1 | 62 | short | full | 54.50 | 45.50 | season+recent+savant+savant_quality+hand | recent leash 3.7 IP/start |
| Kade Anderson | Seattle Mariners vs Chicago Cubs | L | - | - | - | 5.8 | 96 | unknown | missing | 50.00 | 50.00 | fallback+hand | patient opponent BB% 10.7%, season_pitcher_stats_missing, recent_form_unavailable, savant_summary_missing |
| Shane McClanahan | Tampa Bay Rays vs Baltimore Orioles | L | 21.0% | 4.4 | 4.9 | 4.8 | 74 | short | full | 50.00 | 50.00 | season+recent+savant+savant_quality+hand | recent leash 4.4 IP/start, patient opponent BB% 10.1% |
| Cody Bradford | Texas Rangers vs Los Angeles Angels | L | 19.1% | 5.0 | 5.1 | 5.5 | 84 | short | full | 23.00 | 77.00 | season+recent+savant+savant_quality+hand | recent leash 5.0 IP/start |
| Dylan Cease | Toronto Blue Jays vs New York Yankees | R | 36.4% | 6.6 | 6.0 | 6.1 | 111 | deep | full | 80.50 | 19.50 | season+recent+savant+savant_quality+hand | patient opponent BB% 9.8% |
| Jake Irvin | Washington Nationals vs Miami Marlins | R | 22.2% | 4.8 | 4.8 | 4.8 | 80 | short | full | 32.00 | 68.00 | season+recent+savant+savant_quality+hand | recent leash 4.8 IP/start |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Casey Mize | Casey Mize Under | Minnesota Twins @ San Diego Padres | 17.5 | 14.5 | -3.0 | 17.2% | B | GOOD_ADD | research | short | 5.2 | 80 | season+recent+savant+savant_quality+hand | Market status RESEARCH: Pitcher Outs research-stage -- downgraded to monitor/derisk |
| Cody Bradford | Cody Bradford Under | Los Angeles Angels @ Texas Rangers | 17.5 | 14.2 | -3.2 | 18.6% | C | ALT_DERISK | research | short | 5.5 | 84 | season+recent+savant+savant_quality+hand | Books Disagree: blended market against 47.4% (1 books) |
| Brandon Young | Brandon Young Under | Tampa Bay Rays @ Baltimore Orioles | 17.5 | 15.3 | -2.2 | 12.4% | C | ALT_DERISK | research | short | 5.5 | 86 | season+recent+savant+savant_quality+hand | Weak Model Edge: diff_pct 12.4% vs 10% min using selected line 17.5 clears, but raw gap -2.17 <= 3 min |
| Hunter Brown | Hunter Brown Under | Athletics @ Houston Astros | 17.5 | 15.6 | -1.9 | 10.8% | C | ALT_DERISK | research | normal | 5.3 | 94 | season+recent+savant+savant_quality+hand | Weak Model Edge: diff_pct 10.8% vs 10% min using selected line 17.5 clears, but raw gap -1.88 <= 3 min |
| Dylan Cease | Dylan Cease Over | Toronto Blue Jays @ New York Yankees | 17.5 | 18.6 | 1.1 | 6.4% | C | ALT_DERISK | research | deep | 6.1 | 111 | season+recent+savant+savant_quality+hand | Weak Model Edge: Insufficient model edge β diff_pct 6.4% vs 10% min using selected line 17.5 |
| Logan Henderson | Logan Henderson Under | Atlanta Braves @ Milwaukee Brewers | 17.5 | 16.6 | -0.9 | 5.2% | C | ALT_DERISK | research | normal | 6.0 | 99 | season+recent+savant+savant_quality+hand | Weak Model Edge: Insufficient model edge β diff_pct 5.2% vs 10% min using selected line 17.5 |
| Luis Castillo | Luis Castillo Under | New York Mets @ Chicago White Sox | 17.5 | 17.2 | -0.3 | 1.7% | C | ALT_DERISK | research | normal | 5.7 | 91 | season+recent+savant+savant_quality+hand | Weak Model Edge: Insufficient model edge β diff_pct 1.7% vs 10% min using selected line 17.5 |
| Tarik Skubal | Tarik Skubal Over | Pittsburgh Pirates @ Los Angeles Dodgers | 18.5 | 18.8 | 0.3 | 1.7% | C | ALT_DERISK | research | deep | 6.0 | 102 | season+recent+savant+savant_quality+hand | Weak Model Edge: Insufficient model edge β diff_pct 1.7% vs 10% min using selected line 18.5 |
| Ryan Weathers | Ryan Weathers Over | Toronto Blue Jays @ New York Yankees | 17.5 | 17.6 | 0.1 | 0.8% | C | ALT_DERISK | research | deep | 6.0 | 102 | season+recent+savant+savant_quality+hand | Weak Model Edge: Insufficient model edge β diff_pct 0.8% vs 10% min using selected line 17.5 |
| Eury Perez | Eury Perez Under | Washington Nationals @ Miami Marlins | 17.5 | 17.4 | -0.1 | 0.3% | C | ALT_DERISK | research | deep | 6.0 | 104 | season+recent+savant+savant_quality+hand | Weak Model Edge: Insufficient model edge β diff_pct 0.3% vs 10% min using selected line 17.5 |
| Michael Wacha | Michael Wacha Under | Detroit Tigers @ Kansas City Royals | 18.5 | 18.5 | -0.0 | 0.1% | C | ALT_DERISK | research | normal | 6.2 | 99 | season+recent+savant+savant_quality+hand | Weak Model Edge: Insufficient model edge β diff_pct 0.1% vs 10% min using selected line 18.5 |
QC summary only. Pitcher Outs remains research-only until the assessment gate is validated.
Every bet candidate runs through the Sacboyz Signals Engine before it appears in the report. The board separates model grade, betting tier, and handling notes so a strong signal, a derisked angle, and a watchlist item are easy to tell apart.
| Section | What it shows |
|---|---|
| Today's Signal Board | Grade A and Grade B signals with full card detail: Signal Breakdown, Signal Drivers & Flags, line context, risk notes, and market context. |
| Ranked Signals | Compact view of the strongest surfaced signals plus a link to the full audit. |
| Market Confidence | Settled tracker performance by market, including season and recent windows used to support confidence tiers. |
| Signal Promotion Criteria | The concrete blockers a market must clear before moving from paused to research, watch, or trusted. |
| Signal Source Matrix | 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 | Selected approved-book lines for all games, with DraftKings preferred and fallback sources shown. |
| Detail Sections | Market detail, diagnostics, and research sections below Today's Signal Board. |
Each layer returns Supports, Mixed, Opposes, or No Data. No Data is treated as unavailable context rather than an automatic penalty.
| Layer | What it evaluates | Supports when |
|---|---|---|
| Line Fit | Line size, batter opportunity, run-line cushion | The available line falls within a model-friendly range. |
| Model Edge | Projection vs selected/displayed sportsbook line | Edge is at or above the threshold for that market type. |
| Market Alignment | Blended market direction and consensus lean across available books | The market agrees with the model side. |
| Matchup | Park factor, weather, opponent quality, and handedness/split context | Context is neutral or favorable for the signal side. |
| Availability | Lineup spot, injury flags, role, workload, and opportunity | Expected opportunity is intact and no major availability risk is present. |
| Game Context | Run environment, venue, weather, and script conditions | Game conditions support the signal direction. |
| Grade | Model strength | Tier | Meaning |
|---|---|---|---|
| A | Strongest model grade | Best Signal | Core playable recommendation when model strength and market posture align. |
| B | Strong model grade with caveats | Add Signal | Playable supporting recommendation. |
| C | Thin or lower-confidence model grade | No-Play | Audited but not a standard playable recommendation. |
| D | Weak signal | No-Play | Skip unless another trusted process overrides it. |
| F | Strong evidence against the evaluated side | Fade Signal | Consider whether the opposite side is more attractive. |
Grades and recommendation tiers are related but separate: grade describes model strength, while tier describes betting posture.
Final Signals combine model grade with market confidence and handling modifiers. Featured is placement, not a separate strength tier.
| Display | Meaning |
|---|---|
| ⭐ Featured | Special placement for the strongest qualifying signal on the board. |
| ✅ Best Signal | Trusted market with an A-grade model signal. |
| Watch Signal | Interesting setup that should be monitored or shopped before betting. |
| Research Only | Experimental or validation-stage output; useful for diagnostics but not a standard bet recommendation. |
| Paused | Market is intentionally withheld or unavailable for normal betting posture. |
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 | Selected approved-book 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) |
| Sources | The sportsbook supplying each displayed ML, run-line, and total quote. |
| Con ML | Consensus moneyline direction β which side the majority of other books (FanDuel, BetMGM, Caesars, etc.) favor |
| Column | Meaning |
|---|---|
| Grade | Signal grade (A-D), driven by the Signal Breakdown scoring system. A/B rows are highlighted. |
| Type | Moneyline, Run Line, Total Over/Under, F5 ML, F5 Total |
| Source / Odds | The selected approved sportsbook and its price for that side |
| Implied | Selected sportsbook 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). Three or more books is full support, two books is limited context, fewer than two means Market Alignment opposes. |
The model is asking one question: does the selected approved sportsbook 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 the selected sportsbook 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 signals according to the Sacboyz Signals Engine 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 signals, add signals, no-play results, fade signals, 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. |
| Field | Meaning |
|---|---|
| 2026 Model Probability | The stored game probability from the promoted 2026 half-inning artifact. YRFI is always exactly one minus NRFI before display rounding. |
| Fair Odds | The model probability expressed as American odds; it is not an executable sportsbook price. |
| Raw / Effective Edge | Raw edge compares model probability with the selected book's break-even probability. Effective edge subtracts the disclosed uncertainty buffer. |
| Starter and lineup status | Starter announcement and player matching are separate gates. Projected or proxy lineups remain visible and add only the disclosed uncertainty buffer. |
| Book coverage | Accepted paired quotes set the grade ceiling. Rejected, stale, incomplete, or outlier quotes remain visible in the shop table. |
| Signal layers | Six explanatory checks describe model, price, starter, lineup, environment, and coverage context. They never alter probability, edge, or grade. |
| 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.