The Scorecard.
How the record is counted
Headline numbers count only the plays Bet Data Labs tells you to bet, sized the way it tells you to bet them. PRESS is 2u, STRONG is 1u, LEAN is a half unit. WATCH and PASS are track-only, so they risk 0u and never move the record. ROI = staked net units / staked risk.
Raw published sample (every card, flat 1u, no weighting): 16137 cards, -712.73u, -4.7% ROI. CLV = how much better the price we published was than that same line's closing price at the book. Beating the close is the leading indicator the record is skill, not variance. We only count CLV against a real market price. When a card has no Kalshi or Polymarket market, its anchor is Bet Data Labs' own baseline, and our model agreeing with our model is not closing line value, so it is not scored as any.
Cumulative +1.93u
Model honesty
369842 graded cards over 56 daysEvery settled card, bucketed by the win probability the model published. A dot on the diagonal means plays predicted at that level hit at that level. Above the line the model under-called, below it over-called. Markets with 30+ graded plays feed their gap back into card scoring, so the board corrects itself as evidence accrues. Each market is split by side, because an over and an under are priced off the same centre in opposite directions: a centre that sits too high overstates one by as much as it understates the other, and a pooled number averages both away.
| Market | Side | Graded | Predicted | Actual | Correction |
|---|---|---|---|---|---|
| MLB hits | both | 47754-34214 | 62% | 58% | -4.0pp (unused) |
| ↳ | over | 35684-23224 | 64% | 61% | -3.0pp |
| ↳ | under | 12070-10990 | 59% | 52% | -6.7pp |
| NHL hockey points | both | 20838-18038 | 59% | 54% | -5.3pp (unused) |
| ↳ | over | 12535-12151 | 61% | 51% | -8.0pp capped |
| ↳ | under | 8303-5887 | 56% | 59% | +2.3pp |
| NHL hockey assists | both | 22665-15932 | 60% | 59% | -1.1pp (unused) |
| ↳ | over | 5403-8104 | 59% | 40% | -7.9pp capped |
| ↳ | under | 17262-7828 | 60% | 69% | +8.0pp capped |
| NHL shots on goal | both | 18673-16613 | 59% | 53% | -6.3pp (unused) |
| ↳ | over | 11944-10869 | 60% | 52% | -8.0pp capped |
| ↳ | under | 6729-5744 | 57% | 54% | -3.1pp |
| MLB home runs | both | 26232-5143 | 69% | 84% | +8.0pp (unused) |
| ↳ | over | 366-1712 | 55% | 18% | -7.6pp capped |
| ↳ | under | 25866-3431 | 70% | 88% | +8.0pp capped |
| NHL goals | both | 15767-8180 | 62% | 66% | +3.5pp (unused) |
| ↳ | over | 1518-3336 | 57% | 31% | -7.8pp capped |
| ↳ | under | 14249-4844 | 64% | 75% | +7.9pp capped |
| NBA points | both | 7246-7080 | 58% | 51% | -7.8pp (unused) |
| ↳ | over | 3844-3863 | 58% | 50% | -7.9pp capped |
| ↳ | under | 3402-3217 | 58% | 51% | -6.9pp |
| NBA rebounds | both | 7034-6495 | 58% | 52% | -5.9pp (unused) |
| ↳ | over | 2308-2215 | 56% | 51% | -4.9pp |
| ↳ | under | 4726-4280 | 59% | 52% | -6.3pp |
Show all 43 markets
| NBA threes made | both | 6146-5142 | 58% | 54% | -4.0pp (unused) |
| ↳ | over | 2806-2674 | 58% | 51% | -7.1pp |
| ↳ | under | 3340-2468 | 59% | 58% | -1.1pp |
| NBA assists | both | 5889-5220 | 58% | 53% | -4.8pp (unused) |
| ↳ | over | 3166-3001 | 58% | 51% | -6.8pp |
| ↳ | under | 2723-2219 | 57% | 55% | -2.2pp |
| NFL anytime td | both | 2141-7586 | 20% | 22% | +2.5pp |
| MLB pitcher ks | both | 4050-3959 | 59% | 51% | -7.9pp (unused) |
| ↳ | over | 1305-1278 | 57% | 51% | -6.1pp |
| ↳ | under | 2745-2681 | 60% | 51% | -7.8pp capped |
| MLB pitcher outs | both | 3398-3325 | 58% | 51% | -7.1pp (unused) |
| ↳ | over | 1143-1070 | 56% | 52% | -4.0pp |
| ↳ | under | 2255-2255 | 59% | 50% | -7.8pp capped |
| NFL receiving yards | both | 2894-2994 | 57% | 49% | -7.8pp (unused) |
| ↳ | over | 2089-2153 | 58% | 49% | -7.8pp capped |
| ↳ | under | 805-841 | 56% | 49% | -6.7pp |
| WNBA points | both | 2807-2778 | 58% | 50% | -7.1pp (unused) |
| ↳ | over | 1537-1614 | 58% | 49% | -7.7pp capped |
| ↳ | under | 1270-1164 | 57% | 53% | -4.5pp |
| NFL receptions | both | 2935-2595 | 58% | 53% | -4.8pp (unused) |
| ↳ | over | 1394-1379 | 58% | 50% | -7.7pp capped |
| ↳ | under | 1541-1216 | 57% | 56% | -1.5pp |
| NBA steals | both | 2809-2155 | 60% | 57% | -3.3pp (unused) |
| ↳ | over | 1524-1364 | 61% | 53% | -7.7pp capped |
| ↳ | under | 1285-791 | 59% | 62% | +3.1pp |
| WNBA rebounds | both | 2487-2217 | 58% | 53% | -5.0pp (unused) |
| ↳ | over | 718-732 | 55% | 50% | -5.4pp |
| ↳ | under | 1769-1485 | 59% | 54% | -4.8pp |
| WNBA threes made | both | 1869-1517 | 59% | 55% | -3.1pp (unused) |
| ↳ | over | 841-830 | 59% | 50% | -7.5pp capped |
| ↳ | under | 1028-687 | 58% | 60% | +1.9pp |
| WNBA assists | both | 1628-1479 | 58% | 53% | -4.9pp (unused) |
| ↳ | over | 854-856 | 58% | 50% | -7.5pp capped |
| ↳ | under | 774-623 | 58% | 56% | -1.6pp |
| NBA blocks | both | 1676-1321 | 59% | 56% | -3.3pp (unused) |
| ↳ | over | 806-837 | 60% | 49% | -7.5pp capped |
| ↳ | under | 870-484 | 58% | 64% | +6.3pp |
| NFL rushing yards | both | 1450-1404 | 58% | 51% | -6.6pp (unused) |
| ↳ | over | 913-951 | 58% | 49% | -7.5pp capped |
| ↳ | under | 537-453 | 57% | 54% | -2.9pp |
| MLB total bases | both | 1348-1335 | 55% | 53% | -1.5pp (unused) |
| ↳ | over | 721-949 | 53% | 44% | -6.7pp capped |
| ↳ | under | 627-386 | 57% | 65% | +6.4pp capped |
| NFL passing yards | both | 501-532 | 59% | 49% | -7.2pp (unused) |
| ↳ | over | 237-247 | 57% | 49% | -6.5pp capped |
| ↳ | under | 264-285 | 61% | 48% | -6.7pp capped |
| MLB spread | both | 219-274 | 42% | 41% | display only |
| WNBA pr | both | 134-124 | 52% | 53% | +0.8pp |
| ↳ | over | 88-71 | 52% | 56% | +2.2pp |
| ↳ | under | 46-53 | 51% | 48% | display only |
| WNBA pra | both | 123-118 | 52% | 50% | -1.3pp |
| ↳ | over | 83-66 | 52% | 53% | +0.6pp |
| ↳ | under | 40-52 | 51% | 45% | display only |
| WNBA pa | both | 131-99 | 52% | 60% | +4.9pp capped |
| ↳ | over | 89-55 | 52% | 60% | +4.3pp capped |
| ↳ | under | 42-44 | 51% | 59% | display only |
| WNBA ra | both | 105-79 | 52% | 54% | +1.4pp |
| ↳ | over | 61-42 | 52% | 51% | display only |
| ↳ | under | 44-37 | 51% | 56% | +2.5pp |
| MLB walks | both | 91-69 | 60% | 57% | -2.4pp (unused) |
| ↳ | over | 9-30 | 39% | 23% | -4.4pp capped |
| ↳ | under | 82-39 | 66% | 68% | +1.3pp |
| MLB hrrbi | both | 81-59 | 55% | 58% | +2.8pp (unused) |
| ↳ | over | 55-47 | 54% | 54% | -0.3pp |
| ↳ | under | 26-12 | 55% | 68% | +4.4pp capped |
| MLB rbis | both | 86-54 | 57% | 61% | +3.9pp (unused) |
| ↳ | over | 16-28 | 34% | 36% | +1.4pp |
| ↳ | under | 70-26 | 67% | 73% | +4.5pp |
| MLB runs | both | 77-62 | 55% | 55% | +0.6pp (unused) |
| ↳ | over | 21-32 | 44% | 40% | -2.7pp |
| ↳ | under | 56-30 | 62% | 65% | +2.8pp |
| WNBA spread | both | 43-36 | 45% | 56% | display only |
| MLB moneyline | both | 43-25 | 63% | 59% | display only |
| NHL spread | both | 21-32 | 45% | 40% | display only |
| NBA turnovers | both | 31-19 | 60% | 62% | display only |
| ↳ | over | 10-8 | 58% | 56% | display only |
| ↳ | under | 21-11 | 61% | 66% | display only |
| MLB game total | both | 19-14 | 54% | 56% | display only |
| ↳ | over | 19-14 | 54% | 56% | display only |
| WNBA moneyline | both | 14-5 | 73% | 75% | display only |
| MLB pitcher er | both | 9-6 | 54% | 60% | display only |
| ↳ | over | 8-5 | 54% | 62% | display only |
| MLB pitcher hits allowed | both | 7-8 | 55% | 47% | display only |
| ↳ | over | 6-5 | 55% | 55% | display only |
| MLB pitcher walks | both | 10-2 | 61% | 83% | display only |
| ↳ | over | 5-2 | 61% | 71% | display only |
| ↳ | under | 5-0 | 61% | 100% | display only |
| SOCCER moneyline | both | 4-8 | 33% | 33% | display only |
63 buckets currently correcting published win probs, shrunk by sample size and capped. The cap scales with evidence (3 points at the sample gate, widening toward 8 as a market accrues settled cards), so a market that has watched thousands of plays may move a card further than one that has watched forty. A row marked capped wants to move further than its own sample has earned. A card scores off its own side when that side has the sample, and off the pooled market when it does not. Team markets stay display-only: their probabilities come from external anchors, not our projection model.
Best tier PRESS +13.5 pts
Wins / decided (pushes, voids and pending excluded). Bars are hit rate. The tick on each bar is the rate that tier's own prices need, so green means it beat what it paid, not that it beat a coin flip.
Best tier WATCH +1.19%
How much better our published price was than that line's closing price, on average, per tier. Positive = we beat the close. Grouped over all graded cards whose entry and close sat on the same line.
Avg +0.15% ▼ -0.27%
Daily average of how much better our published price was than that same line's closing price at the book. The arrow compares the recent third of days to the earliest third. Up means we are getting our number earlier.
- Recommended Bets
- A bet we are actually making, at a price we have named in advance.
- Hit Rate
- The share of bets that won, out of the ones that have already been settled.
- Units
- A standard bet size, so results compare cleanly no matter what anyone actually stakes.
- CLV
- How much better the price we published was than the closing price at the same sportsbook.
By Tier
| Tier | Stake | Bets | Units | ROI |
|---|---|---|---|---|
| ||||
| PRESS | 2u | 11 | +4.6u | +20.7% |
| STRONG | 1u | 93 | +4.0u | +4.7% |
| LEAN | 0.5u | 346 | +2.9u | +1.8% |
| WATCH | skip | 2693 | 0.0u | - |
| PASS | skip | 12994 | 0.0u | - |
By Sport
| Sport | W-L | Hit / Needs | Units | ROI |
|---|---|---|---|---|
| MLB | 119-50 | 70% / 60% | +22.6u | +17.3% |
| WNBA | 7-3 | 70% / 61% | +1.0u | +17.3% |
| NFL | 13-13 | 50% / 57% | -2.3u | -15.4% |
| NHL | 130-75 | 63% / 69% | -11.9u | -10.5% |
| SOCCERthin | 4-3 | 57% / 39% | +2.2u | +62.4% |
Hit / Needs is this row's win rate against the win rate its own prices demand. Green means it cleared the price it was taken at. Rows under 10 decided plays are dimmed and ranked last. Too small a sample to trust the ROI.
By Market
| Market | W-L | Hit / Needs | Units | ROI |
|---|---|---|---|---|
| Total Bases | 79-25 | 76% / 63% | +14.0u | +17.0% |
| Run Line | 17-10 | 63% / 52% | +6.6u | +31.6% |
| Moneyline | 16-8 | 67% / 54% | +3.2u | +15.9% |
| Goals | 64-20 | 76% / 73% | +1.7u | +4.0% |
| Spread | 26-18 | 59% / 64% | -4.6u | -14.0% |
| Assists | 41-37 | 53% / 67% | -8.8u | -22.6% |
| Moneyline (3-way)thin | 2-1 | 67% / 30% | +2.3u | +151.7% |
| Hits + Runs + RBIsthin | 7-1 | 88% / 60% | +1.7u | +43.2% |
| Reb + Astthin | 2-0 | 100% / 58% | +1.1u | +73.5% |
| Kicking Pointsthin | 2-0 | 100% / 53% | +1.0u | +67.3% |
| 3-PT Madethin | 4-1 | 80% / 68% | +0.4u | +17.1% |
| Game Totalthin | 2-1 | 67% / 52% | +0.4u | +27.3% |
| Passing TDsthin | 5-3 | 63% / 63% | +0.4u | +8.2% |
| Reboundsthin | 1-1 | 50% / 56% | -0.1u | -7.6% |
| Rush Attemptsthin | 1-1 | 50% / 54% | -0.1u | -11.2% |
| Receptionsthin | 0-1 | 0% / 60% | -0.5u | -100.0% |
| Drawthin | 0-1 | 0% / 25% | -0.5u | -100.0% |
| Shots on Goalthin | 1-2 | 33% / 65% | -0.7u | -48.9% |
| Pointsthin | 0-2 | 0% / 58% | -1.0u | -100.0% |
| Tackles + Assiststhin | 3-5 | 38% / 55% | -2.0u | -44.1% |
| Strikeoutsthin | 0-6 | 0% / 54% | -3.0u | -100.0% |
Hit / Needs is this row's win rate against the win rate its own prices demand. Green means it cleared the price it was taken at. Rows under 10 decided plays are dimmed and ranked last. Too small a sample to trust the ROI.
Recent grades
| Date | Rec Bets | W-L-P | Units (staked) | ROI | Avg CLV |
|---|---|---|---|---|---|
| 2026-10-14 | 40 | 12-6-0 | +0.56u | +4.5% | -0.17 pts |
| 2026-10-13 | 43 | 33-9-0 | +4.19u | +16.8% | -0.37 pts |
| 2026-10-12 | 46 | 32-13-0 | +3.31u | +12.5% | +0.23 pts |
| 2026-10-11 | 27 | 17-9-1 | +0.28u | +1.9% | -0.39 pts |
| 2026-10-10 | 55 | 30-23-1 | -3.75u | -11.9% | +1.56 pts |
| 2026-10-09 | 29 | 21-7-0 | +1.34u | +7.9% | -0.19 pts |
| 2026-10-08 | 35 | 24-11-0 | -3.16u | -15.1% | +0.10 pts |
| 2026-10-07 | 53 | 35-17-0 | +0.02u | +0.1% | +0.11 pts |
| 2026-10-06 | 39 | 22-16-0 | -1.02u | -3.9% | -0.20 pts |
| 2026-10-05 | 7 | 3-3-0 | -1.62u | -29.4% | -0.20 pts |
| 2026-09-26 | 1 | 0-1-0 | -0.50u | -100.0% | n/a |
| 2026-09-25 | 1 | 1-0-0 | +0.45u | +90.9% | n/a |
| 2026-09-20 | 1 | 1-0-0 | +0.45u | +90.9% | n/a |
| 2026-09-19 | 1 | 1-0-0 | +0.45u | +90.9% | n/a |
| 2026-09-18 | 1 | 1-0-0 | +0.45u | +90.9% | n/a |
| 2026-09-17 | 1 | 1-0-0 | +0.45u | +90.9% | n/a |
| 2026-09-10 | 1 | 1-0-0 | +0.45u | +90.9% | n/a |
| 2026-09-09 | 1 | 1-0-0 | +0.45u | +90.9% | n/a |
| 2026-09-08 | 2 | 1-1-0 | -0.05u | -4.5% | +0.00 pts |
| 2026-09-04 | 1 | 1-0-0 | +0.45u | +90.9% | n/a |
| 2026-09-03 | 1 | 0-1-0 | -0.50u | -100.0% | +0.00 pts |
| 2026-09-02 | 2 | 1-0-0 | +0.45u | +90.9% | +0.00 pts |
| 2026-09-01 | 5 | 1-4-0 | -1.60u | -64.0% | n/a |
| 2026-07-29 | 7 | 3-3-0 | +0.03u | +0.8% | -0.44 pts |
| 2026-07-28 | 1 | 1-0-0 | +0.68u | +136.0% | n/a |
| 2026-07-27 | 1 | 1-0-0 | +0.52u | +104.0% | n/a |
| 2026-07-26 | 2 | 2-0-0 | +2.22u | +88.6% | +0.00 pts |
| 2026-07-25 | 3 | 2-1-0 | +1.45u | +48.4% | n/a |
| 2026-07-24 | 2 | 0-2-0 | -1.00u | -100.0% | -6.88 pts |
| 2026-07-22 | 9 | 5-4-0 | -1.74u | -19.4% | n/a |
| 2026-07-20 | 1 | 0-1-0 | -0.50u | -100.0% | n/a |
| 2026-07-19 | 9 | 6-3-0 | +5.19u | +43.3% | n/a |
| 2026-07-18 | 11 | 6-5-0 | +0.85u | +14.1% | -0.96 pts |
| 2026-07-17 | 1 | 0-1-0 | -0.50u | -100.0% | n/a |
| 2026-07-15 | 2 | 1-1-0 | +0.52u | +52.5% | +0.00 pts |
| 2026-07-14 | 1 | 1-0-0 | +0.45u | +90.9% | n/a |
| 2026-07-12 | 7 | 5-2-0 | +1.73u | +43.2% | n/a |
26 graded days with no recommended plays not shown.