AUC passes with 0.05 and Cmax with 0.0294 [Two-Stage / GS Designs]

posted by Helmut Homepage – Vienna, Austria, 2019-09-16 23:30  – Posting: # 20603
Views: 1,499

Hi Elena,

» To be in compliance with method C of Potvin, we re-calculate CI for Cmax with α=0,0294. Let`s assume that BE criterion for Cmax is met after this step. […] Otherwise, finally we will have the following in a CSR: BE criterion was met for AUC using α=0,05 (90%CI) and BE criterion was met for Cmax using α=0,0294 (94,12% CI). Does it look OK?

Absolutely. The ideas behind the different alphas in Potvin C are:
  1. If interim power is ≥80%, essentially your assumptions about the CV were correct. Assess the study like a fixed sample design with α 0.05. You stop anyway (pass/fail).
  2. If interim power is <80%, your assumptions about the CV were not correct. Assess the study with the adjusted α 0.0294.
    1. If you pass, stop.
    2. If you fail, initiate the second stage.
Hence, in your example you are for Cmax in the branch 2.a. and for AUC in branch 1. All is good.

» Should we also re-calculate CI for AUC with α=0,0294?

You could but please only “at home”. That’s against the method and what you should have laid down in the protocol. See the end of this post. My study would have passed with the adjusted α as well.
But what if not? See this bizarre case study. If the sponsor would have known before that the agency will not accept Method C, they would have planned for Method B, initiated a second stage with 6 (six!) subjects and happily walked away. Stupid.

What will you do with your ”homework”?That’s why in my personal ranking Potvin C is just № 6.
I recommended it for years. Well, no more.
IMHO, the small gain in power claimed by the authors is not worth the troubles:

library(PowerTOST)
library(Power2Stage)
CV  <- seq(0.15, 0.4, 0.05)
res <- data.frame(CV = CV, fixed = NA, n1 = NA,
                  B = NA, C = NA, C.B = NA)
n1  <- n <- numeric()
for (j in seq_along(CV)) {
  res$fixed[j]  <- sampleN.TOST(CV = CV[j],
                                print = FALSE)[["Sample size"]]
  res$n1[j]     <- 0.8 * res$fixed[j] # my recommendation
  res$n1[j]     <- ceiling(res$n1[j] + ceiling(res$n1[j]) %% 2)
  if (res$n1[j] < 12) res$n1[j] <- 12
  res$B[j]      <- power.tsd(method = "B", CV = CV[j],
                             n1 = res$n1[j])[["pBE"]]
  res$C[j]      <- power.tsd(method = "C", CV = CV[j],
                             n1 = res$n1[j])[["pBE"]]
  res$C.B[j]    <- 100 * (res$C[j] - res$B[j]) / res$B[j]
}
res[, 4:6] <- signif(res[, 4:6], 4)
names(res)[4:6] <- c("Method B", "Method C", "C/B (%)")
cat("Power in the final analysis\n"); print(res, row.names = FALSE)

Power in the final analysis
   CV fixed n1 Method B Method C C/B (%)
 0.15    12 12   0.8830   0.8994  1.8580
 0.20    20 16   0.8521   0.8624  1.2120
 0.25    28 24   0.8424   0.8508  0.9924
 0.30    40 32   0.8343   0.8411  0.8163
 0.35    52 42   0.8315   0.8350  0.4245
 0.40    66 54   0.8287   0.8321  0.4067


Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. ☼
Science Quotes

Complete thread:

Activity
 Mix view
Bioequivalence and Bioavailability Forum |  Admin contact
20,037 posts in 4,233 threads, 1,378 registered users;
online 12 (2 registered, 10 guests [including 5 identified bots]).
Forum time (Europe/Vienna): 14:22 CET

Maturity is the capacity to endure uncertainty.    John Finley

The BIOEQUIVALENCE / BIOAVAILABILITY FORUM is hosted by
BEBAC Ing. Helmut Schütz
HTML5