Mann–Whitney Sample Size Calculator

Plan nonparametric experiments when data are skewed or ordinal. Enter the probability-of-superiority (Cliff’s delta converted), desired alpha and power, plus an optional allocation ratio to see how many participants are needed in each arm.

Probability-of-superiority you want to detect (50% = no effect).
Two-sided α level, typically 5%.
Target power such as 80% or 90%.
Optional. Default 1.00 (equal group sizes).

Approximation accuracy improves when both groups have at least 20 observations. Validate with simulation if your design violates large-sample assumptions.

Examples

  • Probability-of-superiority 63.8%, α 5%, power 80%, equal allocation ⇒ Recruit 70 participants in the treatment arm and 70 in the control arm (total 140) to detect a 63.80% probability-of-superiority with 80.00% power at α = 5.00%.
  • Probability-of-superiority 65%, α 5%, power 90%, equal allocation ⇒ Recruit 79 participants in the treatment arm and 79 in the control arm (total 158) to detect a 65.00% probability-of-superiority with 90.00% power at α = 5.00%.

FAQ

How do I convert Cohen’s d to probability-of-superiority?

Use the relation P = Φ(d/√2), where Φ is the standard normal CDF. For d = 0.5, P ≈ 0.638, matching the first example above.

Does this include continuity corrections?

No. For small samples you may add 1–2 participants per group as a safeguard or use exact power software to refine the estimate.

Can I set different alpha levels for one-sided tests?

Yes—enter the one-sided alpha directly. The calculator always uses a two-sided critical value internally, so halve α first if you need a one-sided design.

Additional Information

  • Probability-of-superiority equals 0.5 + Cliff’s delta / 2. Convert from Cohen’s d via Φ(d/√2) if you prefer parametric effect sizes.
  • The calculator uses Noether’s large-sample approximation for two-sided tests; increase the ceiling by a few participants when designing very small pilots.
  • Allocation ratio > 1 means more participants in the treatment arm; use values < 1 to oversample the control group.