Alpha spending function for group sequential trials
alpha(0) = 0; alpha(1) = alpha; t_k = I_k / I_max; P_0(Z_1 >= c_1 or ... or Z_k >= c_k) = alpha(t_k)
Maps the information fraction reached at an analysis of a group sequential trial to the cumulative one-sided type I error that may have been used by that point. The function rises from zero at the start of the trial to the overall significance level at the planned end. Each efficacy boundary is then set so that the probability, under the null hypothesis, of crossing any boundary up to and including analysis k equals the cumulative spend, with correlation sqrt(t_l / t_k) between the test statistics at analyses l and k. That step needs recursive numerical integration and is done in group sequential software, so the records here cover the closed-form parts: the information fraction, the two Lan-DeMets spending functions, the increment available at each look and the hazard ratio that crosses a given boundary.
Information fraction from deaths for alpha spending
t_k = d_k / D
Lan-DeMets O'Brien-Fleming type spending function
alpha_OF = 2 - 2 * Phi(Phi^-1(1 - alpha / 2) / sqrt(t))
Lan-DeMets Pocock type spending function
alpha_P = alpha * log(1 + (exp(1) - 1) * t)
Alpha spending increment at an interim look
Delta_alpha_k = alpha_k - alpha_(k-1)
Hazard ratio needed to cross an alpha spending boundary
HR_k = exp(-2 * c_k / sqrt(d_k))