| Record | Win% | P&L | ||
|---|---|---|---|---|
| Overall | 246W–227L–5P | 52% | -24.94 u | Last 14 days • 478 settled |
| Grade A | 31W–32L–0P | 49% | -8.79 u | |
| Grade B | 215W–195L–5P | 52% | -16.15 u |
| Record | Win% | P&L | ||
|---|---|---|---|---|
| Overall | 406W–371L–7P | 52% | -40.49 u | All-time • 784 settled |
| Grade A | 76W–57L–0P | 57% | +0.53 u | |
| Grade B | 330W–314L–7P | 51% | -41.02 u |
| Date | Type | Play | Line | Odds | Size | Result | P&L | Actual |
|---|---|---|---|---|---|---|---|---|
| 2026-05-05 | K Prop | Peter Lambert | 4.5 | -114 | - | LOSS | -1.000 | Peter Lambert: 4.0 (line 4.5) |
| 2026-05-05 | K Prop | Cade Cavalli | 4.5 | -163 | - | LOSS | -1.000 | Cade Cavalli: 2.0 (line 4.5) |
| 2026-05-05 | K Prop | Drew Rasmussen | 4.5 | -122 | - | WIN | +0.820 | Drew Rasmussen: 5.0 (line 4.5) |
| 2026-05-05 | K Prop | Bryce Elder | 4.5 | -139 | - | WIN | +0.719 | Bryce Elder: 9.0 (line 4.5) |
| 2026-05-05 | K Prop | Jameson Taillon | 4.5 | -155 | - | WIN | +0.645 | Jameson Taillon: 5.0 (line 4.5) |
| 2026-05-05 | K Prop | Shohei Ohtani | 6.5 | -144 | - | WIN | +0.694 | Shohei Ohtani: 8.0 (line 6.5) |
| 2026-05-05 | Batter H+R+RBI | Ben Rice | 1.5 | -130 | - | LOSS | -1.000 | Ben Rice: 0.0 (line 1.5) |
| 2026-05-05 | Batter H+R+RBI | Aaron Judge | 1.5 | -126 | - | WIN | +0.794 | Aaron Judge: 2.0 (line 1.5) |
| ✓ | Savant: 568 pitcher(s) with metrics |
| ✓ | Savant 1st-inn: 225 pitcher(s) with 1st-inning splits |
| ✓ | Team NRFI streaks: 30 teams | 30 with streak ≥5 |
| ✓ | Pitch-type matchup data: 30 team(s), 81 team×pitch-type combinations |
| ✓ | Handedness: 30 pitcher(s) | Team splits: 30 team(s) |
| ✓ | Lineups confirmed: 17 team(s), 153 player(s) |
| ✓ | BVP context: 30 roster team(s), 390 hitter(s) | 30 SP matchup(s), 1454 career PA |
| ⚠ | Umpires confirmed: 10 game(s) |
| ✓ | Rest data: 30 team(s) | Back-to-back: St. Louis Cardinals, Arizona Diamondbacks, New York Mets, Boston Red Sox, Athletics, Los Angeles Dodgers, Miami Marlins, Texas Rangers, Philadelphia Phillies, Tampa Bay Rays, Atlanta Braves, San Francisco Giants, Colorado Rockies, Toronto Blue Jays, Minnesota Twins, Baltimore Orioles, San Diego Padres, Chicago White Sox, Milwaukee Brewers, Detroit Tigers, Cincinnati Reds, Kansas City Royals, Pittsburgh Pirates, Los Angeles Angels, Cleveland Guardians, Houston Astros, Seattle Mariners, New York Yankees, Chicago Cubs, Washington Nationals |
| ✓ | Bullpen data: 30 team(s) | Fatigued pens: Miami Marlins, Atlanta Braves, Minnesota Twins, Baltimore Orioles, Detroit Tigers |
| ✓ | Weather: 4 game(s) with meaningful conditions |
| ✓ | F5: 11 game(s) fetched | 11 with ML odds | 0 with total odds | 2 play(s) above 8% edge |
| ✓ | No-HR model: 11 game(s) scored | 0 above probability threshold | 6 with DK implied prob |
| ✓ | HR layers: batter Statcast 472 | batter bats 178 | batter hand splits 178 | pitcher HR splits 77 | batter pitch-type 430 | bullpen HR 31 |
| ✓ | HR model: 191 batter(s) scored | 11 game environment(s) scored | 15 strong/elite batter edge(s) |
| Matchup | Time (ET) | Away ML | Home ML | Away RL | Home RL | Total | Con ML | |
|---|---|---|---|---|---|---|---|---|
| Chicago White Sox @ Los Angeles Angels | 4:08 PM | -113 | -107 | -1.5 (+148) | +1.5 (-180) | O/U 9.0 | AWAY | Bet on DK |
| Atlanta Braves @ Seattle Mariners | 4:10 PM | +117 | -141 | +1.5 (-180) | -1.5 (+148) | O/U 8.0 | HOME | Bet on DK |
| Athletics @ Philadelphia Phillies | 6:41 PM | +144 | -175 | +1.5 (-143) | -1.5 (+119) | O/U 8.0 | HOME | Bet on DK |
| Baltimore Orioles @ Miami Marlins | 6:41 PM | +113 | -136 | +1.5 (-194) | -1.5 (+159) | O/U 8.5 | HOME | Bet on DK |
| Boston Red Sox @ Detroit Tigers | 6:41 PM | -108 | -112 | -1.5 (+144) | +1.5 (-175) | O/U 8.5 | HOME | Bet on DK |
| Minnesota Twins @ Washington Nationals | 6:46 PM | -126 | +105 | -1.5 (+135) | +1.5 (-163) | O/U 9.5 | AWAY | Bet on DK |
| Texas Rangers @ New York Yankees | 7:06 PM | +169 | -207 | +1.5 (-120) | -1.5 (+100) | O/U 8.5 | HOME | Bet on DK |
| Cincinnati Reds @ Chicago Cubs | 7:41 PM | +144 | -175 | +1.5 (-149) | -1.5 (+123) | O/U 8.0 | HOME | Bet on DK |
| Cleveland Guardians @ Kansas City Royals | 7:41 PM | +113 | -136 | +1.5 (-194) | -1.5 (+159) | O/U 7.5 | HOME | Bet on DK |
| New York Mets @ Colorado Rockies | 9:21 PM | -171 | +141 | -1.5 (-108) | +1.5 (-112) | O/U 9.5 | AWAY | Bet on DK |
| Pittsburgh Pirates @ Arizona Diamondbacks | 9:41 PM | -126 | +104 | -1.5 (+135) | +1.5 (-163) | O/U 7.5 | AWAY | Bet on DK |
| Grade | Type | Side | Game | Time (ET) | Line | Odds | Best Book / Line | Edge/Diff | Checks ✓!✗– | Rec |
|---|---|---|---|---|---|---|---|---|---|---|
| A | K Prop | Colin Rea Over | RED@CUB | 7:41 PM | 4.5 | -143 | Bovada Direct Over 4.5 -135 | best price | 46.2% | ✓✓✓✓–– | BEST PLAY |
| A | K Prop | Jeffrey Springs Over | ATH@PHI | 6:41 PM | 4.5 | -140 | BetRivers Over 3.5 -122 | alt rescue | 30.4% | ✓✓✓✓–✓ | BEST PLAY |
✓ PASS ! WARN ✗ FAIL – N/A | Checks order: Baby Line · Model Edge · Books · Matchup · Role · Game Script
| Grade | Game | Type | Side | DK Odds | Implied | Model | Edge | EV/$100 | Books | |
|---|---|---|---|---|---|---|---|---|---|---|
| C | Cleveland Guardians @ Kansas City Royals | Total | Over 7.5 | -102 | 48.3% | 65.7% | +17.4% | $+30.03 | 9 | Bet on DK |
| Grade | Game | Type | Side | DK Odds | Implied | Model | Edge | EV/$100 | Books | |
|---|---|---|---|---|---|---|---|---|---|---|
| C | Atlanta Braves @ Seattle Mariners (F5) | F5 ML | Atlanta Braves | +140 | 39.3% | 50.7% | +11.4% | $+21.77 | 8 | Bet on DK |
| C | Athletics @ Philadelphia Phillies (F5) | F5 ML | Athletics | +140 | 39.3% | 48.3% | +8.9% | $+15.84 | 8 | Bet on DK |
No NRFI/YRFI plays meet the score threshold today.
| Game | SPs | NRFI / Min | YRFI / Min | Edge | Why not |
|---|---|---|---|---|---|
| Pittsburgh Pirates @ Arizona Diamondbacks | Michael Soroka / Paul Skenes | 5.4 / 7.7 | 4.6 / 7.7 | +5.8% | Score 5.4 < 7.7 threshold | Edge 5.8% < 8% required Home SP 1st-inn data thin (29 PA < 30 gate) |
| Texas Rangers @ New York Yankees | Will Warren / Nathan Eovaldi | 5.2 / 7.7 | 4.8 / 7.7 | +7.8% | Score 5.2 < 7.7 threshold | Edge 7.8% < 8% required Home SP 1st-inn data thin (26 PA < 30 gate) |
| New York Mets @ Colorado Rockies | Michael Lorenzen / Freddy Peralta | 4.9 / 7.7 | 5.1 / 7.7 | +5.7% | Score 4.9 < 7.7 threshold | Edge 5.7% < 8% required Away SP 1st-inn data thin (29 PA < 30 gate) |
| Athletics @ Philadelphia Phillies | Zack Wheeler / Jeffrey Springs | 4.6 / 7.7 | 5.4 / 7.7 | -3.6% | Score 4.6 < 7.7 threshold | Edge -3.6% < 8% required Home SP 1st-inn data thin (9 PA < 30 gate) |
| Cleveland Guardians @ Kansas City Royals | Cole Ragans / Joey Cantillo | 4.2 / 7.7 | 5.8 / 7.7 | -10.8% | Score 4.2 < 7.7 threshold | Edge -10.8% < 8% required Away SP 1st-inn data thin (26 PA < 30 gate) |
| Boston Red Sox @ Detroit Tigers | Jack Flaherty / Sonny Gray | 3.4 / 7.7 | 6.7 / 7.7 | -12.9% | Score 3.4 < 7.7 threshold | Edge -12.9% < 8% required Away SP 1st-inn data thin (22 PA < 30 gate) |
| Atlanta Braves @ Seattle Mariners | Bryan Woo / Martín Pérez | 3.2 / 7.7 | 6.8 / 7.7 | -18.0% | Score 3.2 < 7.7 threshold | Edge -18.0% < 8% required Away SP 1st-inn data thin (17 PA < 30 gate) |
| Chicago White Sox @ Los Angeles Angels | Walbert Ureña / Noah Schultz | 3.0 / 7.7 | 7.0 / 7.7 | -17.0% | Score 3.0 < 7.7 threshold | Edge -17.0% < 8% required Home SP 1st-inn data thin (9 PA < 30 gate) | Away SP 1st-inn data thin (20 PA < 30 gate) |
| Baltimore Orioles @ Miami Marlins | Eury Pérez / Brandon Young | 3.0 / 7.7 | 7.0 / 7.7 | -18.8% | Score 3.0 < 7.7 threshold | Edge -18.8% < 8% required Home SP 1st-inn data thin (28 PA < 30 gate) | Away SP 1st-inn data thin (16 PA < 30 gate) |
| Cincinnati Reds @ Chicago Cubs | Colin Rea / Brady Singer | 2.8 / 7.7 | 7.2 / 7.7 | -24.5% | Score 2.8 < 7.7 threshold | Edge -24.5% < 8% required Home SP 1st-inn data thin (17 PA < 30 gate) |
| Minnesota Twins @ Washington Nationals | Miles Mikolas / Bailey Ober | 2.5 / 7.7 | 7.5 / 7.7 | -17.2% | Score 2.5 < 7.7 threshold | Edge -17.2% < 8% required Home SP 1st-inn data thin (17 PA < 30 gate) | Away SP 1st-inn data thin (28 PA < 30 gate) |
| Tier | Player | Team | Game | Spot | Pitcher | Book | Odds | First HR | Implied | Model | Edge | Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Parlay Sprinkle Only | Ildemaro Vargas | Arizona Diamondbacks | Pittsburgh Pirates @ Arizona Diamondbacks | - | Paul Skenes (R) | theScore Bet | +1100 | - | 7.9% | 17.0% | +9.1% | 91 |
| Parlay Sprinkle Only | Daniel Schneemann | Unknown | Cleveland Guardians @ Kansas City Royals | - | Cole Ragans (L) | theScore Bet | +1000 | - | 8.6% | 16.2% | +7.6% | 87 |
| Elite HR Longshot Edge | Dansby Swanson | Chicago Cubs | Cincinnati Reds @ Chicago Cubs | - | Brady Singer (R) | theScore Bet | +800 | - | 10.4% | 18.0% | +7.5% | 92 |
| Parlay Sprinkle Only | Tyler Freeman | Los Angeles Dodgers | New York Mets @ Colorado Rockies | - | Michael Lorenzen (R) | theScore Bet | +1100 | - | 7.9% | 15.3% | +7.4% | 85 |
| Strong HR Candidate | Starling Marte | Arizona Diamondbacks | Cleveland Guardians @ Kansas City Royals | - | Cole Ragans (L) | theScore Bet | +900 | - | 9.4% | 16.6% | +7.2% | 88 |
| Strong HR Candidate | Angel Martinez | Cleveland Guardians | Cleveland Guardians @ Kansas City Royals | - | Cole Ragans (L) | theScore Bet | +800 | - | 10.4% | 17.6% | +7.1% | 90 |
| Parlay Sprinkle Only | Edouard Julien | Unknown | New York Mets @ Colorado Rockies | - | Michael Lorenzen (R) | theScore Bet | +800 | - | 10.4% | 17.5% | +7.1% | 90 |
| Elite HR Longshot Edge | Jeremiah Jackson | Baltimore Orioles | Baltimore Orioles @ Miami Marlins | - | Eury Pérez (R) | theScore Bet | +800 | - | 10.4% | 17.4% | +7.0% | 90 |
| Elite HR Longshot Edge | Liam Hicks | Miami Marlins | Baltimore Orioles @ Miami Marlins | 2 | Brandon Young (R) | theScore Bet | +700 | - | 11.7% | 18.0% | +6.3% | 91 |
| Elite HR Longshot Edge | Brooks Lee | Minnesota Twins | Minnesota Twins @ Washington Nationals | 2 | Miles Mikolas (R) | theScore Bet | +700 | - | 11.7% | 17.6% | +5.9% | 89 |
| Elite HR Longshot Edge | Ryan O'Hearn | Pittsburgh Pirates | Pittsburgh Pirates @ Arizona Diamondbacks | - | Michael Soroka (R) | theScore Bet | +700 | - | 11.7% | 17.5% | +5.8% | 89 |
| Parlay Sprinkle Only | Drew Romo | Unknown | Chicago White Sox @ Los Angeles Angels | - | Walbert Ureña (R) | theScore Bet | +1000 | - | 8.6% | 14.3% | +5.7% | 81 |
| Parlay Sprinkle Only | Carlos Narvaez | Unknown | Boston Red Sox @ Detroit Tigers | - | Jack Flaherty (R) | theScore Bet | +800 | - | 10.4% | 16.0% | +5.5% | 85 |
| Strong HR Candidate | Brandon Marsh | Philadelphia Phillies | Athletics @ Philadelphia Phillies | 7 | Jeffrey Springs (L) | theScore Bet | +700 | - | 11.7% | 17.2% | +5.5% | 88 |
| Parlay Sprinkle Only | Carson Kelly | Unknown | Cincinnati Reds @ Chicago Cubs | - | Colin Rea (R) | theScore Bet | +1000 | - | 8.6% | 14.0% | +5.4% | 80 |
| Strong HR Candidate | Elly De La Cruz | Cincinnati Reds | Cincinnati Reds @ Chicago Cubs | - | Colin Rea (R) | theScore Bet | +600 | - | 13.3% | 18.0% | +4.7% | 89 |
| Strong HR Candidate | Dillon Dingler | Detroit Tigers | Boston Red Sox @ Detroit Tigers | - | Sonny Gray (R) | theScore Bet | +600 | - | 13.3% | 18.0% | +4.7% | 89 |
| Strong HR Candidate | Nathaniel Lowe | Pittsburgh Pirates | Cincinnati Reds @ Chicago Cubs | - | Colin Rea (R) | theScore Bet | +600 | - | 13.3% | 18.0% | +4.7% | 89 |
| Strong HR Candidate | Nico Hoerner | Chicago Cubs | Cincinnati Reds @ Chicago Cubs | - | Brady Singer (R) | theScore Bet | +1200 | - | 7.3% | 11.8% | +4.5% | 74 |
| Parlay Sprinkle Only | Sam Antonacci | Unknown | Chicago White Sox @ Los Angeles Angels | - | Walbert Ureña (R) | theScore Bet | +800 | - | 10.4% | 14.8% | +4.3% | 81 |
| Tier | Game | Score | P(1+ HR) | Fair Odds | Top Threats | Environment | Risks |
|---|---|---|---|---|---|---|---|
| Strong HR Environment | Minnesota Twins @ Washington Nationals | 100 | 94.6% | -1758 | CJ Abrams, Byron Buxton, James Wood, Brooks Lee | Nationals Park HR factor 1.02 | Wind 16 mph OUT (SSW) -- run total UP | No-HR inverse support: P(no HR) 5.4% | - |
| Strong HR Environment | Chicago White Sox @ Los Angeles Angels | 100 | 93.8% | -1519 | Mike Trout, Munetaka Murakami, Colson Montgomery, Miguel Vargas | Angel Stadium HR factor 0.98 | No-HR inverse support: P(no HR) 6.2% | - |
| Strong HR Environment | Atlanta Braves @ Seattle Mariners | 100 | 92.7% | -1269 | Ozzie Albies, Drake Baldwin, Michael Harris II, Matt Olson | T-Mobile Park HR factor 0.92 | No-HR inverse support: P(no HR) 7.3% | - |
| Strong HR Environment | Athletics @ Philadelphia Phillies | 100 | 90.3% | -927 | Bryce Harper, Kyle Schwarber, Brandon Marsh, Nick Kurtz | Citizens Bank Park HR factor 1.10 | Wind 14 mph OUT (SSW) -- run total UP | No-HR inverse support: P(no HR) 9.7% | - |
| Strong HR Environment | Cleveland Guardians @ Kansas City Royals | 100 | 89.5% | -854 | Jose Ramirez, Angel Martinez, Starling Marte, Daniel Schneemann | Kauffman Stadium HR factor 0.93 | No-HR inverse support: P(no HR) 10.5% | - |
| Strong HR Environment | Texas Rangers @ New York Yankees | 100 | 88.4% | -764 | Ben Rice, Aaron Judge, Cody Bellinger, Trent Grisham | Yankee Stadium HR factor 1.18 | No-HR inverse support: P(no HR) 11.6% | - |
| Strong HR Environment | Cincinnati Reds @ Chicago Cubs | 100 | 87.4% | -696 | Elly De La Cruz, Ian Happ, Dansby Swanson, Nathaniel Lowe | Wrigley Field HR factor 1.05 | Wind 10 mph W -- crosswind, minor effect | No-HR inverse support: P(no HR) 12.6% | - |
| Strong HR Environment | Boston Red Sox @ Detroit Tigers | 100 | 86.1% | -621 | Dillon Dingler, Wilyer Abreu, Spencer Torkelson, Willson Contreras | Comerica Park HR factor 0.91 | No-HR inverse support: P(no HR) 13.9% | - |
| Watchlist | Baltimore Orioles @ Miami Marlins | 100 | 85.5% | -590 | Liam Hicks, Gunnar Henderson, Pete Alonso, Jeremiah Jackson | loanDepot park HR factor 0.88 | - |
| Watchlist | Pittsburgh Pirates @ Arizona Diamondbacks | 100 | 84.7% | -552 | Brandon Lowe, Oneil Cruz, Ryan O'Hearn, Ildemaro Vargas | Chase Field HR factor 1.02 | - |
| Watchlist | New York Mets @ Colorado Rockies | 100 | 81.6% | -443 | Hunter Goodman, Juan Soto, Mickey Moniak, Mark Vientos | Coors Field HR factor 1.20 | Cold (32F) -- pitchers' grip affected, less carry | - |
| Player | Game | Odds | Edge | Why avoid |
|---|---|---|---|---|
| Jo Adell | Chicago White Sox @ Los Angeles Angels | +375 | -13.2% | Pitcher has suppressed HRs |
| Taylor Ward | Baltimore Orioles @ Miami Marlins | +550 | -13.1% | Team lineup not posted | Low season HR rate | Pitcher season stats unavailable |
| Andrew Benintendi | Chicago White Sox @ Los Angeles Angels | +550 | -11.3% | Low season HR rate | Pitcher season stats unavailable |
| Kyle Stowers | Baltimore Orioles @ Miami Marlins | +425 | -11.1% | Batter team unresolved | Batter power stats unavailable | Pitcher season stats unavailable |
| Trevor Story | Boston Red Sox @ Detroit Tigers | +600 | -10.0% | Team lineup not posted | Low season HR rate | Weak batter split vs_rhp |
| Alec Bohm | Athletics @ Philadelphia Phillies | +700 | -10.0% | Low lineup spot (8) | Low season HR rate | Elite contact-quality suppressor | Weak batter split vs_lhp |
| Brett Baty | New York Mets @ Colorado Rockies | +700 | -9.8% | Team lineup not posted | Low season HR rate | Weak batter split vs_rhp | Cold weather 32F |
| Marcell Ozuna | Pittsburgh Pirates @ Arizona Diamondbacks | +550 | -9.7% | Team lineup not posted | Weak batter split vs_rhp |
| Joc Pederson | Texas Rangers @ New York Yankees | +500 | -9.4% | Batter team unresolved | Batter power stats unavailable | Elite strikeout pitcher |
| Mike Yastrzemski | Atlanta Braves @ Seattle Mariners | +550 | -9.2% | Low lineup spot (7) | Weak batter split vs_rhp | Thin batter pitch-type sample (7 PA) |
| Game | Home SP | Away SP | Park HR | P(No HR) | P(U 1.5) | DK Implied | Edge |
|---|---|---|---|---|---|---|---|
| New York Mets @ Colorado Rockies | Michael Lorenzen | Freddy Peralta | 1.20 | 18.4% | 49.6% | 12.4% | +6.0% |
| Pittsburgh Pirates @ Arizona Diamondbacks | Michael Soroka | Paul Skenes | 1.02 | 15.3% | 44.1% | — | — |
| Baltimore Orioles @ Miami Marlins | Eury Pérez | Brandon Young | 0.88 | 14.5% | 42.5% | 11.2% | +3.3% |
| Boston Red Sox @ Detroit Tigers | Jack Flaherty | Sonny Gray | 0.91 | 13.9% | 41.3% | — | — |
| Cincinnati Reds @ Chicago Cubs | Colin Rea | Brady Singer | 1.05 | 12.6% | 38.6% | — | — |
| Texas Rangers @ New York Yankees | Will Warren | Nathan Eovaldi | 1.18 | 11.6% | 36.5% | — | — |
| Cleveland Guardians @ Kansas City Royals | Cole Ragans | Joey Cantillo | 0.93 | 10.5% | 34.1% | — | — |
| Athletics @ Philadelphia Phillies | Zack Wheeler | Jeffrey Springs | 1.10 | 9.7% | 32.4% | 8.0% | +1.8% |
| Atlanta Braves @ Seattle Mariners | Bryan Woo | Martín Pérez | 0.92 | 7.3% | 26.4% | 6.2% | +1.1% |
| Chicago White Sox @ Los Angeles Angels | Walbert Ureña | Noah Schultz | 0.98 | 6.2% | 23.4% | 5.9% | +0.3% |
| Minnesota Twins @ Washington Nationals | Miles Mikolas | Bailey Ober | 1.02 | 5.4% | 21.1% | 5.4% | +0.0% |
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. |
| Today's Slate | DraftKings reference lines for all games |
| Detail Sections | Game bets (with key factors, injury/weather notes) and NRFI — full signal detail 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 DK line (edge for game bets, DIFF% for props) | Edge ≥ threshold for the market type |
| 3 | Books Agree | DK implied direction + consensus lean % across all other books | DK 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.
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
| Factor | Status |
|---|---|
| Savant pitcher quality (xwOBA, xERA) | Integrated. SP quality in NRFI blends xFIP (60%) + xwOBA allowed (40%) when Savant data available. |
| Savant whiff% / put-away% | Integrated for K props. Primary projection driver when available (65% weight). |
| Opp pitcher contact quality for batter props | Integrated. Opposing pitcher xwOBA allowed adjusts batter projections (±up to 15%). |
| Lineup order / day-of lineup | Integrated for batter props (confirmed lineup spot + projected PA). Game-level model uses full-team season wRC+. |
| Factor | Status |
|---|---|
| Bullpen fatigue | Integrated (Session 16). Relief appearances over past 3 days tracked per team; tired pen (>2.7 RP/game avg) raises expected total via BULLPEN_WEIGHT (15%). Surfaced in Game Script check. |
| Rest days | Integrated (Session 16). Back-to-back teams receive a −1.5% win-probability penalty; well-rested teams receive a +1.0% bonus. Applied to full-game and F5 models. |
| Umpire K-rate | Integrated (Session 15). Static table of ~70 umpires with historical K/9 values. Wide-zone umps adjust K prop projections and NRFI scores up; tight-zone umps adjust down. Dampened ±12% cap. |
| Handedness / platoon splits | Integrated (Sessions 3 & 15). Opposing lineup wRC+ vs. SP hand sourced from MLB splits API. Platoon mismatch adjusts win probability ±2% per side (capped ±4% total). Surfaced in Matchup check. |
| Projection blend (regression to mean) | Integrated (Session 17). Stats regressed toward league average early in season: blend_w = IP ÷ 80 for pitchers, games ÷ 81 for teams. Prevents 5-IP ERA outliers from driving model in April. |
| Factor | Status |
|---|---|
| Batter vs. pitch-type matchup | Integrated. Savant team-vs-pitch-type xwOBA adjusts K prop projections and NRFI/YRFI scores when SP's primary pitch type is known. Opponent teams that struggle vs the SP's top pitch raise K over projections and NRFI scores. |
| Individual batter vs. pitcher H2H | Planned for a future phase. |
| Pre-season projection prior (Steamer/ZiPS) | Not integrated — projection endpoints not available. Regression-to-mean (blending toward league avg by IP) used as a practical substitute. |
| 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.