This game is starting to troll me so hard it's annoying lol... hatched a 62cp Onix from a 10k egg yesterday and had a Hitmonlee run after 5 razz+ultraballs. It was only 390cp. My friend who was beside me caught a 700cp with 2 great balls.

I find the lack of consistency really annoying now. Is there a percentage algorithm to the balls and cp relation or is it completely utterly random?
A 23cp Weedle should not be breaking out of 3 razz+great balls, on the flipside I caught a 820cp Fearow with 1 regular pokeball.