Back to Parlays
Parlay Builder

Parlay Builder Model

Complete technical documentation for the automated daily parlay generation system.

Selection Algorithm

The Parlay Builder uses a multi-stage selection process to identify the optimal 3-leg combination:

Stage 1: Candidate Gathering

Queries all active sports tables (NBA props, NBA totals, NHL totals, NHL moneyline, Tennis totals, Tennis moneyline, Soccer totals) for picks meeting minimum edge threshold of 10%.

Stage 2: Availability Filtering

Each candidate is verified against The Odds API to ensure availability on 3+ major US sportsbooks. Props are assumed available; moneylines and totals are verified in real-time.

Stage 3: Odds Diversity Selection

Selects the highest-edge pick from each odds tier: Favorite (≤-131), Pickem (-130 to +130), and Dog (≥+131). This balances risk/reward and prevents heavy favorite bias.

Stage 4: Combined Edge Validation

Final parlay must have combined edge ≥8%. Combined edge = (combined_model_prob - combined_book_prob). If threshold not met, no parlay is published.

Configuration Parameters

ParameterValueDescription
leg_count3Number of legs per parlay
min_edge_per_leg10%Minimum edge required for each individual leg
min_combined_edge8%Minimum combined edge for parlay release
min_availability3 booksPick must be on 3+ eligible sportsbooks
one_pick_per_gametruePrevents correlated legs from same game
lock_time10:00 AM ETDaily lock time for parlay finalization

Eligible Sportsbooks

Picks are verified against these major US-regulated sportsbooks:

DraftKings
FanDuel
BetMGM
Caesars

"No Parlay Today" Scenarios

The system will not force a parlay if conditions aren't optimal. No parlay is published when:

  • Fewer than 3 picks meet the minimum edge threshold across all sports
  • Not enough picks pass the book availability check (3+ books required)
  • Combined edge falls below 8% floor after leg selection
  • No active sports are in season (rare, typically offseason windows)

This conservative approach ensures we only release parlays with genuine expected value.

Daily Schedule

9:00 AM ET— Projection job runs, candidates gathered
10:00 AM ET— Picks lock, parlay becomes official
Every 30 min— CLV sync tracks line movement
2:00 AM ET (next day)— Settlement job finalizes results