Methodology
How PriCalc works
Here's exactly what PriCalc calculates, how it counts, and what its numbers do and don't mean — in plain English.
What PriCalc shows
PriCalc shows historical frequency: how often a player has hit a given prop line in past games. If Jayson Tatum went over 27.5 points in 18 of 30 games this season, PriCalc tells you that — and gives you an honest range around it to show how certain you should be in that number. It does not predict what he'll do tonight. It gives you real data so you can make a more informed decision yourself.
How we count hits
For each prop, PriCalc counts every qualifying game from the current NBA season — regular season and playoffs combined by default. Two rules apply to every count:
- 15-minute minimum. Games where a player logged fewer than 15 minutes are excluded. This filters out garbage-time appearances and injury-shortened games that would skew the data.
- Push handling. If a player's stat exactly equals the line (e.g., exactly 20 points on an Over/Under 20.0), it counts as a miss for the Over and a hit for the Under. Most prop lines end in .5, where this never comes up.
Why we show a range, not just a hit rate
Raw hit rates can mislead when samples are small. If a player went 8-for-10 on a prop, the raw rate is 80% — but with only 10 games, that could easily reflect a lucky stretch. The true underlying rate might be anywhere from about 50% to 95%. We don't have enough data to know.
The range is our way of being honest about that uncertainty. The bold percentage on each result card is the raw historical hit rate. The smaller range below it shows the realistic window around that rate given how much data we actually have.
The 90% confidence range
We calculate a 90% Wilson Score interval around the raw hit rate. In plain terms: based on the games we measured, the player's true long-run rate at this line is likely — about 9 times out of 10 — to fall somewhere within the displayed range. As more games are added to the sample, the range narrows.
We use 90% because it's a standard confidence level that balances honest uncertainty against actionable precision. 95% would produce noticeably wider ranges; 68% would imply more certainty than the data usually supports. 90% is the standard balance between the two.
Filtered context
Small-sample anchoring
When you filter to a smaller window — home games only, or last 10 games — the sample shrinks. Small samples can produce extreme numbers: a player who went over in 5 of 6 home games isn't necessarily an 83% home player. There just isn't enough data to know.
To keep small filtered samples from giving misleading numbers, we pull the filtered estimate toward the player's own full-season rate. The smaller the filter, the more weight goes to the season baseline. As the filter grows, the season anchor fades. This isn't smoothing out your data — it's sizing how much to trust it.
Sample-size floors
Below 15 qualifying games in a filtered sample, PriCalc shows a "small sample" warning. The range may shift meaningfully with each additional game — treat the result as a signal, not a verdict.
Below 20 baseline games for a player overall, PriCalc won't show a result at all. There simply isn't enough history to estimate honestly. We'd rather show nothing than show a number built on too little.
Regular season + playoffs
By default, the 2025-26 sample combines regular season and playoff games. The scope label below the player's name shows the breakdown — for example, "72 games (incl. 12 postseason)" when playoff games are in the mix.
We combine them by default because playoff samples alone are usually too small to be useful on their own. A player might have only 6 or 8 playoff games to draw from this year. Mixing in the regular season gives a fuller, more reliable picture of recent performance. If you want to separate them, the season type filter gives you full control.
Playoff games happen under different conditions — tighter rotations, higher defensive intensity, different pace. Combining them with regular-season games is a tradeoff: more data overall, but mixed contexts. We default to combined because pure playoff samples are usually too small to stand alone. The season type filter lets you separate them if that tradeoff matters for the prop you're analyzing.
Stability labels
Each result card shows a stability label based on how wide the confidence range is — a proxy for how consistent the player's history has been at this line.
- High Stability: the range is narrow. Historical performance at this line has been consistent, and the estimate is likely close to the true long-run rate.
- Moderate Stability: the range is moderately wide. The true rate could fall meaningfully anywhere across the range. Weight other context when interpreting.
- Volatile: the range is wide. Performance has been inconsistent or the sample is small. Interpret with extra caution.
Range Radar's stability looks at game-to-game variation in the underlying stat and how much recent games have drifted from the season average. The Analyze page's stability is based on the width of the confidence range itself. Different math, same broad question: can the historical range be trusted?
What PriCalc is not
- Not a prediction tool. Historical frequency is not a forecast. Past patterns don't guarantee future outcomes.
- Not betting advice. Nothing on PriCalc is a recommendation to bet on any outcome.
- Not a guarantee. Players get hurt, benched, or see role changes mid-season. The history only goes so far.
- One input among many. Always factor in injuries, lineup news, matchup context, and your own judgment before making any decision.
See it in action
Run an analysis and watch how the range changes as you adjust filters and sample sizes.