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
filters.minEv— global floor. Default 5.5%.filters.scopedMinEv— per-(mode, market, league, book, flow, sharpCount, lineSign) floor overrides. Most-specific wins; ties → higher (stricter) value.lineSign("dog"/"favorite", spread-family only; resolved from the handicap sign) targets one side of a run-line/spread without touching the other — setminEv:999to hard-block that side.filters.scopedMaxEv— per-scope ceiling. Caps suspiciously-high EV (often a stale-line tell). Without a max, +20% EV bets — which are mostly stale-line traps — would qualify by passing minEv.filters.maxFairOdds— caps the absolute fairOdds magnitude (default 105 for EV flow). Heavy favorites (e.g. fair −300) get the gate excluded because EV math becomes unstable at extremes.
Per-flow sharp-count requirements
ev.minIndependentSharps(default 2) — how many independent sharp books must price the market for the EV calc to be trusted.arb.minIndependentSharps(default 1) — looser for arb flow because the arb leg has its own pricing math.
Resolution order
- Match scoped rules by mode + market + league + book + flow + sharpCount + lineSign.
- Most-specific match wins. Ties resolve to the more-restrictive value.
- 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.
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 |
|---|