How Does Pokemon Catch Math Work?
Ever wonder why some Pokemon break out of an Ultra Ball while others stay in a standard Poke Ball on the first try? The game calculates captures using a hidden mathematical formula involving Base Catch Rates, Health, Ball Types, and Status Conditions. Our Pokemon Catch Rate Calculator reveals those hidden mechanics.
If you are interested in the deeper statistics and probabilities behind random number generation, you might also enjoy using our Z-Score Calculator.
The Capture Value ($a$)
When you throw a ball, the game first calculates a specific value known as $a$. The standard modern (Gen VI+) formula looks like this:
a = [ (3HPmax - 2HPcurrent) / (3HPmax) ] × Rate × Ball × Status
If $a$ is greater than or equal to 255, the capture is guaranteed (100% success). If it's less than 255, the game moves on to the "shake checks." For a deep dive into the history of this mechanic across different generations, check out the comprehensive Catch Rate guide on Bulbapedia.
The Shake Checks
If $a < 255$, the game calculates a secondary variable ($b$) and generates four random numbers between 0 and 65535.
Each time the random number is less than $b$, the Poke Ball shakes. If all four random numbers pass the check, the Pokemon is caught. Statistically, this translates to a final capture probability formula of:
Probability = (a / 255) ^ 0.75
This is why lowering HP and using status moves like Spore (Sleep) or False Swipe (leaves 1 HP) are the most effective ways to increase your odds.