Overview
ClutchPicks uses an 11-factor weighted composite algorithm to generate NBA spread, moneyline, and over/under predictions for every game. Instead of relying on a single data point, the algorithm synthesizes multiple independent signals — recent performance, player stats, injuries, situational advantages, market pricing, and crowd wisdom — into a unified probability estimate.
The model runs entirely in your browser using real-time data from ESPN, sportsbook odds, and prediction markets. No picks are pre-selected by humans; every prediction is algorithmically generated based on the current data.
The 11 Factors
From Factors to Picks
Pick Types
Spread Picks
We compare our predicted spread to the sportsbook's posted spread. If we predict the Knicks winning by 5 but the book has them at -3.5, we pick NYK -3.5 with the edge being the 1.5-point difference. Picks show actual American odds from the book, e.g., "NYK -3.5 (-110)".
Moneyline Picks
Our win probability is compared to the sportsbook's implied probability. If we give a team a 65% chance of winning but the book implies only 55%, there's value on that team's moneyline. Picks display as "DET ML (+150)" with the actual odds number prominently shown.
Over/Under Picks
Using pace analysis (Factor 5), we estimate the combined total points for each game and compare it to the sportsbook's posted total. Two up-tempo teams facing each other might have a predicted total 5+ points above the book's line, triggering an OVER pick with high confidence.
+EV Engine
Every pick now includes Expected Value (EV) calculations. EV measures how much you'd expect to profit per $100 wagered, based on the difference between our probability estimate and the sportsbook's implied probability.
EV Formula: EV = (ourProb x profit) - ((1 - ourProb) x $100)
Positive EV (+EV) means you'd expect to profit long-term at those odds. The +EV Plays section surfaces the day's best positive-EV opportunities across all games and markets.
Kelly Criterion
For +EV picks, we calculate optimal bet sizing using the Quarter-Kelly criterion: f = (b*p - q) / b * 0.25, capped at 25% of bankroll. Quarter-Kelly provides a conservative approach that reduces variance while still capturing edge.
Best-Line Finder
We scan odds from DraftKings, FanDuel, BetMGM, and Caesars to find which book offers the best price for each pick. Even small differences in odds (e.g., -110 vs -105) compound significantly over time.
Usage Vacuum
When a star player is ruled OUT, their production doesn't disappear — it redistributes. Our Usage Vacuum engine calculates how scoring, rebounding, and assists flow to remaining active players using a 70% recapture rate. Player mini-cards show adjusted projections when injuries are present.
Poisson Projections
Player scoring projections use Poisson distribution modeling to estimate the probability of hitting specific stat lines. For example, "O 24.5 pts: 62%" means there's a 62% probability a player exceeds that threshold based on their adjusted scoring mean.
Best Bets vs Value Plays
Best Bets are simply the highest-confidence picks of the day — games where multiple factors align strongly in one direction. They represent our most confident calls.
Value Plays highlight games where our algorithm disagrees most with the market (3+ point edge). These aren't necessarily our most confident picks overall, but they represent the largest discrepancies between our model and the sportsbook line — potential mispricing that sharp bettors look for.
"Why This Pick" Explanations
Every pick includes a brief natural language explanation of the top factors driving the recommendation. The algorithm ranks all 11 factors by their weighted impact on each game, selects the 2-3 most influential ones, and generates a sentence explaining each. For example:
"Boston is 8-2 in their L10 with a +9.3 net rating. Dallas is missing Luka Doncic (calf), removing 28 PPG from their lineup."
Data Loading: 3-Tier Progressive Strategy
To keep the experience fast, data loads in three progressive tiers:
- Tier 1 (~200ms) — Scoreboard, odds, prediction markets, and injury data load in parallel. Picks render immediately with team-level data.
- Tier 2 (~500ms) — Team schedules, rosters, and team statistics load in parallel per team. The algorithm re-runs with full team data.
- Tier 3 (background) — Individual player stats for top 5 players per team load asynchronously. Picks enhance silently in the background as player data arrives.
Data Freshness
- Scores & schedules — Updated every 60 seconds during live games, 5 minutes otherwise (ESPN, free & unlimited)
- Odds — Cached for up to 8 hours to stay within free API limits (The Odds API, 500 credits/month)
- Prediction markets — Refreshed every 30 minutes (Polymarket, free & unlimited)
- Injuries — Refreshed every 30 minutes (ESPN, free & unlimited)
- Rosters — Cached for 6 hours (ESPN, free & unlimited)
- Player stats — Cached for 1 hour (ESPN, free & unlimited)
- Team statistics — Cached for 1 hour (ESPN, free & unlimited)
Limitations
No model is perfect. Our algorithm does not account for:
- Travel fatigue beyond simple rest days
- Motivation factors (playoff seeding implications, rivalry games, tanking)
- In-game coaching adjustments
- Late-breaking lineup changes not yet reflected in ESPN's injury report
- Player props (individual betting lines) — too expensive for our API budget
These limitations are why we always emphasize: these picks are for entertainment and informational purposes only. Use them as one input alongside your own research, and always gamble responsibly.