bpp_2interim {bpp}R Documentation

Bayesian Predictive Power (BPP) for Normally Distributed Endpoint


Compute BPP and posterior density for a Normally distributed endpoint, e.g. log(hazard ratio), assuming the trial did not stop at two blinded interim analyses.


bpp_2interim(prior = "normal", interimSE, finalSE, successmean, IntEffBoundary, 
                    IntFutBoundary, priormean, thetas, ...)



Prior density on effect sizes. So far, this function only accomodates a Normal prior, as opposed to bpp_1interim where also the pessimistic prior introduced in Rufibach et al (2016a) can be specified.


(Known) standard error of estimate at interim analysis.


(Known) standard error at which the final analysis of the study under consideration takes place.


The mean that defines success at the final analysis. Typically chosen to be the minimal detectable difference, i.e. the critical on the scale of the effect size of interest corresponding to the significance level at the final analysis.


2-d vector of efficacy boundaries at the interim analyses.


2-d vector of futility boundary at the interim analyses.


Prior mean.


Grid to compute posterior density on.


Further arguments specific to the chosen prior (see bpp_1interim for examples).


A list containing the following elements:

initial BPP

BPP based on the prior.

BPP after not stopping at interim interval

BPP after not stopping at a blinded interim.

posterior density interval

The posterior density, interval knowledge.


Kaspar Rufibach (maintainer)


Rufibach, K., Jordan, P., Abt, M. (2016a). Sequentially Updating the Likelihood of Success of a Phase 3 Pivotal Time-to-Event Trial based on Interim Analyses or External Information. J. Biopharm. Stat., 26(2), 191–201.

Rufibach, K., Burger, H.U., Abt, M. (2016b). Bayesian Predictive Power: Choice of Prior and some Recommendations for its Use as Probability of Success in Drug Development. Pharm. Stat., 15, 438–446.


# ------------------------------------------------------------------------------------------
# Illustrate the update after two passed interims using the Gallium clinical trial
# ------------------------------------------------------------------------------------------

# ------------------------------------------
# set all parameters:
# ------------------------------------------
# prior mean / sd
hr0 <- 0.9288563
priormean <- log(hr0)
priorsigma <- sqrt(4 / 12)

# specifications for pivotal study
propA <- 0.5   # proportion of patients randomized to arm A
fac <- (propA * (1 - propA)) ^ (-1)
nevents <- c(111, 248, 370)
interimSE <- sqrt(fac / nevents[1:2])
finalSE <- sqrt(fac / nevents[3])
za <- c(3.9285726330559, 2.5028231888636, 1.9936294555664)
alphas <- 2 * (1 - pnorm(za))
hrMDD <- exp(- za * sqrt(fac / nevents))
successmean <- log(hrMDD[3])

# efficacy and futility interim boundary
effi <- log(c(0, hrMDD[2]))
futi <- log(c(1, Inf))

# grid to compute densities on
thetas <- seq(-0.65, 0.3, by = 0.01)

bpp_2interim(prior = "normal", interimSE = interimSE, finalSE = finalSE, 
             successmean = successmean, IntEffBoundary = effi, IntFutBoundary = futi, 
             priormean = priormean, thetas = thetas, priorsigma = priorsigma)

[Package bpp version 1.0.4 Index]