Menu

Inputs

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', pA(1pA)p_A(1-p_A), is non-inferior/superior to the odds of the outcome in group 'B', pB(1pB)p_B(1-p_B), where pAp_A and pBp_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
H0:ln(OR)δH_0:\ln(OR)\le\delta
H1:ln(OR)>δ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
κ=nAnB\kappa=\frac{n_A}{n_B}

Formulas

This calculator uses the following formulas to compute sample size and power, respectively:
nA=κnB   and   nB=(1κpA(1pA)+1pB(1pB))(z1α+z1βln(OR)δ)2 n_A=\kappa n_B \;\text{ and }\; n_B=\left(\frac{1}{\kappa p_A(1-p_A)}+\frac{1}{p_B(1-pB)}\right) \left(\frac{z_{1-\alpha}+z_{1-\beta}}{\ln(OR)-\delta}\right)^2
1β=Φ(zz1α)+Φ(zz1α),z=(ln(OR)δ)nB1κpA(1pA)+1pB(1pB)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-pB)}}}
where
OR=pA(1pB)pB(1pA)OR=\frac{p_A(1-p_B)}{p_B(1-p_A)}
and where κ=nA/nB\kappa=n_A/n_B is the matching ratio Φ\Phi is the standard Normal distribution function Φ1\Phi^{-1} is the standard Normal quantile function α\alpha is Type I error β\beta is Type II error, meaning 1β1-\beta is power δ\delta is the testing margin

R Code

1pA=0.40
2pB=0.25
3delta=0.20
4kappa=1
5alpha=0.05
6beta=0.20
7(OR=pA*(1-pB)/pB/(1-pA)) # 2
8(nB=(1/(kappa*pA*(1-pA))+1/(pB*(1-pB)))*((qnorm(1-alpha)+qnorm(1-beta))/(log(OR)-delta))^2)
9ceiling(nB) # 242
10z=(log(OR)-delta)*sqrt(nB)/sqrt(1/(kappa*pA*(1-pA))+1/(pB*(1-pB)))
11(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.