OSDtools
Sharp Tightness Studio
OSD / Studio / Sharp Tightness

Sharp Tightness — American-odds gap by mode

How sharp tightness works

The sharp-tightness gate blocks bets when the non-placement sharp books disagree among themselves on price by more than a configurable threshold (in American-odds cents). It is a consensus-coherence check, not a stale-line detector.

The check, end to end

  1. Build a sharp-odds snapshot from the books in sharpBooks for this market.
  2. Drop the candidate (placement) book from the snapshot — controlled by filters.sharpTightnessExcludeCandidateBook, hardcoded to true (marked required).
  3. If fewer than 2 sharps remain, skip the check (not enough signal).
  4. Compute best = highest American odds, worst = lowest, in the remaining sharps.
  5. gap = americanOddsGap(best, worst).
  6. Resolve the threshold: scoped match by book/league/market/mode/flow first, falling back to filters.sharpTightnessMaxOddsDiffLive (live) or filters.sharpTightnessMaxOddsDiffPregame (pregame). High-EV tail guard can tighten further.
  7. If gap > thresholdFAIL. Otherwise PASS.

Worked example

Live MLB Cubs Over 13.5 placed at DraftKings −350. sharpBooks = [DraftKings, Pinnacle, FanDuel], with prices DK −350, Pinnacle −1389, FanDuel −1400. After excluding the placement book (DK):

Note: the 1039¢ gap between DK (−350) and the consensus (~−1395) is invisible to this gate. That gap is the signal of a stale-line trap — but it is a candidate-vs-consensus distance, which this filter does not measure.

What this gate catches vs. doesn't

Threshold tuning

Implementation: shouldSkipForSharpTightness, buildSharpTightnessSnapshot, getSharpTightnessMaxDiff in osd-auto-edge-bb.js. Gate call sites: the EV/arb evaluator (badge pipeline), the high-EV tail diagnostic, and the watch-list near-miss path.

Data

Load remote positions to begin.

Controls

Run Settings

This is the score the optimizer maximizes when ranking candidates.
Requires at least this many bets for a recommendation to be eligible.

Guardrails

Requires recommendations to span at least this many settled days. Set 0 to disable.
Rejects recommendations when worst-day profit drops by more than this amount. Set 0 to disable.
Requires this minimum share of profitable days for recommendations. Set 0 to disable.
Stops ultra-strict global defaults: pre/live defaults must keep at least this share of baseline bets. 0 disables.
Skip unknown/blank league rows
Sets a practical default bundle: min bets, day stability, degradation cap, and keep-rate floor.
Guardrail order: (1) pass Minimum Bets, (2) pass enabled guardrails, (3) rank remaining candidates by Objective Metric. If all fail guardrails, the run falls back to score-only with a warning.

Data Quality & Output

Only affects missing gate fields. Rows missing both snapshot sources are still excluded upstream.
Limits how many rows are rendered in the Distribution table.
Load remote positions to start.

Summary

Rows Loaded
-
Settled Matched
-
Baseline (ROI)
-
Best Delta
-
Baseline snapshot: ROI -, Profit -, Stake -, Win Rate -, Bets -
This is historical replay on bets you already took. It cannot estimate bets that were never placed.
Summary table shows optimized global defaults and selected scoped sharp-tightness rules.
Param Baseline Best Bets Kept (Best / Baseline) Baseline Score Best Score Delta

Charts

Run the optimizer to populate default sweep charts and diagnostics.
Default sweeps plot ROI, Profit, Win Rate, and Bet Count across sharp tightness gap values.
ROI Curve
Run the optimizer to render the ROI curve.
Profit Curve
Run the optimizer to render the profit curve.
Win Rate Curve
Run the optimizer to render the win-rate curve.
Bet Count Curve
Run the optimizer to render the bet-count curve.
Diagnostics
Scope Winner Delta
Run the optimizer to render scope delta bars.
Sharp Tightness Distribution
Run the optimizer to render tightness distribution.

Distribution

Rows are tested parameter values. Each row shows aggregate results for that value.
Parameter Value Bets Pass Rate Distinct Days Green Day % Worst Day Win Rate ROI Profit Stake Avg EV