Gacha Pull Probability Calculator
Calculate the probability of pulling a desired item in gacha/loot box systems, including pity system mechanics.
Results will appear here.
Formula
Without Pity: P(at least 1 success in n pulls) = 1 − (1 − p)n
With Pity (general): Uses dynamic programming over the Markov chain of (pity_counter, successes_count). At each pull index i within a pity cycle:
- Base rate: p(i) = pbase for i < soft_pity_start
- Soft pity: p(i) = pbase + (1 − pbase) × (i − soft_pity_start) / (hard_pity − soft_pity_start) for soft_pity_start ≤ i < hard_pity
- Hard pity: p(i) = 1.0 at i = hard_pity (guaranteed)
Expected pulls per item: E = Σn=1pity n × P(first success on pull n) = Σ n × p(n) × Πk=1n−1(1 − p(k))
Expected pulls for k items: Etotal = k × E[pulls per item]
DP transition: dp[p+1][s] += dp[p][s] × (1 − p(p)); dp[1][s+1] += dp[p][s] × p(p)