Skip to contents

Specifies a proof-of-concept study with one binary endpoint: the sample sizes, the prior distributions, the external data, the form of the control group and the decision criterion. The design is used by qdm_decide, qdm_oc and qdm_calibrate.

Usage

design_binary(
  n_t,
  n_c,
  prior_t,
  prior_c = NULL,
  criterion,
  external_t = NULL,
  external_c = NULL,
  hypothetical_c = NULL,
  fixed_c = NULL
)

Arguments

n_t

Number of subjects in the treatment group (a whole number of at least 1).

n_c

Number of subjects in the concurrent control group (a whole number of at least 0).

prior_t, prior_c

Beta prior distributions of the response rates of the treatment and control groups, created by prior_beta. prior_c must be NULL (the default) for a fixed control and is required otherwise.

criterion

Decision criterion for one endpoint, created by criterion_posterior or criterion_predictive. Its argument direction sets whether larger or smaller effects are favorable.

external_t, external_c

External data of the treatment and control groups, created by borrow with data_binary, or NULL (no external data).

hypothetical_c

Hypothetical control, created by hypothetical with data_binary, or NULL. It can be used only when n_c = 0.

fixed_c

Fixed control response rate, a number from 0 to 1, or NULL. It can be used only when n_c = 0.

Value

An object of class c("qdm_design_binary", "qdm_design"), a list with the arguments and the element control ("concurrent", "external", "hypothetical" or "fixed").

Details

The response rates \(\pi_t\) and \(\pi_c\) of the treatment and control groups have Beta prior distributions, and the treatment effect is \(\theta = \pi_t - \pi_c\). The control group takes one of four forms.

Concurrent control

n_c is at least 1. External control data can be added through external_c.

External control only

n_c = 0 and external_c is given. The distribution of \(\pi_c\) is the posterior distribution given the external control data.

Hypothetical control

n_c = 0 and hypothetical_c is given. The distribution of \(\pi_c\) is the posterior distribution given the hypothetical control data. The hypothetical control \(\pi_c \sim \textrm{Beta}(\alpha_t + z, \beta_t + n_t - z)\) of Kang et al. (2026, Section 4.1.4) is obtained with prior_c equal to prior_t and hypothetical(data_binary(n_t, z)).

Fixed control

n_c = 0 and fixed_c is given: the control response rate is a known value \(\pi_c\), as in a single-arm study compared with a benchmark. The posterior probabilities are \(\Pr(\pi_t > \theta_{TV} + \pi_c \mid D)\) and \(\Pr(\pi_t \le \theta_{MAV} + \pi_c \mid D)\), computed from the Beta posterior distribution of \(\pi_t\) (with the inequalities reversed for direction = "less"). For the posterior predictive criterion the future effect is \(Y_t / m_t - \pi_c\), where \(Y_t\) follows the Beta-binomial posterior predictive distribution (a future effect that differs from the null value by less than \(10^{-10}\) is treated as equal to it); m_c is not used. prior_c is not used and must be NULL.

External treatment data (external_t) can be used with any form of the control group. External data enter through a power prior: with external data of \(n_e\) subjects and \(y_e\) responders and weight \(a_0\), the posterior distribution of the response rate is \(\textrm{Beta}(\alpha + a_0 y_e + y, \beta + a_0 (n_e - y_e) + n - y)\).

References

Kang, R., Yamaguchi, Y. and Han, C. (2026). Bayesian quantitative decision-making framework in cell and gene therapy development for rare diseases. Journal of Biopharmaceutical Statistics. doi:10.1080/10543406.2026.2655410

Examples

# Concurrent control with external control data
design_binary(
  n_t = 12, n_c = 12,
  prior_t = prior_beta(0.5, 0.5), prior_c = prior_beta(0.5, 0.5),
  criterion = criterion_posterior(theta_tv = 0.2, theta_mav = 0.1,
                                  gamma_go = 0.5, gamma_nogo = 0.8),
  external_c = borrow(data_binary(n = 20, y = 8), a0 = 0.5)
)
#> Design: one binary endpoint
#>   Treatment: n = 12, prior Beta(a = 0.5, b = 0.5)
#>   Control: concurrent, n = 12, prior Beta(a = 0.5, b = 0.5)
#>     External data: binary, n = 20, y = 8, a0 = 0.5
#> Posterior probability criterion
#>   Go:   P(theta > 0.2 | data) >= 0.5
#>   NoGo: P(theta <= 0.1 | data) >= 0.8

# Uncontrolled study with a hypothetical control
design_binary(
  n_t = 12, n_c = 0,
  prior_t = prior_beta(0.5, 0.5), prior_c = prior_beta(0.5, 0.5),
  criterion = criterion_predictive(theta_null = 0, m_t = 50,
                                   gamma_go = 0.9, gamma_nogo = 0.7),
  hypothetical_c = hypothetical(data = data_binary(n = 12, y = 4))
)
#> Design: one binary endpoint
#>   Treatment: n = 12, prior Beta(a = 0.5, b = 0.5)
#>   Control: hypothetical, prior Beta(a = 0.5, b = 0.5)
#>     Hypothetical control: data (binary, n = 12, y = 4)
#> Posterior predictive probability criterion (m_t = 50, m_c = 50)
#>   Go:   P(future theta > 0 | data) >= 0.9
#>   NoGo: P(future theta <= 0 | data) >= 0.7

# Single-arm study compared with a fixed control response rate of 0.2
design_binary(
  n_t = 20, n_c = 0, prior_t = prior_beta(1, 1),
  criterion = criterion_posterior(theta_tv = 0.2, theta_mav = 0.05,
                                  gamma_go = 0.8, gamma_nogo = 0.8),
  fixed_c = 0.2
)
#> Design: one binary endpoint
#>   Treatment: n = 20, prior Beta(a = 1, b = 1)
#>   Control: fixed value 0.2
#> Posterior probability criterion
#>   Go:   P(theta > 0.2 | data) >= 0.8
#>   NoGo: P(theta <= 0.05 | data) >= 0.8