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,654

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
 Admin contact
20,129 posts in 4,245 threads, 1,384 registered users;
online 46 (1 registered, 45 guests [including 9 identified bots]).
Forum time (Europe/Vienna): 09:35 CET

Be very, very careful what you put into that head,
because you will never, ever get it out.    Thomas Wolsey

The Bioequivalence and Bioavailability Forum is hosted by
BEBAC Ing. Helmut Schütz
HTML5