552 settled bets | 103 sized | 5+ bet threshold for grade/type breakdowns
All tracked (552 bets): -30.18 units | ROI -5.8%
Sized only (103 bets): +6.40 units | ROI +8.8%
▲ Sizing discipline: sized bets outperform all tracked bets
Grade ROIs (5+ bet threshold):
Grade A: -0.6% (106 bets)
Grade B: -7.0% (446 bets)
✓ Grade hierarchy A>B>C ordering confirmed
Bet type performance (5+ bet threshold):
Moneyline: +81.6% ROI | 6 bets | +2.85 units
F5 ML: +63.5% ROI | 11 bets | +4.44 units
Run Line: +30.0% ROI | 44 bets | +8.39 units
Batter Hits: +16.9% ROI | 12 bets | +2.03 units
Pitcher Hits Allowed: +12.8% ROI | 51 bets | +6.53 units
Pitcher Outs: +0.1% ROI | 48 bets | +0.06 units
K Prop: -8.6% ROI | 83 bets | -7.13 units
Batter H+R+RBI: -15.3% ROI | 248 bets | -37.91 units ★ HIGH VOLUME LOSER
Total: -26.9% ROI | 42 bets | -9.29 units ★ HIGH VOLUME LOSER
⚠ Red flags:
Batter H+R+RBI: 248 bets, ROI -15.3% — strongly negative
Total: 42 bets, ROI -26.9% — strongly negative
Sized only = FULL/HALF/QRTR game bets; All tracked includes unsized props.
| Group | Bets | W | L | P | Win% | AvgOdds | BE% | Net Units | ROI |
|---|---|---|---|---|---|---|---|---|---|
| All tracked | 552 | 287 | 263 | 2 | 52.2% | -106 | 51.5% | -30.18 | -5.8% |
| Sized only | 103 | 51 | 50 | 2 | 50.5% | -29 | 22.3% | +6.40 | 8.8% |
| Group | Bets | W | L | P | Win% | AvgOdds | BE% | Net Units | ROI |
|---|---|---|---|---|---|---|---|---|---|
| Run Line | 44 | 27 | 17 | 0 | 61.4% | -49 | 33.1% | +8.39 | 30.0% |
| Pitcher Hits Allowed | 51 | 33 | 18 | 0 | 64.7% | -126 | 55.8% | +6.53 | 12.8% |
| F5 ML | 11 | 6 | 5 | 0 | 54.5% | +163 | 38.1% | +4.44 | 63.5% |
| Moneyline | 6 | 3 | 3 | 0 | 50.0% | +201 | 33.2% | +2.85 | 81.6% |
| Batter Hits | 12 | 10 | 2 | 0 | 83.3% | -249 | 71.4% | +2.03 | 16.9% |
| Batter Total Bases * | 1 | 1 | 0 | 0 | 100.0% | -119 | 54.3% | +0.84 | 84.0% |
| Pitcher Outs | 48 | 25 | 23 | 0 | 52.1% | -32 | 24.5% | +0.06 | 0.1% |
| No HR U1.5 * | 1 | 0 | 1 | 0 | 0.0% | -110 | 52.4% | -1.00 | -100.0% |
| K Prop | 83 | 44 | 39 | 0 | 53.0% | -130 | 56.5% | -7.13 | -8.6% |
| Total | 42 | 15 | 25 | 2 | 37.5% | -90 | 47.3% | -9.29 | -26.9% |
| Batter H+R+RBI | 248 | 120 | 128 | 0 | 48.4% | -134 | 57.2% | -37.91 | -15.3% |
| NRFI * | 3 | 1 | 2 | 0 | 33.3% | — | — | — | — |
| YRFI * | 2 | 2 | 0 | 0 | 100.0% | — | — | — | — |
| Group | Bets | W | L | P | Win% | AvgOdds | BE% | Net Units | ROI |
|---|---|---|---|---|---|---|---|---|---|
| Run Line | 44 | 27 | 17 | 0 | 61.4% | -49 | 33.1% | +8.39 | 30.0% |
| F5 ML | 11 | 6 | 5 | 0 | 54.5% | +163 | 38.1% | +4.44 | 63.5% |
| Moneyline | 6 | 3 | 3 | 0 | 50.0% | +201 | 33.2% | +2.85 | 81.6% |
| Total | 42 | 15 | 25 | 2 | 37.5% | -90 | 47.3% | -9.29 | -26.9% |
| Group | Bets | W | L | P | Win% | AvgOdds | BE% | Net Units | ROI |
|---|---|---|---|---|---|---|---|---|---|
| Batter H+R+RBI | A | 44 | 21 | 23 | 0 | 47.7% | -137 | 57.8% | -7.81 | -17.7% |
| Batter H+R+RBI | B | 204 | 99 | 105 | 0 | 48.5% | -133 | 57.1% | -30.10 | -14.8% |
| Batter Hits | B | 12 | 10 | 2 | 0 | 83.3% | -249 | 71.4% | +2.03 | 16.9% |
| Batter Total Bases | B * | 1 | 1 | 0 | 0 | 100.0% | -119 | 54.3% | +0.84 | 84.0% |
| F5 ML | B | 11 | 6 | 5 | 0 | 54.5% | +163 | 38.1% | +4.44 | 63.5% |
| K Prop | A | 32 | 18 | 14 | 0 | 56.2% | -138 | 58.0% | -1.07 | -3.3% |
| K Prop | B | 51 | 26 | 25 | 0 | 51.0% | -125 | 55.5% | -6.06 | -11.9% |
| Moneyline | B | 6 | 3 | 3 | 0 | 50.0% | +201 | 33.2% | +2.85 | 81.6% |
| NRFI | B * | 3 | 1 | 2 | 0 | 33.3% | — | — | — | — |
| No HR U1.5 | B * | 1 | 0 | 1 | 0 | 0.0% | -110 | 52.4% | -1.00 | -100.0% |
| Pitcher Hits Allowed | B | 51 | 33 | 18 | 0 | 64.7% | -126 | 55.8% | +6.53 | 12.8% |
| Pitcher Outs | A * | 1 | 0 | 1 | 0 | 0.0% | -143 | 58.8% | -1.00 | -100.0% |
| Pitcher Outs | B | 47 | 25 | 22 | 0 | 53.2% | -30 | 23.2% | +1.06 | 2.3% |
| Run Line | A | 28 | 20 | 8 | 0 | 71.4% | -42 | 29.6% | +8.85 | 45.4% |
| Run Line | B | 16 | 7 | 9 | 0 | 43.8% | -63 | 38.5% | -0.46 | -5.4% |
| Total | A * | 1 | 1 | 0 | 0 | 100.0% | -101 | 50.2% | +0.49 | 99.0% |
| Total | B | 41 | 14 | 25 | 2 | 35.9% | -90 | 47.2% | -9.78 | -28.8% |
| YRFI | B * | 2 | 2 | 0 | 0 | 100.0% | — | — | — | — |
| Group | Bets | W | L | P | Win% | AvgOdds | BE% | Net Units | ROI |
|---|---|---|---|---|---|---|---|---|---|
| F5 ML | B | 11 | 6 | 5 | 0 | 54.5% | +163 | 38.1% | +4.44 | 63.5% |
| Moneyline | B | 6 | 3 | 3 | 0 | 50.0% | +201 | 33.2% | +2.85 | 81.6% |
| Run Line | A | 28 | 20 | 8 | 0 | 71.4% | -42 | 29.6% | +8.85 | 45.4% |
| Run Line | B | 16 | 7 | 9 | 0 | 43.8% | -63 | 38.5% | -0.46 | -5.4% |
| Total | A * | 1 | 1 | 0 | 0 | 100.0% | -101 | 50.2% | +0.49 | 99.0% |
| Total | B | 41 | 14 | 25 | 2 | 35.9% | -90 | 47.2% | -9.78 | -28.8% |
| Group | Bets | W | L | P | Win% | AvgOdds | BE% | Net Units | ROI |
|---|---|---|---|---|---|---|---|---|---|
| ≤ -150 | 95 | 59 | 36 | 0 | 62.1% | -170 | 63.0% | -1.31 | -1.4% |
| -149 to -125 | 218 | 113 | 105 | 0 | 51.8% | -136 | 57.6% | -21.67 | -10.3% |
| -124 to -105 | 161 | 76 | 83 | 2 | 47.8% | -116 | 53.7% | -14.46 | -9.7% |
| -104 to +104 | 27 | 12 | 15 | 0 | 44.4% | -12 | 10.4% | -4.53 | -17.8% |
| +105 to +124 | 21 | 11 | 10 | 0 | 52.4% | +114 | 46.6% | +2.34 | 12.3% |
| +125 to +149 | 9 | 3 | 6 | 0 | 33.3% | +139 | 41.9% | -0.96 | -13.6% |
| ≥ +150 | 16 | 10 | 6 | 0 | 62.5% | +184 | 35.1% | +10.42 | 90.6% |
| Group | Bets | W | L | P | Win% | AvgOdds | BE% | Net Units | ROI |
|---|---|---|---|---|---|---|---|---|---|
| A | ≤ -150 | 16 | 10 | 6 | 0 | 62.5% | -156 | 60.9% | +0.43 | 2.7% |
| A | -149 to -125 | 58 | 32 | 26 | 0 | 55.2% | -136 | 57.6% | -3.14 | -5.9% |
| A | -124 to -105 | 22 | 11 | 11 | 0 | 50.0% | -118 | 54.1% | -2.64 | -14.3% |
| A | -104 to +104 * | 3 | 2 | 1 | 0 | 66.7% | +34 | 74.8% | +0.49 | 19.8% |
| A | +105 to +124 * | 1 | 1 | 0 | 0 | 100.0% | +113 | 46.9% | +1.13 | 113.0% |
| A | +125 to +149 * | 3 | 2 | 1 | 0 | 66.7% | +141 | 41.5% | +1.82 | 60.7% |
| A | ≥ +150 * | 3 | 2 | 1 | 0 | 66.7% | +157 | 38.9% | +1.38 | 55.0% |
| B | ≤ -150 | 79 | 49 | 30 | 0 | 62.0% | -173 | 63.4% | -1.74 | -2.2% |
| B | -149 to -125 | 160 | 81 | 79 | 0 | 50.6% | -136 | 57.6% | -18.53 | -11.9% |
| B | -124 to -105 | 139 | 65 | 72 | 2 | 47.4% | -115 | 53.6% | -11.82 | -9.0% |
| B | -104 to +104 | 24 | 10 | 14 | 0 | 41.7% | -17 | 14.8% | -5.03 | -21.9% |
| B | +105 to +124 | 20 | 10 | 10 | 0 | 50.0% | +115 | 46.6% | +1.21 | 6.7% |
| B | +125 to +149 | 6 | 1 | 5 | 0 | 16.7% | +138 | 42.1% | -2.77 | -69.4% |
| B | ≥ +150 | 13 | 8 | 5 | 0 | 61.5% | +191 | 34.4% | +9.04 | 100.5% |
| Group | Bets | W | L | P | Win% | AvgOdds | BE% | Net Units | ROI |
|---|---|---|---|---|---|---|---|---|---|
| Batter H+R+RBI | ≤ -150 | 45 | 23 | 22 | 0 | 51.1% | -158 | 61.2% | -7.51 | -16.7% |
| Batter H+R+RBI | -149 to -125 | 127 | 63 | 64 | 0 | 49.6% | -135 | 57.5% | -17.18 | -13.5% |
| Batter H+R+RBI | -124 to -105 | 74 | 34 | 40 | 0 | 45.9% | -117 | 54.0% | -11.22 | -15.2% |
| Batter H+R+RBI | -104 to +104 * | 2 | 0 | 2 | 0 | 0.0% | -104 | 50.9% | -2.00 | -100.0% |
| Batter Hits | ≤ -150 | 12 | 10 | 2 | 0 | 83.3% | -249 | 71.4% | +2.03 | 16.9% |
| Batter Total Bases | -124 to -105 * | 1 | 1 | 0 | 0 | 100.0% | -119 | 54.3% | +0.84 | 84.0% |
| F5 ML | +105 to +124 * | 2 | 1 | 1 | 0 | 50.0% | +124 | 44.6% | +0.12 | 12.0% |
| F5 ML | +125 to +149 * | 3 | 1 | 2 | 0 | 33.3% | +142 | 41.4% | -0.28 | -18.3% |
| F5 ML | ≥ +150 | 6 | 4 | 2 | 0 | 66.7% | +186 | 35.0% | +4.60 | 102.2% |
| K Prop | ≤ -150 | 18 | 14 | 4 | 0 | 77.8% | -155 | 60.7% | +5.03 | 27.9% |
| K Prop | -149 to -125 | 46 | 23 | 23 | 0 | 50.0% | -136 | 57.7% | -6.08 | -13.2% |
| K Prop | -124 to -105 | 17 | 7 | 10 | 0 | 41.2% | -118 | 54.0% | -4.08 | -24.0% |
| K Prop | +105 to +124 * | 1 | 0 | 1 | 0 | 0.0% | +121 | 45.2% | -1.00 | -100.0% |
| K Prop | +125 to +149 * | 1 | 0 | 1 | 0 | 0.0% | +129 | 43.7% | -1.00 | -100.0% |
| Moneyline | ≥ +150 | 6 | 3 | 3 | 0 | 50.0% | +201 | 33.2% | +2.85 | 81.6% |
| No HR U1.5 | -124 to -105 * | 1 | 0 | 1 | 0 | 0.0% | -110 | 52.4% | -1.00 | -100.0% |
| Pitcher Hits Allowed | ≤ -150 | 17 | 10 | 7 | 0 | 58.8% | -163 | 62.0% | -0.94 | -5.5% |
| Pitcher Hits Allowed | -149 to -125 | 19 | 13 | 6 | 0 | 68.4% | -138 | 57.9% | +3.52 | 18.5% |
| Pitcher Hits Allowed | -124 to -105 | 11 | 9 | 2 | 0 | 81.8% | -115 | 53.6% | +5.87 | 53.3% |
| Pitcher Hits Allowed | -104 to +104 * | 2 | 0 | 2 | 0 | 0.0% | +2 | 98.5% | -2.00 | -100.0% |
| Pitcher Hits Allowed | +105 to +124 * | 2 | 1 | 1 | 0 | 50.0% | +110 | 47.7% | +0.08 | 4.0% |
| Pitcher Outs | ≤ -150 * | 3 | 2 | 1 | 0 | 66.7% | -179 | 64.2% | +0.08 | 2.7% |
| Pitcher Outs | -149 to -125 | 9 | 4 | 5 | 0 | 44.4% | -139 | 58.2% | -2.10 | -23.3% |
| Pitcher Outs | -124 to -105 | 12 | 7 | 5 | 0 | 58.3% | -114 | 53.4% | +1.10 | 9.2% |
| Pitcher Outs | -104 to +104 | 10 | 5 | 5 | 0 | 50.0% | -0 | 0.4% | +0.01 | 0.1% |
| Pitcher Outs | +105 to +124 | 13 | 7 | 6 | 0 | 53.8% | +114 | 46.7% | +1.96 | 15.1% |
| Pitcher Outs | +125 to +149 * | 1 | 0 | 1 | 0 | 0.0% | +128 | 43.9% | -1.00 | -100.0% |
| Run Line | -149 to -125 | 17 | 10 | 7 | 0 | 58.8% | -135 | 57.4% | +0.16 | 1.9% |
| Run Line | -124 to -105 | 14 | 9 | 5 | 0 | 64.3% | -116 | 53.6% | +2.76 | 32.5% |
| Run Line | -104 to +104 * | 2 | 1 | 1 | 0 | 50.0% | +101 | 49.8% | +0.00 | 0.0% |
| Run Line | +105 to +124 * | 3 | 2 | 1 | 0 | 66.7% | +112 | 47.2% | +1.17 | 58.7% |
| Run Line | +125 to +149 * | 4 | 2 | 2 | 0 | 50.0% | +142 | 41.4% | +1.32 | 37.7% |
| Run Line | ≥ +150 * | 4 | 3 | 1 | 0 | 75.0% | +158 | 38.8% | +2.96 | 84.7% |
| Total | -124 to -105 | 31 | 9 | 20 | 2 | 31.0% | -112 | 52.8% | -8.74 | -35.0% |
| Total | -104 to +104 | 11 | 6 | 5 | 0 | 54.5% | -28 | 21.9% | -0.55 | -5.7% |
Props are always unsized. This section is unaffected by --sized-only.
| Group | Bets | W | L | P | Win% | AvgOdds | BE% | Net Units | ROI |
|---|---|---|---|---|---|---|---|---|---|
| Game bets (ML/RL/Total/F5) | 104 | 51 | 51 | 2 | 50.0% | -29 | 22.8% | +5.40 | 7.3% |
| All props combined | 448 | 236 | 212 | 0 | 52.7% | -124 | 55.4% | -35.58 | -7.9% |
| Group | Bets | W | L | P | Win% | AvgOdds | BE% | Net Units | ROI |
|---|---|---|---|---|---|---|---|---|---|
| Pitcher Hits Allowed | 51 | 33 | 18 | 0 | 64.7% | -126 | 55.8% | +6.53 | 12.8% |
| Batter Hits | 12 | 10 | 2 | 0 | 83.3% | -249 | 71.4% | +2.03 | 16.9% |
| Batter Total Bases * | 1 | 1 | 0 | 0 | 100.0% | -119 | 54.3% | +0.84 | 84.0% |
| Pitcher Outs | 48 | 25 | 23 | 0 | 52.1% | -32 | 24.5% | +0.06 | 0.1% |
| K Prop | 83 | 44 | 39 | 0 | 53.0% | -130 | 56.5% | -7.13 | -8.6% |
| Batter H+R+RBI | 248 | 120 | 128 | 0 | 48.4% | -134 | 57.2% | -37.91 | -15.3% |
| NRFI * | 3 | 1 | 2 | 0 | 33.3% | — | — | — | — |
| YRFI * | 2 | 2 | 0 | 0 | 100.0% | — | — | — | — |
Grades only populate from the run that fixed the tracker bug onward.
| Group | Bets | W | L | P | Win% | AvgOdds | BE% | Net Units | ROI |
|---|---|---|---|---|---|---|---|---|---|
| Batter H+R+RBI | A | 44 | 21 | 23 | 0 | 47.7% | -137 | 57.8% | -7.81 | -17.7% |
| Batter H+R+RBI | B | 204 | 99 | 105 | 0 | 48.5% | -133 | 57.1% | -30.10 | -14.8% |
| Batter Hits | B | 12 | 10 | 2 | 0 | 83.3% | -249 | 71.4% | +2.03 | 16.9% |
| Batter Total Bases | B * | 1 | 1 | 0 | 0 | 100.0% | -119 | 54.3% | +0.84 | 84.0% |
| K Prop | A | 32 | 18 | 14 | 0 | 56.2% | -138 | 58.0% | -1.07 | -3.3% |
| K Prop | B | 51 | 26 | 25 | 0 | 51.0% | -125 | 55.5% | -6.06 | -11.9% |
| NRFI | B * | 3 | 1 | 2 | 0 | 33.3% | — | — | — | — |
| Pitcher Hits Allowed | B | 51 | 33 | 18 | 0 | 64.7% | -126 | 55.8% | +6.53 | 12.8% |
| Pitcher Outs | A * | 1 | 0 | 1 | 0 | 0.0% | -143 | 58.8% | -1.00 | -100.0% |
| Pitcher Outs | B | 47 | 25 | 22 | 0 | 53.2% | -30 | 23.2% | +1.06 | 2.3% |
| YRFI | B * | 2 | 2 | 0 | 0 | 100.0% | — | — | — | — |
Reference guide for all columns, grades, sizing values, odds bands, and section descriptions used in this report.
| Column | Description |
|---|---|
| Bets | Number of settled bets in the bucket (result ≠ blank) |
| W / L / P | Wins, Losses, Pushes |
| Win% | Wins ÷ (Wins + Losses) — pushes excluded from denominator |
| AvgOdds | Mean American odds across all bets in the bucket |
| BE% | Break-even win rate implied by AvgOdds: 100/(100+odds) for + odds; |odds|/(|odds|+100) for − odds |
| Net Units | Sum of profit_loss_units across all bets; positive = profitable |
| ROI% | Net Units ÷ Total Units Risked × 100. Sized bets use actual sizing (FULL=1.0, HALF=0.5, QRTR=0.25); unsized bets treated as 1.0 unit risked. |
| * | Caution flag: bucket has fewer bets than the --min-sample threshold. Results may be noise. |
| Grade | Score Threshold | Conditions | Recommendation |
|---|---|---|---|
| A | ≥ 10 pts | 0 FAILs, 0 WARNs, 0 risk flags, no contradiction | BEST_PLAY |
| B | ≥ 8 pts | 0 FAILs — or Grade A capped by a WARN, risk flag, or ⚡ contradiction | GOOD_ADD |
| C | ≥ 4 pts | Including B capped by ⚡ contradiction, or Books Agree FAIL | PASS |
| D | ≥ 2 pts | Including Model Edge hard-FAIL override | PASS |
| F | < 2 pts | Negative or near-zero edge across checks | HARD_FADE |
Hard overrides: a Model Edge FAIL caps the grade at D regardless of other checks. A Books Agree FAIL caps at C (or D if model edge is also weak). C and D both map to PASS in v2_rec — Grade is strictly more informative for performance analysis.
| Check | Name | What it evaluates |
|---|---|---|
| 1 | Baby Line | Is the line large enough to bet? Very low lines (e.g., HR at 0.5) fail — the juice exceeds any realistic edge. |
| 2 | Model Edge | Does our model project positive expected value vs the posted line? Primary scoring signal. FAIL hard-caps grade at D. |
| 3 | Books Agree | Do ≥ 3 non-DK consensus books lean our direction? Requires ≥ 2 books to be actionable; ≥ 3 for A/B eligibility. FAIL caps grade at C/D. |
| 4 | Matchup | Context factors: pitcher handedness vs opposing lineup wRC+, park factors, platoon splits, head-to-head history. |
| 5 | Role / Injury | Is the pitcher confirmed as the starter? Are there injury designations or lineup changes that undermine the bet premise? |
| 6 | Game Script | Total-line alignment, weather, bullpen depth, and any flags that could affect scoring pace or game environment. |
Each check returns PASS (+2 pts), WARN (0–+1 pts, may cap grade), FAIL (−2 pts), or N/A (0 pts, not applicable for this bet type). A ⭐ Top Pick badge requires Grade A + 100% consensus across ≥ 3 books + raw model edge ≥ 1.5 units above the line. A ⚡ contradiction flag is set when NRFI + Over (or YRFI + Under) are both Grade A/B in the same game — a logical conflict. Contradicted plays are demoted one grade tier.
| Sizing | Units Risked | Included in "Sized Only"? |
|---|---|---|
| FULL | 1.00 | Yes |
| HALF | 0.50 | Yes |
| QRTR | 0.25 | Yes |
| (blank) | 1.00 (implicit) | No — unsized |
Props are always unsized and will not appear in sections A–F when --sized-only is active. Section H always shows full prop data regardless of the --sized-only flag.
| Band | American Odds Range |
|---|---|
| ≤ −150 | Heavy favorites — high implied probability, low payout |
| −149 to −125 | Moderate favorites |
| −124 to −105 | Slight favorites |
| −104 to +104 | Near pick-em |
| +105 to +124 | Slight underdogs |
| +125 to +149 | Moderate underdogs |
| ≥ +150 | Heavy underdogs — low implied probability, high payout |
| Section | What it answers |
|---|---|
| A — Headline Summary | Overall model performance: all tracked bets vs. sized-only bets side by side. |
| B — Bet Type | Performance split by bet type (NRFI, ML, Run Line, K prop, etc.), both all tracked and sized only. |
| C — Bet Type × Grade | Within each bet type, how each grade tier performs. Reveals whether A plays are actually better than B plays. |
| D — Odds Band Summary | Performance across price buckets. Reveals if edge is concentrated at certain prices. |
| E — Grade × Odds Band | Do A plays outperform at all prices, or only in a specific range? |
| F — Bet Type × Odds Band | Are certain markets only working at certain prices? |
| H1 — Game Bets vs Props | Side-by-side headline for game bets vs all props combined. Always shows full data — unaffected by --sized-only. |
| H2 — Prop Type Breakdown | Per-prop-type performance (K Props, H+R+RBI, Pitcher Outs, etc.) across all settled bets. |
| H3 — Prop Type × Grade | Within each prop type, how grade tiers compare. Use to validate that A props genuinely outperform B/C props. |