Player prop markets — Points, Rebounds, Assists, 3-Pointers, and combinations like PRA — are the fastest-growing segment of US sports betting. They are also often less standardized and more projection-sensitive than major sides and totals, because bookmakers must price hundreds of lines per game with limited per-player data.
Our Player Props EV Calculator lets you test whether a prop bet has positive expected value based on your own projection. Enter your estimated average for a player, the bookmaker’s line and odds, and the tool calculates your edge, EV per $100, fair odds, and a suggested half-Kelly stake.
Player Props EV Calculator
NBA / NCAABWhat this tool does and does not do:
- Converts your projection into a probability and EV estimate.
- Does not generate player projections — you provide them.
- Best fit: Points, Rebounds, Assists, PRA.
- Use with caution: 3PM, Turnovers. Rough only: Steals, Blocks.
How to Use the Player Props EV Calculator
- Select stat type: Points, Rebounds, Assists, PRA, 3PM, Steals, Blocks, Turnovers, or Custom.
- Select side: Over or Under.
- Enter the book line: The number set by the sportsbook (e.g., 24.5 Points).
- Enter book odds: In American format (e.g., -115, +105).
- Enter your projection: Your estimated average for this player in this game. This is the critical input — the tool is only as good as your projection.
- Standard deviation (optional): If you have game-log data, enter the player’s standard deviation for this stat. If left blank, the calculator uses NBA-average defaults.
- Read the results: The calculator shows your edge vs. the book, EV per $100, fair odds, and a half-Kelly stake for your bankroll.
The Model
The calculator uses a normal distribution approximation to estimate the probability of a player exceeding (or falling below) the book line.
Inputs: Your projection (mean) and standard deviation define a bell curve of possible outcomes.
Calculation: Z = (Line – Projection) / Std Dev. The probability of Over = 1 – CDF(Z). The probability of Under = CDF(Z).
Edge: Your estimated probability minus the book’s implied probability (from the odds).
EV per $100: (Your Probability × Payout) – (1 – Your Probability) × $100.
Fair Odds: 1 / Your Probability, converted to American format. If the book offers worse odds than your fair odds, the bet has negative EV.
Kelly Criterion: The half-Kelly stake is a common conservative staking approach that balances bankroll growth against risk. Full Kelly is aggressive and rarely used in practice.
Default Standard Deviations
Important: These are fallback placeholders, not player-specific estimates. For serious use, derive SD from the player’s actual game logs, adjusted for expected minutes and role.
If you do not enter a custom standard deviation, the calculator uses these NBA-average defaults:
| Stat | Default SD | Model Fit | Notes |
|---|---|---|---|
| Points | 7.5 | Good | High-volume scorers may be higher (9+); role players lower (5-6) |
| Rebounds | 3.0 | Good | Centers tend to be more consistent; guards more volatile |
| Assists | 2.5 | Good | Point guards may have SD of 3+ |
| PRA (combined) | 9.0 | Good | Correlated components; use PRA Combo Calculator for component-level analysis |
| 3-Pointers Made | 1.5 | Caution | Discrete, low-count. Normal approximation is rough. High shooters may have SD of 2+ |
| Turnovers | 1.2 | Caution | Discrete, zero-bounded. Ball-handlers tend to have higher SD |
| Steals | 0.9 | Rough | Very low-count (0-3 range). Distribution is skewed; Poisson would be more appropriate |
| Blocks | 0.8 | Rough | Most players block 0-2. Distribution is heavily skewed; normal model is a crude approximation |
Model Fit guide: “Good” = normal distribution is a reasonable approximation. “Caution” = usable but less accurate; check results against intuition. “Rough” = the normal model is a crude placeholder; results for Steals and Blocks props should be treated as directional only.
For more accurate results, calculate the player’s actual SD from their last 10-20 game logs.
Worked Example
Scenario: Sportsbook offers Over 24.5 Points at -115 for a star guard. Your model projects 27.0 points with a standard deviation of 8.0.
- Z-score: (24.5 – 27.0) / 8.0 = -0.3125
- P(Over): 1 – CDF(-0.3125) = 62.3%
- Book implied: -115 → 53.5%
- Edge: 62.3% – 53.5% = +8.8%
- EV per $100: (0.623 × $86.96) – (0.377 × $100) = +$16.36
- Fair odds: 1/0.623 = 1.606 decimal = -165 American
- Half-Kelly: ~5% of bankroll
The model-implied fair price (-165) is much shorter than the listed book price (-115). This suggests a potentially positive-EV bet — subject to the accuracy of your projection, minutes certainty, and the suitability of the normal approximation for this stat type.
Best and Weakest Use Cases
Best results: high-minute starters with stable roles, Points/PRA/Rebounds/Assists lines, projections built from minutes + usage rate + matchup data, half-point lines (24.5, 30.5).
Weakest results: low-minute bench players with volatile roles, low-count stats (Blocks, Steals), whole-number lines where push is possible, games with high blowout or injury uncertainty.
Limitations
- Normal distribution is an approximation. Real stat distributions can be skewed (blocks, steals), truncated at zero, or bimodal (injury-shortened games). The model works best for Points, Rebounds, Assists, and PRA. For Steals and Blocks, a Poisson distribution would be more appropriate — a future upgrade may add this.
- No continuity correction. Basketball stats are discrete (whole numbers), but the normal distribution is continuous. On half-point lines (24.5), this is not an issue. On whole-number lines (24.0), where a push is possible, the model does not separately estimate push probability. Treat results on whole-number lines as approximate.
- Right-skew not modeled. Real player stat distributions often have a left tail that is heavier than a normal distribution predicts — a player can score 0 (injury, foul trouble, blowout benching), but cannot score negative points. This asymmetry means Under outcomes may be slightly more likely than the symmetric normal model suggests.
- Your projection is everything. The calculator does not generate projections — you provide them. If your projection is wrong, the EV estimate is wrong.
- Game context matters. Pace, opponent defense, blowout risk, rest days, and minutes projections all affect player stats. A season average is a starting point, not a final projection.
- Default SDs are league averages. Individual players can deviate significantly. Use game-log data when possible.
- Vig on props is high. Typical prop vig is 6-8%. Very small edges (under ~3%) are often not actionable once model error and vig are considered.
Frequently Asked Questions (FAQ)
Where do I get player projections?
The most common sources are: your own model built from game logs and matchup data; paid projection services (e.g., Fantasy Labs, EV Analytics); season averages adjusted for matchup, pace, and minutes; or consensus projections from DFS platforms like DraftKings and FanDuel.
Why use a normal distribution instead of Poisson?
Poisson or other count-based models are often more appropriate for low-count discrete events (goals in soccer, blocks and steals in basketball). For high-volume stats like Points (typical range 10-40), the normal distribution is a reasonable and computationally simple approximation. For stats like Blocks or Steals (0-3 range), the normal model is less accurate and results should be treated as rough estimates.
What edge is worth betting?
As a rough guideline: below 2% edge, the bet is likely not worth the risk given model uncertainty and vig. Between 2-5%, marginal — bet small or skip. Above 5%, the bet is worth serious consideration if your projection is based on real data. Above 10%, double-check your inputs — edges that large are rare and may indicate an error.
Does this work for NCAAB (college basketball)?
The math is the same, but default standard deviations may differ (college games are shorter: 40 minutes vs. 48). Adjust your projection and SD accordingly if using for college props.
Can I use this for other sports?
Yes — the normal distribution model works for any continuous stat prop (passing yards in NFL, shots on goal in hockey, etc.). Select “Custom” stat type and enter your own projection and SD. The math is sport-agnostic.
