This guide will provide you with the best way to get 100iv pokemon in Pokemon Go.
If you’re trying to catch 100iv pokemon in the wild, then there is a 1 in 4,096 chance that you’ll succeed in catching it.

This probability is reduced to 1 in 1,728 if you are trying to catch a 100iv pokemon through a weather boost.

And it will further reduce to 1 in 152 if you’re trying to catch a pokemon through the shadow pokemon.
The other way you can increase the chance of getting a 100iv pokemon is by trading the pokemon with your friends. The probability of getting a 100iv pokemon during that is dependent upon the status of your friendship with that friend which is as follows.
Good friend trade: 1 in 3,375
Great friend trade: 1 in 2,744
Ultra friend trade: 1 in 2,197
Best friend trade: 1 in 1,331
Hatching Pokemon from eggs, earning them in quests, or defeating them as a Raid Boss, all provide the same chance of obtaining a 100iv Pokemon is 1 in 216.