← Back to Projects

PrizePicker

Prop Betting Analyzer & Parlay Generator

Python Flask Selenium Pandas Monte Carlo
View on GitHub ↗

PrizePicker is a high-performance Prop Betting Analyzer & Parlay Generator. It leverages real-time sports data to identify +EV (Expected Value) opportunities by comparing PrizePicks lines against "Fair Odds" (vig-removed) derived from major sportsbooks like FanDuel.

Technical Breakdown

Data Extraction Pipeline

Engineered an automated extraction pipeline with Python and Selenium to scrape real-time player prop odds across sportsbooks. The scraper bypasses dynamic DOM loading and anti-bot detection mechanisms to ingest thousands of data points across multiple markets (Points, Rebounds, Assists, 3-Pointers, and more) for both NBA and NFL.

Fault-Tolerant Ingestion

Architected the pipeline with automated session recovery to handle failures gracefully. The system mitigates data loss from asynchronous DOM updates and network interruptions, ensuring near-100% capture of available player props across all targeted markets.

Statistical Arbitrage Engine

Developed an algorithm that cross-references lines between sportsbooks (e.g., FanDuel vs. PrizePicks) to detect line discrepancies. It removes the bookmaker's vig to calculate true "fair" win probabilities, then identifies bets where the Expected Value (+EV) exceeds the break-even threshold. Optimal slips are generated using Monte Carlo sampling for larger parlays and exhaustive combinatorial analysis for high-conviction 2-man pairings.

Full-Stack Dashboard

Built a responsive web dashboard using Flask and HTML/CSS to visualize the data in real-time. The UI features dynamic "slip" generation, directional OVER/UNDER indicators, win probability badges, and filtering controls — designed to streamline real-time decision making.

Tech Stack

  • Backend: Python, Flask
  • Scraping: Selenium, Pandas
  • Logic: Monte Carlo Simulations, Itertools
  • Frontend: HTML5, Vanilla CSS

How it Works

PrizePicks +EV Thresholds
  • Vig Removal: Sportsbooks like FanDuel build a profit margin (called the "vig" or "juice") into their odds, which means the listed probabilities always add up to more than 100%. This system strips out that margin to reveal the true "fair" win probability for each side of a bet — giving you an unbiased view of how likely an outcome really is.
  • Line Comparison: PrizePicks and FanDuel sometimes set different statistical lines for the same player prop (e.g., "LeBron Over 25.5 Points" vs. "Over 26.0 Points"). The system compares these lines and, when they're identical or very close (within 0.5), uses the fair probability from FanDuel to evaluate whether the PrizePicks bet has a mathematical edge.
  • Threshold Filtering: On PrizePicks, each parlay size has a specific break-even win rate you need to beat to be profitable (for example, a 6-pick Flex parlay requires each leg to hit at least ~54.21% of the time). The system only keeps bets where the calculated fair probability exceeds that threshold — meaning every selected bet has a positive Expected Value (+EV).
  • Diversity Rule: PrizePicks requires that parlays contain unique players and span multiple teams. The slip generator enforces these constraints automatically, so every recommended parlay is valid and ready to play without manual checking.
← Back to Projects