My nephew was convinced he was "due" a rare drop after about forty spins. He'd been tracking his results in a notebook. The notebook said the rare appeared once every 11 pulls across his last session. He was extrapolating from that.
This is a story about why I built a small simulator to show him why his notebook was lying to him, and what I learned in the process about how these spin mechanics actually work (and how they're presented to players).
The specific mechanic I looked at
Bite by Night uses a luck-based spin system for its core progression items. The advertised rates are posted in-game, at least for some tiers. I started from those posted values and ran observed trials against them.
My data limitations upfront: I watched about 310 recorded spins across a few YouTube videos and Discord shares, plus my nephew's notebook. That is a genuinely small sample for probability estimation. You need something like 2,000-5,000 pulls to get reliable rare estimates at low drop rates. Everything I say below comes with that caveat.
With 310 observed pulls, I saw the advertised "rare" tier appear 9 times. That's roughly 2.9%. The posted rate for that tier is listed around 2-3% depending on which community wiki you check. So at face value, the rate looks consistent.
The problem isn't the rate itself. It's what players do with it.
The "luck multiplier" confusion
Most of these games offer a "luck boost" of 2x or 3x during events. Here's what players think that means: if my rare chance is 2%, a 2x luck multiplier makes it 4%.
Here's what it actually tends to mean in practice (based on reading through community posts and some disclosed mechanics): the multiplier applies to a rolled value, not the stated percentage. So instead of rolling a random number and comparing it to 2%, you might roll a random number, divide by the multiplier, then compare. At low probabilities, the practical difference between "2% base" and "2x luck boost" can be much smaller than 4%.
Whether any specific game does it this way requires access to the actual code, which I don't have. But the vagueness around "luck multipliers" is real and worth flagging.
Expected pulls to hit a rare: the honest math
If a rare item has a true drop rate of p, then the expected number of pulls to get your first one follows a geometric distribution. The mean is 1/p.
At p = 0.02 (2%): you expect 50 pulls on average.
But "average" conceals a lot. The median (50th percentile) is actually floor(ln(0.5) / ln(1 - 0.02)) = 34 pulls. So half of all players hit their first rare within 34 pulls. The other half take longer, sometimes much longer.
The 90th percentile? About 114 pulls. One in ten players will take 114+ pulls for a 2% drop.
// Expected pulls at the Nth percentile for drop rate p
function pullsAtPercentile(p, percentile) {
return Math.ceil(Math.log(1 - percentile) / Math.log(1 - p));
}
console.log(pullsAtPercentile(0.02, 0.5)); // 34
console.log(pullsAtPercentile(0.02, 0.9)); // 114
console.log(pullsAtPercentile(0.02, 0.99)); // 227
The 99th percentile is 227 pulls. One in a hundred players will go 227+ spins without hitting a 2% rare. Not because anything is broken, just because that's how probability works.
The gambler's fallacy trap
My nephew's notebook is a gambler's fallacy machine. Each spin is an independent event. If you've gone 40 spins without a rare at 2%, your probability on spin 41 is still 2%. The game has no memory. Your notebook is tracking patterns in noise.
This feels obvious when stated directly. It's much less obvious in the middle of a spin session, especially when the game's UI shows you streak counters, "pity" indicators, or other mechanics designed to make you feel momentum.
(Some games do implement actual pity systems that guarantee a rare after N pulls. If Bite by Night has this, it would change the math substantially. From what I could find, the spin wheel I analyzed does not have a hard pity cap, though I could be wrong.)
The simulator
To make the distributions concrete rather than abstract, I built a small spin odds simulator that lets you input a drop rate and see the full distribution: expected pulls, median, 90th percentile, and a histogram of simulated outcomes across 10,000 runs. You can also plug in different "luck multiplier" values to see how they affect things under different interpretations of what that multiplier actually does.
The point isn't to tell anyone not to play. It's to replace the notebook with something that shows the actual distribution. Once you see that going 80 spins without a rare at 2% puts you around the 80th percentile rather than indicating anything is wrong, the experience changes.
What I learned building this
The math is simple. The hard part was understanding how vague the publicly available rate information actually is. Game developers are not required to publish accurate drop rates in most jurisdictions (though some regions are starting to regulate this). The rates on community wikis are often crowd-sourced from samples much smaller than mine.
If you're building anything that involves probability and player expectations, be explicit about what your percentages actually mean. "2% chance" is technically precise but practically misleading without the distribution context. Show your players the 90th percentile number and watch the conversation change.
Top comments (0)