OSDtools
EV Studio
OSD / Studio / EV

EV — expected-value sweeps

How EV thresholds work

EV (expected value, %) is the headline edge metric. It's computed at evaluation time as the candidate book's price vs fairOdds (the no-vig sharp consensus, candidate book excluded). EV thresholds gate which candidates qualify for placement.

The four threshold knobs

Per-flow sharp-count requirements

Resolution order

  1. Match scoped rules by mode + market + league + book + flow + sharpCount + lineSign.
  2. Most-specific match wins. Ties resolve to the more-restrictive value.
  3. If no scoped match, fall back to global filters.minEv / filters.maxFairOdds.

What this Studio page does

Replays settled positions and sweeps min/max EV thresholds across scopes to find the configuration that maximizes realized ROI. Use the per-(book, flow) detail tables to find scope-specific inflections — e.g., DraftKings live ev may have a different optimum than BetMGM live arb.

Canonical contract for EV thresholds is in docs/gates.md#ev-thresholds.

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.
Applies a preset bundle for min bets, guardrails, and keep-rate strictness.

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
Reject rules with negative ROI/profit
When enabled, winners must be non-negative for the selected objective metric.
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. Other pre-filters (settled rows, known leagues) still apply.
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 min-EV rules.
Param Baseline Best Bets Kept (Best / Baseline) Baseline Score Best Score Delta
Default sweep charts are global; selected segments appear here after a run.
Chart source: Global minEv sweep.
Shaded band = top-performing value zone (top 20% by selected objective metric).
Gold dot = selected value.
Line + dots = metric result for each tested value.
X-axis = tested minEv value.
ROI Curve
Run the optimizer to render ROI curve.
Profit Curve
Run the optimizer to render profit curve.
Win Rate Curve
Run the optimizer to render win-rate curve.
Bet Count Curve
Run the optimizer to render bet-count curve.

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