The variables as to a Critical Capture's success includes:

- Number of Pokemon in Pokedex
- Pokemon's Normal Capture Rate

The formula is:

>Critical Capture = floor((255,CatchValue) * Multiplier)

Firstly, 'CatchValue' is simply the normal Catch Value formula, which you can look at in the Generation V section of this page.

Now, if this number is below 255, (hence catchable) then this number is multiplied by a certain value, depending on the amount of species in your Pokedex.

- If
**<30** Pokemon are in your Pokedex, this value is **0**.
- If
**31-150** Pokemon are in your Pokedex, this value is **0.5.**
- If
**151-300** Pokemon are in your Pokedex, this value is **1.**
- If
**301-450** Pokemon are in your Pokedex, this value is **1.5.**
- If
**451-600** Pokemon are in your Pokedex, this value is **2.**
- If
**>600** Pokemon are in your Pokedex, this value is **2.5**.

So let's say that the 'CatchValue' is 48, and I have 373 Pokemon in my Pokedex.

CatchValue is below 255, so I can continue with the formula. So the formula would be:

48 x 1.5 = 72

Then, a random number (just a random number, not gonna go into unneeded specifics) will be generated, and if the resulting number (in this case, 72) is below that number, a **critical capture will occur!** :D

Really, the only way to improve the odds is you have to have less Pokemon in your Pokedex. Especially below 30 - since the resulting number will always be 0, and therefore the number will always be below the generated number. Yay. :D

Hope I helped. :)

Source and Above Link.