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
| Parameter | Value | Description |
|---|---|---|
| leg_count | 3 | Number of legs per parlay |
| min_edge_per_leg | 10% | Minimum edge required for each individual leg |
| min_combined_edge | 8% | Minimum combined edge for parlay release |
| min_availability | 3 books | Pick must be on 3+ eligible sportsbooks |
| one_pick_per_game | true | Prevents correlated legs from same game |
| lock_time | 10:00 AM ET | Daily lock time for parlay finalization |
Eligible Sportsbooks
Picks are verified against these major US-regulated sportsbooks:
"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.