rpact-com / rpact

rpact: Confirmatory Adaptive Clinical Trial Design and Analysis
https://rpact-com.github.io/rpact/
23 stars 5 forks source link

[Request for Clarification, Improvement, or Removed Functionality] Calculation of "optimal" allocation ratio for survival outcomes. #43

Closed wolbersm closed 1 month ago

wolbersm commented 3 months ago

The help of getSampleSizeSurvival says that setting argument allocationRatioPlanned to 0 will yield the "optimal" randomization ratio (RR). However, it is unclear to me how exactly rpact defines "optimality" and what exactly is numerically implemented. Could this please be improved (or, alternatively, the functionality removed to avoid confusion)?

Of note, we have recently submitted a pre-print (led by my colleague @godwinyyung) on the choice of the RR for time-to-event endpoints: https://arxiv.org/abs/2407.03420v1. The pre-print shows that the choice of the most suitable randomization ratio for time-to-event endpoints requires a trade-off between different quantities (e.g. number of events, trial duration etc). It also highlights limitations of Schoenfeld's and Freedman's approximation to the log-rank test for unequal randomization ratios and demonstrates that Rubinstein's approximation (currently not supported in rpact) is more accurate.

Thanks a lot for considering this and for all your great work on rpact!!

wolbersm commented 3 months ago

I just wanted to add that I noticed that the help actually does say that the "optimal ratio" is the one that yields the minimal sample size given a fixed study duration (accrualTime and followUpTime). The minimal sample size is determined via numerical root finding and yields different results for different approximations (Schoenfeld, Freedman, etc.). - Apologies that I missed this before!

Apart from the fact that Schoenfeld and Freedman both have issues for assessing optimal allocation ratios (as shown in our paper), all is clear for me now. So, from my side, it would be fine to close this issue.

gwassmer commented 1 month ago

You are right, we can close this issue (see explanation above)