Gacha Probability Calculator
Derive the real rate for your target, then calculate pulls, resources and cost for one or multiple copies.
Calculation assumptions and limitations
Calculation basis and last reviewed: September 16, 2026
Calculation Basis
The rate helper multiplies overall rarity rate by target share. Independent pulls use a geometric distribution for one copy and a binomial distribution for multiple copies. Pity mode keeps the rate fixed and guarantees one target at threshold minus current count additional pulls. Resource and money estimates multiply pulls by a converted per-pull cost.
Reference Limits
Game rates are not loaded or verified automatically. Multiple-copy pity, increasing rates, featured 50/50 rules and counters reset by other items are excluded. Cost is a proportional estimate without bundle sizes, bonuses, discounts or tax and does not predict an individual outcome or exact purchase price.
When to Confirm Officially
Check the game's current rate notice and what pity actually guarantees. A top-rarity guarantee may not guarantee your target. A high cumulative probability is not a reason to increase spending.
Usage Tips
Compare cumulative pull odds with the remaining pulls to hard pity
If you do not know the individual rate, derive it from the overall rarity rate and featured share first. Compare the cumulative chance of one or multiple copies after 10, 50 or 100 pulls with the additional pulls needed for your desired probability. Enable resource and cost estimates to plan for your pull count, target chance or guaranteed hard pity. Use pity only when the game guarantees your exact target, and check changing soft-pity or featured 50/50 rules separately.
What is Gacha Probability Calculator?
The Gacha Probability Calculator accepts a direct target rate or derives it from rarity rate and featured share, then calculates cumulative odds, pulls, resources and cost for one or multiple copies. It supports independent fixed-rate pulls and a simple hard pity that guarantees one target copy.
How to Use
- 1 Enter the target item's published rate or derive it from the overall rarity rate and featured share.
- 2 For independent pulls, choose the target copies, planned additional pulls and desired probability.
- 3 If the target itself is guaranteed at hard pity, enter its threshold and your current count.
- 4 Optionally enter resource and money costs using a single-pull or ten-pull basis.
- 5 Compare the target odds with the additional pulls, resources and estimated cost needed.
Compare 100 pulls with a 90% target at a 1% rate
Last reviewed: September 16, 2026Cumulative odds and required pulls
P = 1 − (1 − p)^n; N = ceil(log(1 − t) / log(1 − p))
Applies to independent pulls when 0 < p < 1 and 0 < t < 1. Hard pity caps required pulls at the remaining threshold r. Mean waiting time is 1/p, or [1 − (1 − p)^r]/p with pity. At p=0 the target is unattainable without pity and takes exactly r pulls with pity.
1% rate · 100 additional pulls · 90% target
- • Per-pull chance: 1% (p = 0.01)
- • 100 additional pulls, no pity
- • Desired chance: 90% (t = 0.9)
- 1. Hit chance = 1 − 0.99^100 ≈ 63.3968%
- 2. No-hit chance = 0.99^100 ≈ 36.6032%
- 3. Required pulls = ceil(log(0.1) / log(0.99)) = 230
- 4. Mean waiting time = 1 / 0.01 = 100 pulls
The chance of at least one hit in 100 pulls is 63.3968%; reaching 90% requires 230 additional pulls.
How to read the result
- The mean waiting time is not capped at your planned pulls. It assumes you keep going until the first hit.
- Very high probabilities appear as >99.9999% instead of 100% unless the target is guaranteed.
Conditions that change the result
- Multiple copies are supported for independent pulls only. Soft pity, drawing without replacement and game-specific pity resets or featured guarantees are not supported.
- Planned pulls and pity thresholds are capped at 1,000,000. Results use up to four decimals; counts beyond the safe integer range are not displayed as exact numbers.
Common input mistakes
- Do not use the overall top-rarity rate as the target rate; apply the featured share with the rate helper.
- Do not add the current pity count to your planned additional pulls again.
Reference Knowledge
- ● p = per-pull percentage / 100; n = additional pulls
- ● Independent pulls: P(at least one hit) = 1 − (1 − p)^n
- ● At least k copies in independent pulls: P(X ≥ k) = 1 − Σ(i=0 to k−1) C(n,i)p^i(1−p)^(n−i)
- ● Estimated resources or cost = additional pulls × converted per-pull cost
- ● Guaranteed-target pity: r = threshold − current count. The chance is 100% when n ≥ r.
FAQ
Q. Does a 1% chance guarantee a hit in 100 pulls?
No. With independent pulls and no pity, the chance of at least one hit is about 63.3968%, leaving about 36.6032% chance of no hits.
Q. Does this model every game's pity system?
No. It assumes a fixed rate and a hard pity that guarantees your actual target. Soft pity, featured 50/50 rules and counters reset by other items are not included.
Q. How do I get a target rate from an overall rarity rate?
Choose the rate helper and enter the overall rarity rate plus your target's share within that tier. A 3% tier with a 50% target share gives a 1.5% target rate.
Q. Can I calculate multiple copies with hard pity?
Multiple-copy targets are supported for independent fixed-rate pulls only. Pity resets and featured guarantee states differ by game, so pity mode calculates one target copy.
Q. Is the resource and money result an exact purchase price?
No. It scales the entered single-pull or ten-pull amount proportionally. Bundle sizes, bonus currency, discounts and taxes are excluded.
Q. Where do previous failures go?
Past independent failures do not change future odds. In pity mode, enter only the valid current pity count. All output counts are additional pulls from now.
Q. Why do the mean and target-probability count differ?
The mean averages waiting times across repeated runs. The target count is the smallest integer reaching a chosen cumulative probability. Neither means a guaranteed hit without pity.
Q. Are my inputs stored?
Calculation inputs stay in your browser and are not sent to a server or saved. Reset restores the default example.