Our pre-0.41 data set from GamePress Researcher CreativiTimothy was used to find out the effect of all factors other than medals. Each row of the data stated which factors were in play (Great Balls, Excellent throws, etc).

The formula for simple throws with Great and Ultra Balls was already known to be the GUCT formula, but with all factors equal to 1 except for the Ball factor. The next step was to add in curveballs, which make up the majority of our sample. The desired result was the catch probability function f(x) as a function of the inner term, 0.5*BaseCapRate/CpM, which we'll call x. This term is also the catch probability for a simple Poke Ball throw, or GO+ capture attempt without medal bonuses.

After binning the data into even intervals of dx=0.04, the catch rate within each bin was averaged to produce the bin's probability. A best fit was done to the binned data using the SciPy library in Python, and after a variety of guesses, the function which came out best and held for all ball types was

$$f(x)=1 - (1-x)^{Ball*C}$$

The fit was done separately for each type of ball, and so there were different best-fit parameters C for each type. The table below shows the corresponding best-fit exponents, their standard deviations, the guess of C = 1.7 which we used in the GUCT, the experimental difference, and the sample size:

bestfit stdev BF*1.7 guess Δ N Poke 1.688 0.011 1.7 0.012 44046 Great 2.605 0.046 2.55 0.055 3455 Ultra 3.45 0.091 3.4 0.05 1486

After keeping only first-throw attempt data where only ball and curve bonuses apply, SciPy curve fit found that the optimal number to fit all three equations was 1.6903, with a standard deviation of 0.007. Since the Ball multipliers were round numbers, we are very inclined to believe that Niantic chose a round number for the Curve multiplier, namely 1.7. This is easily within error, because our Poke Ball catch rate had been rounded to two decimal places, and the 0.007 standard deviation brings 1.6903 nearly to 1.7 anyway. Thus we consider the evidence sufficient to conclude that 1.7 is the curveball multiplier.

Here are the three fits for Poke, Great, and Ultra Balls, respectively. The x-axis is x=0.5*BaseCapRate/CpM and the y-axis is the probability of catching a Pokemon with that x value.