Edge Labs EDGE LABS Market intelligence
MLB CFB NFL
Research · Angle accuracy

Every angle, graded in public.

This is the live ledger behind the board: every research angle the nightly regrade engine tracks, with its real sample size and closing-line value. Most competitors show only wins. We show the kills too, struck through, right next to the survivors. That is the whole point of transparency: it is only worth something if it includes the losses.

6
Validated
11
Watching
3
Killed
9
Not yet modeled

Angle Accuracy Engine · regraded 7/30 7:47a ET · n=20 graded angles

How a row gets its label

Every angle is a (sport, category, market, side) combination pulled straight from the research database and re-graded nightly against settled games. Validated means the hit rate clears break-even by at least 2 percentage points. Underperforming means it trails break-even by the same margin or more, we call that a kill and leave it on the board anyway. Everything between is watching: not resolved either way yet.

Not yet modeled angles have real game_trends rows but no settlement pipeline wired up (mostly player props, which need per-player box-score data we do not grade yet). They are listed with their real row count and a plain note, never hidden.

min. n=20 before any grade is assigned
break-even is fixed -110 for totals/spreads, measured from real prices for moneyline
CLV: run-points for totals, de-vigged probability for moneyline, not modeled yet for spreads
Sample size vs. edge
min. credible sample (n=20) 20 50 100 250 500 1000 -20%-10%0%+10%+20% Sample size (n, log scale) Edge vs. break-even Team form (spreads) · Spreads (run line) AWAY -- n=545, edge +16.1% vs. break-even, status: validated. Outside the noise band: this deviation is larger than chance alone would typically produce at this sample size. Team form (spreads) · Spreads (run line) HOME -- n=522, edge -13.5% vs. break-even, status: underperforming. Outside the noise band: this deviation is larger than chance alone would typically produce at this sample size. Season record · Moneyline AWAY -- n=140, edge -2.0% vs. break-even, status: provisional. Inside the noise band: not yet distinguishable from chance at this sample size. Team form (moneyline) · Moneyline AWAY -- n=504, edge +5.2% vs. break-even, status: validated. Outside the noise band: this deviation is larger than chance alone would typically produce at this sample size. Team form · Moneyline AWAY -- n=296, edge +1.9% vs. break-even, status: provisional. Inside the noise band: not yet distinguishable from chance at this sample size. Team form (moneyline) · Moneyline HOME -- n=590, edge -2.1% vs. break-even, status: underperforming. Inside the noise band: not yet distinguishable from chance at this sample size. Team form · Moneyline HOME -- n=285, edge +1.1% vs. break-even, status: provisional. Inside the noise band: not yet distinguishable from chance at this sample size. Season record · Moneyline HOME -- n=375, edge -0.5% vs. break-even, status: provisional. Inside the noise band: not yet distinguishable from chance at this sample size. Weather · Totals UNDER -- n=50, edge +10.2% vs. break-even, status: validated. Inside the noise band: not yet distinguishable from chance at this sample size. Park factor · Totals UNDER -- n=273, edge -1.6% vs. break-even, status: provisional. Inside the noise band: not yet distinguishable from chance at this sample size. Situational · Totals OVER -- n=35, edge +2.4% vs. break-even, status: validated. Inside the noise band: not yet distinguishable from chance at this sample size. Market-implied · Totals UNDER -- n=148, edge +2.0% vs. break-even, status: validated. Inside the noise band: not yet distinguishable from chance at this sample size. Team form (totals) · Totals UNDER -- n=1193, edge -0.6% vs. break-even, status: provisional. Inside the noise band: not yet distinguishable from chance at this sample size. Team form (totals) · Totals OVER -- n=489, edge -1.0% vs. break-even, status: provisional. Inside the noise band: not yet distinguishable from chance at this sample size. Team form · Totals UNDER -- n=339, edge -3.8% vs. break-even, status: underperforming. Inside the noise band: not yet distinguishable from chance at this sample size. Team form · Totals OVER -- n=208, edge -0.9% vs. break-even, status: provisional. Inside the noise band: not yet distinguishable from chance at this sample size. Weather · Totals OVER -- n=159, edge +6.3% vs. break-even, status: validated. Inside the noise band: not yet distinguishable from chance at this sample size. Market-implied · Totals OVER -- n=192, edge -0.4% vs. break-even, status: provisional. Inside the noise band: not yet distinguishable from chance at this sample size. Park factor · Totals OVER -- n=561, edge +0.7% vs. break-even, status: provisional. Inside the noise band: not yet distinguishable from chance at this sample size. Situational · Totals UNDER -- n=755, edge +1.9% vs. break-even, status: provisional. Inside the noise band: not yet distinguishable from chance at this sample size. n=35, smallest sample on the boardinside the band = not proven yet n=1193, largest sample on the board clearest signal in the datafurthest outside the noise band
Validated
Watching
Underperforming
Noise band (approx. 95%, worst-case variance)
Minimum credible sample

The shaded band is how far a coin-flip could plausibly drift from break-even by chance alone at that sample size, not a line we chose to flatter our own angles. A point inside the band is not yet distinguishable from noise, whatever status the table below gives it. A point outside the band is a deviation bigger than chance alone would typically produce. Every point here is a real row in the ledger below; hover any dot for its angle and numbers.

Validated
Team form (spreads) · Spreads (run line) AWAY
Samplen=545
Record347-198
Edge+16.1%
CLV, 90d--
regraded 7/30
Weather · Totals UNDER
Samplen=50
Record26-19-5
Edge+10.2%
CLV, 90d-0.43 pts
regraded 7/30
Weather · Totals OVER
Samplen=159
Record82-70-7
Edge+6.3%
CLV, 90d-0.26 pts
regraded 7/30
Team form (moneyline) · Moneyline AWAY
Samplen=504
Record272-232
Edge+5.2%
CLV, 90d--
regraded 7/30
Situational · Totals OVER
Samplen=35
Record17-17-1
Edge+2.4%
CLV, 90d+0.16 pts
regraded 7/30
Market-implied · Totals UNDER
Samplen=148
Record71-72-5
Edge+2.0%
CLV, 90d+0.07 pts
regraded 7/30
Watching
Team form (totals) · Totals UNDER
Samplen=1193
Record539-608-46
Edge-0.6%
CLV, 90d+0.13 pts
regraded 7/30
Situational · Totals UNDER
Samplen=755
Record359-366-30
Edge+1.9%
CLV, 90d+0.15 pts
regraded 7/30
Park factor · Totals OVER
Samplen=561
Record261-279-21
Edge+0.7%
CLV, 90d+0.02 pts
regraded 7/30
Team form (totals) · Totals OVER
Samplen=489
Record220-252-17
Edge-1.0%
CLV, 90d+0.11 pts
regraded 7/30
Season record · Moneyline HOME
Samplen=375
Record208-167
Edge-0.5%
CLV, 90d--
regraded 7/30
Team form · Moneyline AWAY
Samplen=296
Record150-146
Edge+1.9%
CLV, 90d--
regraded 7/30
Team form · Moneyline HOME
Samplen=285
Record157-128
Edge+1.1%
CLV, 90d--
regraded 7/30
Park factor · Totals UNDER
Samplen=273
Record120-141-12
Edge-1.6%
CLV, 90d+0.07 pts
regraded 7/30
Team form · Totals OVER
Samplen=208
Record92-105-11
Edge-0.9%
CLV, 90d+0.13 pts
regraded 7/30
Market-implied · Totals OVER
Samplen=192
Record86-96-10
Edge-0.4%
CLV, 90d+0.07 pts
regraded 7/30
Season record · Moneyline AWAY
Samplen=140
Record68-72
Edge-2.0%
CLV, 90d--
regraded 7/30
Underperforming · the kills
Team form (spreads) · Spreads (run line) HOME
Samplen=522
Record178-344
Edge-13.5%
CLV, 90d--
regraded 7/30
Team form · Totals UNDER
Samplen=339
Record143-183-13
Edge-3.8%
CLV, 90d+0.07 pts
regraded 7/30
Team form (moneyline) · Moneyline HOME
Samplen=590
Record306-284
Edge-2.1%
CLV, 90d--
regraded 7/30
Not yet modeled
Matchup · Batter hits OVER
Samplen/a
Record--
Edge--
CLV, 90d--
checked 7/30
135 game_trends row(s) exist for this angle but there is no settlement pipeline wired yet (e.g. player props need per-player box-score/statcast settlement). Listed honestly rather than omitted.
Matchup · Batter hits
Samplen/a
Record--
Edge--
CLV, 90d--
checked 7/30
357 game_trends row(s) exist for this angle but there is no settlement pipeline wired yet (e.g. player props need per-player box-score/statcast settlement). Listed honestly rather than omitted.
Player props (batter) · Batter hits OVER
Samplen/a
Record--
Edge--
CLV, 90d--
checked 7/30
3252 game_trends row(s) exist for this angle but there is no settlement pipeline wired yet (e.g. player props need per-player box-score/statcast settlement). Listed honestly rather than omitted.
Player props (batter) · Batter home runs OVER
Samplen/a
Record--
Edge--
CLV, 90d--
checked 7/30
274 game_trends row(s) exist for this angle but there is no settlement pipeline wired yet (e.g. player props need per-player box-score/statcast settlement). Listed honestly rather than omitted.
Player props (batter) · Batter total bases OVER
Samplen/a
Record--
Edge--
CLV, 90d--
checked 7/30
479 game_trends row(s) exist for this angle but there is no settlement pipeline wired yet (e.g. player props need per-player box-score/statcast settlement). Listed honestly rather than omitted.
Player props (pitcher) · Pitcher strikeouts UNDER
Samplen/a
Record--
Edge--
CLV, 90d--
checked 7/30
325 game_trends row(s) exist for this angle but there is no settlement pipeline wired yet (e.g. player props need per-player box-score/statcast settlement). Listed honestly rather than omitted.
Player props (pitcher) · Pitcher strikeouts OVER
Samplen/a
Record--
Edge--
CLV, 90d--
checked 7/30
177 game_trends row(s) exist for this angle but there is no settlement pipeline wired yet (e.g. player props need per-player box-score/statcast settlement). Listed honestly rather than omitted.
Player props (split) · Pitcher strikeouts OVER
Samplen/a
Record--
Edge--
CLV, 90d--
checked 7/30
513 game_trends row(s) exist for this angle but there is no settlement pipeline wired yet (e.g. player props need per-player box-score/statcast settlement). Listed honestly rather than omitted.
Player props · Pitcher strikeouts OVER
Samplen/a
Record--
Edge--
CLV, 90d--
checked 7/30
646 game_trends row(s) exist for this angle but there is no settlement pipeline wired yet (e.g. player props need per-player box-score/statcast settlement). Listed honestly rather than omitted.