How DMP Works
Under the hood: projections, EV, and insights
DMP picks props through a simple, three-step process: build a baseline projection, adjust for today's context, then only recommend bets where the price gives us positive expected value. Most props get filtered out. The handful that survive have multiple independent reasons to be there.
The 3-Step Process
Every prop on DMP goes through the same three steps. The earlier sections of this page explain each step in depth. Here's the high-level shape of how a prop earns a recommendation.
Projection
Every prop starts with a player-level projection — an expected value and an uncertainty range, generated by a sport-specific simulator.
- NBA: Monte Carlo for points, rebounds, assists, threes, and combos.
- MLB: PA-level batter and BF-level pitcher Monte Carlo for hits, total bases, Ks, HRs.
- NCAAB: Weighted rolling baseline with skew-corrected distributions.
Output is calibrated per (sport, market) using isotonic regression on historical resolved bets, so a stated P(hit) = 60% actually wins 60% of the time.
Context
The baseline projection gets shifted up or down based on what's actually happening today. Sport-specific factors only — no generic catch-all.
- NBA: injury redistribution by archetype, pace, defense-vs-archetype.
- MLB: lineup, platoon, pitcher matchup, park, weather.
- NCAAB: pace, home court, archetype redistribution.
Context is where the bulk of the analysis happens. A correct baseline against the wrong context is still a losing bet.
+EV Gate
A prop only becomes a recommendation if the price the book is offering gives us positive expected value against the calibrated probability.
- EV > 0 against the offered price
- Projection edge > 0 in our direction
- Calibrated probability inside a sane range
- Market is well-calibrated (low ECE)
- Top-tier rank on EV and projection edge for today's slate
Hard gates, not soft scores. A prop that fails any single check is filtered out.
Why most props get filtered out
On a typical NBA slate we look at thousands of player-prop lines. After steps 1 and 2, many have a defensible projection. After step 3, only a small fraction survive — usually ten to thirty bets per night across all leagues. The point isn't to be right about every prop. The point is to be disciplined about when we play.
How we measure ourselves
Paper-trading numbers are easy to fake and easy to fool yourself with. We track five metrics on every Recommended Bet — each one catches a different kind of failure. You can see them live on the public model performance dashboard.
Closing Line Value
Did the market agree with our pick? When sharp money flows the same way we bet, the line moves toward our side. Positive CLV across many bets is evidence of real edge — it means we're consistently picking the side the market eventually agrees with.
β coefficient (model vs market)
How much of the closing line's movement is because of our model's information vs. other reasons? We regress the closing line on the open price and our model's prediction. Positive β = our model knows things the market eventually figures out. This is the test casinos use for in-house models.
Brier score
How accurate are our probability predictions? Low Brier = when we say a prop has a 60% chance, it actually happens about 60% of the time. Catches over-confidence: a model that screams "90% lock!" on bets that hit 55% has a great hit rate but a terrible Brier score.
Predictive signal strength
Are our predictions statistically distinguishable from random guessing? We shuffle the win/loss column 100 times and re-score. A strongly negative z (z < −3) means our real predictions match outcomes much better than random shuffles ever did — actual signal beyond chance.
Return on investment
The bottom line: do paper-traded picks make money? The other four metrics are leading indicators — they tell us whether the model has real edge. ROI is the lagging confirmation. The tracked record assumes flat 1-unit bets at the best available odds, with every bet frozen at first qualification (no cherry-picking).
Why all five? Each one catches a different kind of failure. A model can have positive ROI by luck, positive CLV without real edge, or great Brier scores while still losing money. Tracking all five is how we tell variance from genuine performance — and how we know when something starts breaking before the bottom line confirms it.
Projections
Every prop you see on DMP has a projection behind it -- a statistical estimate of what a player is likely to produce in their upcoming game. Projections power two things: the PROJ column on the odds screen and the P(over) probability used for model-based EV. Each sport has its own pipeline.
Stats We Project
Combo stats (PRA, PR, PA, RA) use covariance modeling -- they account for how stats correlate within the same game, not simple addition.
1Weighted Baseline
DMP starts with a player's real game logs and computes per-100-possession rates for each stat across three time windows. This normalizes for pace so a player in a fast game and a slow game are compared apples-to-apples.
NBA Weights
- Last 5 games: 50%
- Last 10 games: 30%
- Season: 20%
Recent form weighted heavily. NBA roles shift fast.
2Matchup Adjustment: 10-Archetype DVP
Players are classified into archetypes based on usage, assist rate, and play style -- primary ball handler, stretch big, rim runner, and seven others.
DVP is calculated per-archetype, per-stat. A team might be tough on scoring wings but soft against stretch bigs. Each stat gets its own softness score (0-100 percentile).
3Context Adjustments
Pace
Faster-paced games create more possessions and more statistical opportunities. DMP uses actual possession data when available, or derives pace from Vegas totals.
Home Court
+2% home boost applied to projections.
Injury Redistribution
When a teammate is OUT, their statistical opportunity flows to remaining players. DMP models this using archetype-based redistribution rules. A primary ball handler going out boosts combo guards differently than it boosts rim runners.
Each injured player has an impact tier (A through D) based on their minutes and usage. A Tier A star (30+ MPG, high-usage) missing redistributes far more than a Tier D bench player.
Skill Curves: The Role Player Trap
More opportunity doesn't always mean more production. Informed by Dean Oliver's research in Basketball on Paper, DMP models each player's skill curve — how their efficiency changes as their usage increases.
Stars like LeBron and Curry have flat curves — they maintain or even improve their efficiency when handling more of the offense. Role players have steep curves — when forced into a bigger role, they take harder shots, commit more turnovers, and their efficiency collapses.
DMP computes this from game logs: bucketing each player's games by usage rate and measuring their per-possession efficiency at each level. The result is a dampening factor that adjusts redistribution boosts downward for role players.
Flat Curve
Stars absorb load
Full boost
Moderate
Starters handle some
Partial boost
Steep Curve
Role players collapse
Dampened boost
This prevents the "role player trap" — where the market overvalues a bench player's OVER prop after a star injury, not accounting for the efficiency decline that comes with increased usage.
3bStat-Specific Injury Leverage
Beyond the projection boost, DMP computes a separate injury leverage signal for scoring that uses each injured teammate's specific stat shares — the percentage of the team's points, rebounds, assists, and 3PM they normally produce — rather than a single flat impact number.
Why it matters: a star point guard going out redistributes assists more than rebounds. For a Rebounds prop, leverage comes from the injured teammate's reb_share, not their overall impact. Combo props (P+R, PRA, etc.) sum the relevant stat shares. Previously the model used a single Points-biased impact multiplier across all markets, which under-rated injury leverage on Rebounds props and over-rated it on Points props.
4Six Context Signals
On top of the projection, DMP computes six additional signals that capture qualitative edges the projection can't — hot/cold streaks vs. expected production, game script alignment, expanding/contracting roles, fresh injury opportunities, factor stacking, and teammate-pair fit.
1. Hit Rate Value
Compares the player's actual L10 hit rate at today's line vs. the model's P(hit). If a player has gone over 26.5 points in 8 of their last 10 games but the model only gives P(over) = 60%, the market may be missing a hot streak — or the hot streak may be unsustainable. The gap itself is the edge signal.
2. Script Sensitivity
Compares a player's stat production in competitive (spread < 8), mid (8–15), and blowout (15+) games. Some players thrive in close games; others rack up empty-calorie numbers in blowouts. DMP buckets today's game by Vegas spread and pulls the player's historical production in that bucket, measuring how much it deviates from their season average. Side-aware: a script-dependent scorer on the OVER in a projected blowout gets a positive signal if they historically score more in blowouts.
3. Role Trend
Measures whether a player's role is expanding or contracting. Combines L5 vs. season minutes and L5 vs. L10 usage. A rookie getting a starter bump, a veteran losing minutes to a trade deadline acquisition — role changes often precede market line moves by multiple games. Capped at ±1.0 to avoid G-League callup outliers.
4. Injury Freshness
Fresh injuries (0–3 games) are worth more than stale ones (15+ games) because the market has had less time to price them in. DMP weights each teammate's absence by how recent it is: 1.0 for brand-new (Q→OUT downgrades same day), 0.5 for ≤7 games missed, 0.1 for long-term absences. Side-aware: a fresh absence helps the player's OVER, hurts their UNDER.
5. Factor Alignment
Checks how many of the other context factors (DVP softness, pace, injury leverage, role trend, script sensitivity) agree with the current bet direction. When they all point the same way, the bet has converging context. When they contradict each other, the bet is fragile — flagged so we don't pick something where only one factor is strong and everything else is neutral or against it.
6. Teammate Fit
Pairwise lineup fit from season game logs: which teammates does this player produce MORE with and which do they produce LESS with? When a high-fit teammate is absent, the player's OVER is at risk even if the raw injury leverage says otherwise. Inspired by Dean Oliver's pairwise teammate analysis in Basketball on Paper.
5Variance and P(over): Skew-Corrected Distributions
DMP computes variance (how spread out a player's outcomes are) from recent game-to-game consistency. But variance alone isn't enough — NBA stats are right-skewed, meaning the mean and the median aren't the same number. Sportsbooks price lines at the median, but a naive Normal distribution assumes mean = median and systematically overestimates P(over).
Cornish-Fisher Skew Correction (Points, Rebounds, Assists, Combos)
DMP uses a Cornish-Fisher expansion on the z-score to correct for skewness before applying the Normal CDF. Empirical skewness coefficients from historical game log analysis: Points 0.35, Rebounds 0.55, Assists 0.65, combos 0.40–0.55. For a player projected at 22.5 pts with variance 50 against a line of 22.5, naive Normal returns P(over) = 50.0%. Skew-corrected returns 46.8%. That 3.2-point gap is the difference between a positive-EV and negative-EV bet.
Negative Binomial (3-Pointers Made)
3PM is a count stat with overdispersion — variance is typically 1.5–2× the mean because of hot/cold streaks. Poisson assumes variance = mean and therefore under-represents tail risk on tight lines. DMP uses a Negative Binomial CDF parameterized by the observed variance, which correctly models the wider-than-Poisson distribution.
6Shrinkage (Regression to Mean)
After all adjustments, DMP blends the adjusted projection (70%) with the player's season average (30%). This prevents the model from overreacting to a hot or cold streak and keeps projections grounded when context adjustments stack aggressively.
Stats We Project
Same stat markets as NBA. Combo stats use covariance modeling.
1Weighted Baseline
Same per-100-possession rate approach as NBA, but with different weights that lean on the full season.
NCAAB Weights
- Last 5 games: 30%
- Last 10 games: 30%
- Season: 40%
College samples are smaller, so the model leans on the larger window.
2Matchup Adjustment: 3-Bucket Positions
College basketball uses a simpler DVP model: Guard, Forward, and Center.
With less data per team, fine-grained archetypes would overfit. The 3-bucket approach is more reliable with smaller sample sizes, and uses per-possession rates to avoid double-counting pace.
3Context Adjustments
Pace
Same approach as NBA. Faster-paced games create more possessions and more statistical opportunities.
Home Court
+3.5% home boost (college crowds have more impact than NBA). Neutral sites (tournaments) get no boost.
NCAAB-Specific Factors
- Blowout risk: If the Vegas spread is 10+, starters rest earlier in a 40-minute game. Projections are compressed accordingly.
- Team shooting scheme: If a team runs a perimeter-heavy offense, 3-pointer projections are adjusted up (and vice versa).
- Defensive pressure: High-pressure defenses (lots of steals and forced turnovers) suppress assist production for ball handlers.
- Foul trouble variance: College has a 5-foul limit (vs NBA's 6). Players averaging 2.5+ fouls per game get wider variance on their projection.
4Variance and P(over)
Same approach as NBA. Variance is computed from recent game-to-game consistency, and P(over) is calculated via Normal CDF.
No injuries are tracked for NCAAB (no reliable data source), so the projection relies entirely on the statistical baseline and contextual adjustments.
5Shrinkage (Regression to Mean)
Same 70/30 blend as NBA: adjusted projection (70%) plus season average (30%). Keeps the model grounded when context adjustments stack aggressively.
MLB is a conditions game. Every prop is shaped by a stack of conditions: the arm (who's pitching), the matchup (platoon splits, archetype clashes), the environment (park, weather, lineup position), and the number (is the market pricing the average or today's conditions?). DMP's projection system reads these conditions in order and finds where the market hasn't caught up.
Data Sources
BallDontLie API
Player and team stats, game logs, roster data, and schedule information.
SportsGameOdds
Player prop lines and odds across sportsbooks, used for EV calculation and consensus pricing.
Statcast
Quality-of-contact metrics: expected batting average (xBA), expected weighted on-base average (xwOBA), and barrel rate.
Batter Projection Pipeline
Rolling Stats
Recent performance windows for core rate metrics: wOBA, K%, ISO, and BABIP across L10, L20, and season.
Platoon Splits
The #1 contextual factor in MLB. LHH vs RHP is a fundamentally different projection than LHH vs LHP. Split adjustments apply to all rate stats. DMP uses a 3-game per-hand threshold (instead of the usual 5) to get usable splits by mid-April.
Park Factors
Coors Field (1.12 hits factor) inflates offense; Petco Park (0.95) suppresses it. Factors are stat-specific — the HR factor for a park differs from its hits factor, and DMP uses the right one for each prop market.
Opposing Pitcher Quality
Unlike basketball's team-level DVP, baseball matchups are pitcher-vs-batter. DMP uses the opposing starter's hand-specific K% (vs LHB or vs RHB) plus Statcast CSW%/whiff%/SwStr% enrichment to model the pitcher's difficulty.
Weather Adjustments
Live weather from Open-Meteo: temperature, wind speed, and wind direction relative to home plate. A 15mph wind blowing out at Wrigley meaningfully changes HR and total bases. Dome stadiums neutralize the signal.
PA Estimate
Plate appearances estimated from confirmed batting order position (leadoff ≈ 4.5 PA, 9-hole ≈ 3.2 PA) and the game's Vegas total. Higher totals → more innings → more PAs per batter.
Stabilization-Aware Regression
K% stabilizes in ~60 PAs but BABIP requires ~400 balls in play. DMP blends recent rates with career norms based on how stable each metric is at the current point in the season. BABIP regression is a primary edge signal early-season — a hot-hitting batter with a .380 BABIP in April will regress.
Statcast Overlay
Expected stats (xBA, xSLG, xwOBA) and batted-ball quality (barrel%, hard-hit%, exit velo) are overlaid on rolling rates. The xBA − BABIP divergence is the single most predictive signal for Hits props: a batter with xBA .290 but BABIP .250 is unlucky and due for positive regression.
Compute Projections + Variance
Per-game projections for hits, total bases, home runs, RBI, H+R+RBI, and strikeouts — each with its own variance derived from the player's game-to-game consistency.
P(over) via Monte Carlo Simulation
MLB props are fundamentally different from basketball stats. A single game is ~4 PAs, each PA is a discrete event, and rare outcomes (HR, multi-hit games) dominate the right tail. A single analytical distribution can't capture this correctly. DMP runs 2000 per-PA Monte Carlo simulations for every batter prop:
- PA distribution: Sampled around the expected PAs (e.g., 4 ± 1) to account for lineup length variance.
- Per-PA outcome: Each simulated PA draws from Binomial(hit, out, walk, K) with rates derived from the projection pipeline. Handles zero-inflation (batters can and do go 0-for-4) naturally.
- Line outcome: After 2000 full-game simulations, P(over line) is simply the fraction of games where the simulated total exceeded the line.
This replaced the old Normal CDF (for Hits/TB/HRR) and Bernoulli (for HR/K) approximations. The old formulas produced systematic errors near the line edges — Monte Carlo gets the shape right.
Pitcher Strikeout Pipeline
Pitcher Ks use a separate pipeline. A pitcher faces the entire opposing lineup, so modeling a single matchup isn't enough — DMP simulates the full batters-faced sequence.
Inputs
- Pitcher K% profile: Season rate with cross-season Bayesian shrinkage (38% prior at season start, tapering to 15% at 200+ BF).
- Statcast stuff: CSW%, SwStr%, Whiff%, fastball velocity — DMP enriches the base K% with these metrics weighted 3:2:2 (CSW is the strongest single predictor, r²=0.568).
- Opponent lineup K%: Team-level batter K rate vs. league average.
- Times Through the Order (TTOP): Pitcher wOBA degradation on the 3rd time through — penalizes deep starts against strong lineups.
- Catcher framing: Elite framers add ~1–2% to the pitcher's effective K rate via extra called strikes.
- Umpire K% delta: Umpire-specific strike zone tendencies pulled from historical assignments.
- Pitch-type matchup: Batter's hand-specific xwOBA against each pitch in the pitcher's mix — weighted by pitch usage.
- Batters faced estimate: Derived from pitcher workload and game script (innings pitched + pitches per start).
Output: Beta-Binomial Monte Carlo
Each simulated game draws a batters-faced count from a distribution around the expected BF, then applies Beta-Binomial per-PA K rates across that count. Beta-Binomial captures pitcher-level volatility (good days vs. bad days) that a plain Binomial misses — Ks are not independent Bernoulli trials because a pitcher who loses their best stuff in the 2nd inning will miss it for the rest of the game.
Example: A pitcher projected for 6.2 Ks over 22 BF against a line of 5.5. Naive Poisson assumes variance = 6.2 (too tight). Beta-Binomial with α/β from observed season variance produces wider tails and a more honest P(over).
MLB Context Inputs
The projection above uses recent rates and Statcast overlays. On top of that, DMP reads each MLB prop against the conditions that actually shape today's game — the arm, the matchup, the environment, and the number. Different prop types are sensitive to different conditions (HR props live and die on park and weather; pitcher Ks live on opponent K%, framing, and TTOP).
Pitcher Difficulty
Blended K% + CSW% + SwStr% + Whiff% vs league average for the opposing pitcher.
Park Factors
Venue-specific HR / hits / overall adjustment (Coors +12% hits, Petco −5%).
Weather Impact
Temperature and wind effect on HR/ball flight. Dome games neutralized.
Game Total
Higher Vegas totals → more offensive opportunity per batter. Inverse for pitcher Ks.
Platoon Matchup
Batter wOBA vs. opposing pitcher's hand (LHP/RHP) vs. wOBA vs. opposite hand.
BABIP Regression
Current BABIP vs. career BABIP, signaling hot/cold luck streaks due to regress.
Contact Quality
Weighted blend of xBA divergence (×1.5), xwOBA, xSLG, barrel%, hard-hit% vs league.
Batting Order PA
Confirmed-lineup PA expectation (leadoff 4.5 PA, 9-hole 3.2 PA).
Catcher Framing
Catcher framing runs ±1–2% K rate adjustment — applies to pitcher and batter K props with opposite signs.
Umpire K% Delta
Umpire strike zone tendency vs league average K rate. Scheduled umpire only.
Injury Leverage
Teammate absences boosting this player's opportunity (dampened for MLB relative to NBA).
Bullpen Fatigue
Opposing bullpen IP + pitch count over last 3 days. Fatigued pens help batter OVERs.
Pitcher Depth
Starter's avg IP and pitches per start vs. league — predicts whether they'll see the lineup 3× for K totals.
Opponent Lineup K Rate
Team batter K% vs. league average. Primary signal for Pitcher K props.
Velocity Trend
Pitcher fastball velo vs. 93.5 mph league average. ×2 amplification for pitcher props.
Pitch Type Matchup
Batter hand-specific xwOBA across the pitcher's pitch mix. Requires ≥50% pitch coverage.
TTOP Penalty
Pitcher wOBA degradation 3rd time through the order. Penalizes deep starts.
H2H Matchup
Historical batter-vs-pitcher OPS, sample-weighted (caps at 30 PA for full weight).
Sprint Speed
Foot speed in ft/s — 27.0 baseline, ±2 = ±1.0 signal. Drives infield hit probability.
Projection Edge
Difference between DMP P(hit) and market implied probability — the model's direct edge.
What Makes MLB Different
Pitcher-vs-Batter Matchups
Basketball uses team-level DVP (how a defense performs against a position or archetype). Baseball matchups are individual -- the opposing starting pitcher is the single biggest factor in a batter's projection.
Per-PA Monte Carlo Simulation
NBA uses skew-corrected Normal distributions. MLB props can't be modeled analytically because the per-PA nature creates discrete, zero-inflated outcomes. DMP runs 2000 per-PA simulations per batter prop (Binomial outcomes), and 2000 Beta-Binomial simulations per pitcher K prop. The simulation handles zero-inflation, multi-hit right tails, and pitcher volatility naturally — no analytical distribution could.
Environmental Factors
Park factors and weather have no basketball equivalent. A HR projection at Coors Field (5,280 ft elevation, thin air) is materially different from the same matchup at Oracle Park (sea level, marine winds).
Metric Stabilization
In basketball, most stats stabilize within 10-15 games. In baseball, K% stabilizes in ~60 PAs but BABIP requires ~400+ balls in play. This creates predictable regression windows that the market is slow to price -- a key source of model edge, especially early in the season.
Expected Value (EV)
Expected value tells you whether a bet is priced in your favor. DMP calculates EV differently by sport because the data available to price each market is fundamentally different.
Sharp Book Consensus
For NBA props, sportsbooks like Pinnacle, Circa, and Bookmaker post lines with tight margins. These "sharp" books are considered the closest reflection of true probability.
How it works:
- DMP collects odds from 5 sharp books (FanDuel, Caesars, Pinnacle, Circa, Bookmaker)
- Each book's odds are devigged -- the house edge is removed to extract the implied true probability
- A consensus probability curve is built from all sharp book lines
- For each prop at each sportsbook, EV is calculated: does the offered price exceed the consensus fair price?
The +EV% you see for NBA props represents how much the offered odds exceed the sharp book consensus. This is a pure market-based approach -- it trusts that sharp books have priced the true probability correctly.
Sharp Book Consensus
MLB uses the same sharp book consensus approach as NBA. The same 5 sharp books (Pinnacle, Circa, FanDuel, Caesars, Bookmaker) are devigged and combined into a consensus probability curve. EV represents how much the offered odds exceed this consensus.
MLB prop markets are liquid enough for sharp books to price accurately, making the market-based approach reliable without needing a model blend.
Model + Market Blend
Sharp books rarely post college basketball player props. Without sharp lines to anchor a consensus, DMP uses a dual approach that combines its own model with the retail market.
How it works:
- A consensus is built from 14 retail books (FanDuel, DraftKings, BetMGM, Caesars, Bet365, and others)
- Each book is evaluated using leave-one-out -- its own line is excluded from the consensus when calculating its EV, preventing self-reference bias
- DMP's projection model independently calculates P(hit) from the player's projected stats and variance
- The final EV blends: 60% model probability + 40% market consensus
When market data exists (2+ books)
Blended EV gives you both the model's view and the market's view, weighted toward the model. If they disagree by more than 8%, the EV chip shows an amber warning.
When only 1 book posts a line
No consensus is possible. EV falls back to pure model EV -- 100% from DMP's projection. These are higher-conviction but unconfirmed by the market.
Why blend? Retail books still carry signal (real money is wagered), but they're less precise than sharp books. The model fills the gap with statistical projections.
The EV Formula
Regardless of how the probability is determined (sharp consensus or model blend), the EV formula is the same:
A positive EV means the offered odds imply a probability lower than the true probability. Over enough bets, positive EV plays are expected to profit.
AI Insights
Projections and EV tell you whether a bet has mathematical value. AI Insights answers a different question: is today an outlier game or a typical game? It evaluates whether the statistical edge is durable (likely to persist) or fragile (likely to evaporate due to context).
Six Factors Evaluated
Role & Minutes
Are minutes locked in or volatile? Is usage trending up or down? High stability = durable edge.
Game Script
Vegas total and spread predict pace and blowout risk. High totals favor OVER; large spreads threaten early benchings.
Matchup (DVP)
Stat-specific defensive data. A team can be tough overall but soft on a specific stat. The AI evaluates each separately.
Injuries & Skill Curves
Tier-weighted injury impact plus skill curve analysis. The AI considers whether the absence is new or established, AND whether the beneficiary player can actually convert increased usage efficiently. Role players with steep skill curves are flagged as "role player traps" — more opportunity but worse efficiency.
Line Movement
Is the line moving with or against you? Movement direction signals whether sharp money or soft action is driving the price.
Model Output
The projection, P(over), fair odds, and market classification provide the statistical baseline the AI evaluates against.
League-Specific Context
The Redistribution Framework
NBA AI Insights follow the Redistribution Game — a 4-step sequential analysis for every prop:
Archetype, usage rate, minutes stability, skill curve classification (flat/moderate/steep). Establishes the baseline.
Injury tiers (A-D), new vs established absences, redistribution flow by archetype, skill curve check, role player trap detection.
Pace (Vegas total), blowout risk (spread), game script, minutes projection, home/away boost.
DVP by archetype with per-stat softness (PTS, REB, AST, 3PM separately), defender injuries, defensive scheme analysis.
What the AI considers
- 40-minute game context: Stats are ~17% lower than NBA. Per-40 normalization is used for comparison.
- Team shooting scheme: Whether the team is perimeter-heavy (40%+ of shots from 3) or inside-oriented -- directly impacts 3PM ceilings
- Opponent defensive pressure: High-pressure defenses (70th+ percentile in steals/forced TOs) suppress assists for ball handlers
- Foul risk: 5-foul limit means a player averaging 2.5+ fouls/game has real minutes variance
- Conference context: Conference games are well-scouted (DVP more reliable). Non-conference games carry more uncertainty.
- Neutral sites: Tournament games have no home boost -- affects all player projections
- Player role classification: Primary Ball Handler, Key Creator, Key Scorer, Rotation, or Role Player -- derived from position, tier, and usage
The Conditions Framework
MLB AI Insights follow the Conditions Game — a 4-step sequential analysis for every prop:
Start with the pitcher. K rate, FIP (not ERA), pitch count expectation, FIP-ERA gap. For batter props, the opposing pitcher sets the ceiling.
Platoon advantage (L/R handedness — 20-30% swing), pitcher vs batter archetype clash, catcher framing for K props, lineup K tendency.
Park factors (granular by handedness), weather (wind, temperature), lineup position (PA count), game total, umpire zone tendency, time of season.
Regression signals: BABIP deviation from career, FIP-ERA gap, xwOBA vs wOBA gap, LOB% vs 72%. Is the market pricing the average or today's conditions?
What the AI Prioritizes by Prop Type
Different stats are driven by different factors. The AI evaluates each prop type through its own lens:
Points
NBA Pace, DVP archetype, usage trend, blowout risk. NCAAB Tempo is the #1 driver (70+ possessions = high ceiling, <64 = compressed), then per-40 rate, DVP, foul risk.
Rebounds
Position stability, opponent FG% (more misses = more boards), game script (competitive games keep starters in), pace. Blowouts compress rebound opportunities as benches come in.
Assists
Ball-handler role and usage rate are primary. NCAAB Opponent defensive pressure is key for handlers -- disruptive defenses force turnovers instead of assists. Teammate shooting % also matters (better shooters = more assist opportunities).
3-Pointers Made
Higher variance than other stats. The AI flags when L10 average is above the line but hit rate is below 50% -- a sign that one or two hot games are inflating the mean. NCAAB Team shooting scheme is the primary driver (attempt ceiling matters more than accuracy).
Combos (PRA, PR, PA, RA)
Highly minutes-dependent -- blowout risk is the #1 threat. Pace matters most since more possessions lift all component stats. The AI also considers stat correlation (playmakers have correlated PTS+AST).
Pitcher Strikeouts MLB
The cleanest MLB prop. Pitcher K% (stabilizes in ~70 BF) × opponent lineup K tendency. Catcher framing adds ±1-2 K. Poisson distribution. Reliable from Opening Day.
Hits & Total Bases MLB
Contact rate and ISO (power) vs opposing pitcher K% and FB%. Park + weather stack is the biggest swing factor. BABIP regression is THE edge signal — don't trust April hot streaks.
Home Runs MLB
Highest variance MLB prop. Park + weather + platoon can swing probability ~30%. Only bet 5%+ HR/PA hitters. Price is everything — binary event, Bernoulli distribution.
Batter Strikeouts MLB
Most reliable early-season prop. K% stabilizes at ~60 PA. Combine pitcher K% × batter K% for matchup projection. Platoon disadvantage adds 3-5% K rate.
The Verdict System
After evaluating all six factors, the AI delivers one of five verdicts:
All factors aligned. Edge is structural, not situational.
Strong structural support with one minor uncertainty.
The thesis is sound but you need better odds. Look for a better line elsewhere.
Fundamentals are strong but a key variable (injury status, starting lineup) is unresolved.
The thesis itself is weak -- the edge exists on paper but context undermines it.
Recommended Bets
DMP scans thousands of player props every few minutes and surfaces only the ones that survive the +EV gate. A prop becomes a recommendation when the calibrated P(hit) from steps 1 and 2 beats the offered price by enough margin, with hard floors on edge size and slate-relative quality. Most props get filtered out. The handful that survive made it past every check, not just one.
How Bets Are Selected
Calibrated Edge
Steps 1 and 2 produce a calibrated P(hit) for the prop — projection plus context, run through isotonic regression on historical resolved bets so the stated probability matches the long-run hit rate. The first gate is simple: P(hit) must exceed the implied probability from the offered price. Anything else is closed-line negative.
Hard Floors
Beating the price by a sliver isn't enough — that's inside the noise. A prop must clear minimum edge thresholds: positive EV with variance-adjusted floors per market (high-variance markets like 3-pointers require a larger margin than core stats like points), coverage from 3+ sportsbooks including FanDuel, and a confirmed game state. The floor is the difference between "edge on paper" and "edge after costs."
Slate-Relative Rank
Finally, props are ranked against the rest of today's slate on EV and projection edge. Only the top tier surfaces as a recommendation. This prevents the model from flooding the screen on a soft slate where everything looks +EV, and it concentrates capital on the strongest plays of the night when the slate is rich.
Recommended Bets vs AI Insights
The +EV gate and AI Insights use the same projection and context, but answer different questions:
Recommended Bets (the +EV gate)
- Runs every 5 minutes across thousands of props
- Deterministic, reproducible — pure rules
- Answers: "does this clear our edge floors?"
- Output is a yes/no surface decision, not a soft score
- Cannot judge whether today breaks from historical patterns
AI Insights (Gemini)
- Runs per-prop when you open a research card
- LLM-based qualitative reasoning
- Can judge "this game may not follow historic patterns"
- Dynamically weighs which factors matter most today
- Produces a verdict (VALUE/LEAN/SHOP/WAIT/PASS) with reasoning
Think of recommended bets as a curated shortlist — the props that already cleared the +EV gate. The best workflow is to start there and click through to read what AI Insights says about each one before placing a bet.
Performance Tracking
Every recommended bet is tracked after the game completes. We measure:
Hit Rate
Did the bet win? Tracked by market type and EV bucket so we can tell where the gate is calibrated and where it isn't.
Closing Line Value
Did we get a better price than the market's closing number? The strongest indicator of long-term edge.
Calibration Drift
Are stated P(hit) values still matching realized hit rates per market? When they drift, the isotonic calibration in step 1 gets retrained.
Results are published on the Results page so you can see exactly how recommended bets perform over time -- including what happens if you take every recommendation without doing additional research.
Underdog Slips
DMP auto-generates optimized multi-leg Underdog Pick'em slips by combining our +EV-gated recommended bets with correlation modeling, Monte Carlo simulation, and payout structure optimization. Every slip is designed to maximize expected value while accounting for how legs interact with each other.
Why Auto-Generated Slips?
Building a good multi-leg slip isn't just picking your best bets and combining them. Legs from the same game are correlated -- if one hits, the other is more likely to hit (or miss) too. A slip with correlated legs has a different probability of winning than what you'd calculate by multiplying individual leg probabilities. DMP models these correlations explicitly and optimizes slip construction against Underdog's actual payout tables so every slip is structured for maximum edge.
How Slips Are Built
Pre-Filtered Leg Pool
Slip legs are drawn from the same pool that powers recommended bets — every leg has already cleared the +EV gate: calibrated P(hit) beats implied probability, edge clears the per-market floor, and the prop ranks well on today's slate. This means every leg in every slip starts with a real edge before correlation modeling even begins.
Market Fair Probability
For EV calculation, we use the consensus devigged probability at Underdog's specific line, not our model projection. This probability is derived from a consensus curve built across 5 sharp sportsbooks (Pinnacle, Circa, FanDuel, Caesars, Bookmaker), devigged to remove vig. When UD offers a softer line than the market consensus, the fair probability is higher -- and the EV reflects that edge accurately.
Greedy Slip Construction
DMP builds candidate slips across multiple sizes (2-6 legs) using greedy optimization. Each slip must satisfy hard constraints: max 2 legs per game, min 2 unique teams, no incompatible stat markets for the same player (e.g., Points and Points+Rebounds+Assists -- since one is a component of the other), and max 2 legs per player. A Jaccard diversity guard ensures no two slips overlap more than 60%, so you get meaningfully different options.
Gaussian Copula Monte Carlo
This is the key step. Rather than assuming legs are independent (which would overestimate or underestimate joint probabilities), DMP runs a 10,000-sample Monte Carlo simulation using a Gaussian copula model. The correlation matrix accounts for: same-player cross-stat covariance (recovered from our projection variances), teammate correlation (shared pace and game script), same-game opposing-team correlation (shared game total), and bet direction -- two Overs on teammates are positively correlated, but an Over and an Under on teammates are negatively correlated. The simulation outputs P(exactly k legs hit) for k=0 to n, which feeds directly into the payout calculation.
Payout Structure Optimization
Underdog has two payout modes: Standard (all legs must hit, higher payout) and Flex (allows 1-2 misses, lower payout per tier). DMP computes EV for both modes using UD's exact payout tables -- Standard uses P(all hit), while Flex sums across all payout tiers weighted by P(exactly k hits). We recommend whichever mode has higher EV for each slip and show both when applicable.
Multiplier Confirmation
Underdog applies per-leg multipliers that adjust the payout (e.g., 0.85x for a popular pick, 1.12x for a less popular one). Since these multipliers aren't available in our data feed, you enter them from the UD app when reviewing a slip. DMP recalculates the true EV with your actual multipliers and tells you whether the slip is still playable -- because a +15% EV slip can become -EV after a heavy multiplier discount. You can also adjust lines if UD's current line differs from what we have, and we'll re-interpolate the fair probability from the consensus curve.
Why Correlation Matters
Without Correlation Modeling
Multiplying individual leg probabilities assumes legs are independent. If LeBron Over Points and AD Over Rebounds are in the same slip, an independent model treats them separately -- but in reality, a Lakers blowout win boosts both.
With Correlation Modeling
The Gaussian copula captures that both outcomes are driven by the same game state. The correlated simulation accounts for scenarios where both hit or both miss more often than chance would suggest.
The direction of each bet matters too. Two Overs on teammates are positively correlated (good game lifts both). But an Over and an Under on teammates are negatively correlated (contradictory expectations reduce joint probability). DMP encodes this directional awareness into the correlation matrix before running simulations.
Risk Signals
Each slip includes fragility badges so you can assess downside risk at a glance:
Minutes Risk
A player in the slip is on the injury report as questionable or doubtful. If they play limited minutes, the leg could miss regardless of projection accuracy.
Blowout Risk
The Vegas spread is 10+ points. Starters may sit in the 4th quarter, capping stat accumulation and increasing variance.
Concentrated
More than half the legs come from the same game. The slip's outcome is heavily tied to one game's flow rather than being diversified.
League Comparison at a Glance
| Aspect | NBA | NCAAB | MLB |
|---|---|---|---|
| Game Length | 48 minutes | 40 minutes | 9 innings (~3 hrs) |
| Matchup System | 10 archetypes, per-stat softness | 3 position buckets (G/F/C) | Pitcher-vs-batter, platoon splits |
| P(over) Distribution | Normal CDF | Normal CDF | Normal, Bernoulli, or Poisson |
| Baseline Method | Weighted L5/L10/season | Weighted L5/L10/season | Rolling rates + stabilization regression |
| Home Boost | +2% | +3.5% (neutral sites: 0%) | Park factors (venue-specific) |
| Environment | N/A | N/A | Weather, wind, temperature |
| Injuries | Full tier system, redistribution | Not tracked (no reliable data) | Lineup confirmation (starter identity) |
| EV Method | Sharp book consensus | Model + market blend (60/40) | Sharp book consensus |
| Key Edge Signal | Injury redistribution | Tempo + scheme mismatch | BABIP regression |
| AI Insights Focus | Injuries, redistribution, defender matchups | Tempo, pressure, scheme, foul risk | Platoon splits, BABIP/xwOBA regression, park, weather |
Key Takeaway
Each sport gets a purpose-built projection system tuned to its realities. NBA has the richest data (archetypes, injuries, defense profiles), so the system is the most granular. NCAAB compensates for thinner data with heavier season weighting, model-based EV, and context-specific adjustments like foul risk and defensive pressure. MLB is fundamentally different -- pitcher-vs-batter matchups, platoon splits, park factors, and weather create a projection pipeline that shares the same philosophy (quantify edge, model variance, compute P(over)) but uses entirely different inputs and statistical distributions.
The numbers on the odds screen -- PROJ, +EV%, and AI Insights -- each answer a different question. The projection says "what should happen."EV says "is this bet priced in your favor."AI Insights says "will today's context let it happen."And Underdog Slips say "here's how to combine the best edges into optimized multi-leg plays."