Gacha pity systems mean your odds are not a flat number — they climb as your pity count rises. This calculator tracks your current pity, models the soft-pity ramp and hard-pity guarantee, and tells you your real chance of pulling a rare Pokémon within your planned pulls.
How it works
Below the soft-pity pull the per-pull chance is the flat base rate. From soft pity to hard pity the rate ramps linearly to a guaranteed pull:
if pull < softPity: rate = baseRate
if pull >= softPity: rate = baseRate + (1 − baseRate) ×
(pull − softPity + 1) / (hardPity − softPity + 1)
at pull == hardPity: rate = 1.0 (guaranteed)
The chance of at least one rare across your planned pulls is the complement of missing on every one, using each pull’s own rate:
P(at least one) = 1 − Π (1 − rate_pull)
Example and tips
On a banner with a 0.6 percent base rate, soft pity at pull 74, and hard pity at pull 90, a player sitting at pity 70 who plans 20 pulls is effectively guaranteed a rare, because they will cross hard pity at 90. A fresh account doing the same 20 pulls has only a few percent chance. Always enter your real carried-over pity — it is the single biggest factor in your odds.