The setup
Many games hand out items with a fixed chance per attempt: a monster might drop a rare item, or an opened crate might contain a particular reward. A pity timer is an extra rule that guarantees the item after a set number of failed attempts in a row. This article simulates both versions to see how they differ.
All numbers below are illustrative. They are chosen to make the arithmetic easy to check and are not taken from any real game, whose actual rules and rates this site does not claim to know.
Without a pity timer
Suppose each attempt has a 1% chance of producing the item, so p = 0.01, and attempts are independent. Some results follow from simple formulas.
- The average number of attempts until the first success is 1/p = 100.
- The chance of failing a single attempt is 0.99, so the chance of failing 100 attempts in a row is 0.99^100, which is about 0.366.
- So the chance of at least one success within 100 attempts is about 1 - 0.366 = 0.634, or roughly 63%.
That last point surprises people. An average of 100 attempts does not mean you are guaranteed one by attempt 100. About 37% of players, in this illustration, would still be waiting, and some would wait far longer. The distribution of waiting times has a long tail.
The median is also lower than the mean. The number of attempts n at which the chance of having succeeded reaches 50% satisfies 0.99^n = 0.5, which gives n of about 69. So half of players succeed within about 69 attempts, while the average is pulled up to 100 by the unlucky ones.
Adding a pity timer
Now add a rule: if the first 89 attempts all fail, attempt 90 is guaranteed to succeed. The player now gets at most 90 attempts. The chance that the guarantee is actually needed is the chance that the first 89 attempts all fail, 0.99^89, which is about 0.409.
The expected number of attempts with a cap of N and per-try chance p is:
(1 - (1 - p)^N) / p
With p = 0.01 and N = 90, we need 0.99^90, which is about 0.405. Then the expected attempts are (1 - 0.405) / 0.01 = 59.5, so about 60 attempts on average.
Two things changed. The average dropped from 100 to about 60, and the worst case is now exactly 90 rather than unbounded. About 41% of players, in this illustration, would reach the guarantee.
The pity timer does not just cut the tail; it also shifts the whole average down, because the cap is reached often enough to matter.
Simulating both versions
A short program makes the comparison concrete:
import random
def tries_without_pity(p):
tries = 0
while True:
tries += 1
if random.random() < p:
return tries
def tries_with_pity(p, cap):
tries = 0
while True:
tries += 1
if tries == cap or random.random() < p:
return tries
players = 100_000
p = 0.01
plain = [tries_without_pity(p) for _ in range(players)]
pity = [tries_with_pity(p, 90) for _ in range(players)]
print("average without pity:", sum(plain) / players)
print("average with pity: ", sum(pity) / players)
print("longest without pity:", max(plain))
print("longest with pity: ", max(pity))
The averages should come out near 100 and 60, give or take simulation noise, and the longest wait with the pity timer will be exactly 90. Without it, among 100,000 players the longest wait is likely to be well over a thousand attempts. A histogram of each list shows the difference clearly: a long right tail in the first, and a tall bar at 90 in the second.
Soft pity and changing odds
Some designs raise the success chance gradually as failures accumulate, rather than guaranteeing a drop at one point. You can model that by making p a function of the number of failures so far. The same simulation structure applies: loop, update the chance, roll, record the number of tries.
Whatever the design, the rule of thumb holds. A pity mechanism moves probability from the unlucky tail to earlier attempts, which lowers the average and caps the worst case, but it cannot make every player lucky.
Why designers use them
Designers often add pity timers and similar guarantees to limit frustration, since a few players otherwise face extreme streaks of bad luck. This is a point in game design randomness and a cousin of shuffle bags, which also keep results from drifting too far from the average. For a deeper look at calculating chances like these, see the ideas around drop rates in general.
A note on payment and harm
When attempts cost real money, for example in paid loot boxes, the maths above still applies, but it should not be read as a way to “get your money’s worth”. Each attempt is independent, past failures do not make the next attempt more likely to succeed unless a pity rule exists and is documented, and a guarantee at attempt 90 can mean spending a lot before reaching it. Spending that grows past what a person planned is a recognised risk, and spending limits are one way to keep it in check. If spending on games is becoming hard to control, a local support service can help. This article is a probability exercise, not advice to spend.