Sample Size, $n_B$

Power, $1-\beta$

Type I error rate, $\alpha$



X-axis

min

max


Calculate Sample Size Needed to Test Odds Ratio: Non-Inferiority or Superiority


This calculator is useful for the types of tests known as non-inferiority and superiority tests. Whether the null hypothesis represents 'non-inferiority' or 'superiority' depends on the context and whether the non-inferiority/superiority margin, $\delta$, is positive or negative. In this setting, we wish to test whether the odds of an outcome in group 'A', $p_A(1-p_A)$, is non-inferior/superior to the odds of the outcome in group 'B', $p_B(1-p_B)$, where $p_A$ and $p_B$ are the probabilities of the outcome in the two groups. We collect a sample from both groups, and thus will conduct a two-sample test. The idea is that statistically significant differences between the proportions may not be of interest unless the difference is greater than a threshold. This is particularly popular in clinical studies, where the margin is chosen based on clinical judgement and subject-domain knowledge. The hypotheses to test are

$H_0:\ln(OR)\le\delta$
$H_1:\ln(OR)>\delta$

where $\delta$ is the superiority or non-inferiority margin on the log scale, and the ratio between the sample sizes of the two groups is
$$\kappa=\frac{n_A}{n_B}$$

Formulas

This calculator uses the following formulas to compute sample size and power, respectively: $$ n_A=\kappa n_B \;\text{ and }\; n_B=\left(\frac{1}{\kappa p_A(1-p_A)}+\frac{1}{p_B(1-p_B)}\right) \left(\frac{z_{1-\alpha}+z_{1-\beta}}{\ln(OR)-\delta}\right)^2$$
$$1-\beta= \Phi\left(z-z_{1-\alpha}\right)+\Phi\left(-z-z_{1-\alpha}\right) \quad ,\quad z=\frac{(\ln(OR)-\delta)\sqrt{n_B}}{\sqrt{\frac{1}{\kappa p_A(1-p_A)}+\frac{1}{p_B(1-p_B)}}}$$
where $$OR=\frac{p_A(1-p_B)}{p_B(1-p_A)}$$ and
where

R Code

R code to implement these functions:

pA=0.40
pB=0.25
delta=0.20
kappa=1
alpha=0.05
beta=0.20
(OR=pA*(1-pB)/pB/(1-pA)) # 2
(nB=(1/(kappa*pA*(1-pA))+1/(pB*(1-pB)))*((qnorm(1-alpha)+qnorm(1-beta))/(log(OR)-delta))^2)
ceiling(nB) # 242
z=(log(OR)-delta)*sqrt(nB)/sqrt(1/(kappa*pA*(1-pA))+1/(pB*(1-pB)))
(Power=pnorm(z-qnorm(1-alpha))+pnorm(-z-qnorm(1-alpha)))

References

Chow S, Shao J, Wang H. 2008. Sample Size Calculations in Clinical Research. 2nd Ed. Chapman & Hall/CRC Biostatistics Series. page 107.