Skip to contents

Overview

oncoPoS performs Probability of Success (PoS) calculations for a phase 3 oncology study using a Bayesian Hierarchical model. The prior in this model is based on the data observed in an earlier study, design features for the phase 3 study that is being assessed and the industry benchmark for success.

The Bayesian framework used in oncoPoS relies on the work by (Hampson et al. 2022). See PoS Bayesian Framework vignette for details.

The main functions of the oncoPoS are run_stan and gen_pos, which generate the PoS estimate and its standard error (SE) at each planned analysis by running rstan. The SE is calculated as p̂(1p̂)/Ndraws\sqrt{\hat{p}(1-\hat{p})/N_{\text{draws}}}, where p̂\hat{p} is the estimated PoS and NdrawsN_{\text{draws}} is the total number of post-warmup MCMC draws.

The PoS estimate can be generated without considering an observed treatment effect from an earlier study, or it can incorporate prior ORR and/or PFS data as described in the sections below.

PoS estimate example

Let’s assume that we designed a phase 3 randomized oncology trial in a certain disease setting with progression-free survival (PFS) as a primary endpoint. The design features of this study are as follows:

  • Target hazard ratio (HR): 0.70;
  • Group sequential design with two analysis;
  • Target number of events at each analysis: 370, 468;
  • Approximate HR bound at each analysis: 0.779, 0.8204.

While the overall alpha level of 2.5% and power 95.5% could be seen as design features in general, these are not considered as direct design features for the PoS estimation and therefore are not inputs in oncoPoS relevant functions.

To proceed with the PoS estimation, an industry benchmark is required as well. We treat the benchmark as a random variable ω\omega, reflecting uncertainty in the prior probability of trial success. Without considering the specific design features of this trial, we assume there is a 50% chance that such a trial will be successful, i.e., ωmean=0.5\omega_{\text{mean}} = 0.5, with a default variance of ωvar=0.02\omega_{\text{var}} = 0.02.

No earlier study data

If there is no specific earlier study that could be linked directly to this phase 3 through an objective response rate (ORR) or PFS, the PoS estimate at each analysis is calculated as following:

gen_pos(
  target_hr  = 0.7,
  J          = 2,
  nevents3   = c(370, 468),
  hr_bound   = c(0.779, 0.8204),
  omega_mean = 0.5,
  seed       = 245,
  refresh    = 0
)
#> # A tibble: 2 × 5
#>       J   pos pos_se omega_mean omega_var
#>   <int> <dbl>  <dbl>      <dbl>     <dbl>
#> 1     1 0.416 0.0220      0.500    0.0208
#> 2     2 0.474 0.0223      0.500    0.0208

Prior PFS data

Let’s change the above scenario and assume that there was a randomized phase 2 trial with observed PFS hazard ratio (HR) of 0.53 and a 95% confidence interval (CI) of (0.31, 0.91). This phase 2 trial led to the decision to continue the clinical development of the compound in the specific disease setting and thus design a phase 3 trial. This additional information is incorporated in the PoS estimates as follows:

gen_pos(
  target_hr   = 0.7,
  J           = 2,
  nevents3    = c(370, 468),
  hr_bound    = c(0.779, 0.8204),
  omega_mean  = 0.5,
  use_pfs     = TRUE,
  est_obs_pfs = 0.53,
  low_obs_pfs = 0.31,
  upp_obs_pfs = 0.91,
  seed        = 245,
  refresh     = 0
)
#> # A tibble: 2 × 5
#>       J   pos pos_se omega_mean omega_var
#>   <int> <dbl>  <dbl>      <dbl>     <dbl>
#> 1     1 0.732 0.0198      0.515    0.0173
#> 2     2 0.816 0.0173      0.515    0.0173

Prior ORR data

If an earlier study didn’t have a reliable PFS estimate and only ORR was available, it can be used for PoS estimation as well. We will assume that, based on the earlier study 33 out of 60 and 18 out of 63 participants in the experimental and control arms had responses respectively.

In this case, when the ORR data is used, the coefficients for the linear relationship between the log treatment effect on ORR and PFS are estimated indication-specific using prior meta-analytic data through a Bayesian hierarchical model. If no indication is specified, the default coefficients (calculated as the mean across all indication groups) will be used.

Indication Groups

  • Group 1: Hematologic malignancies
    Includes classical Hodgkin lymphoma (cHL), diffuse large B-cell lymphoma (DLBCL), follicular lymphoma (FL), multiple myeloma (MM), non-Hodgkin lymphoma (NHL), and peripheral T-cell lymphoma (PTCL).
  • Group 2: Gynecologic cancers
    Includes cervical, endometrial, and ovarian cancers.
  • Group 3: Thoracic malignancies
    Includes non-small cell lung cancer (NSCLC), small cell lung cancer (SCLC), and mesothelioma.
  • Group 4: Urologic and gastrointestinal solid tumors
    Includes bladder cancer, gastric cancer, and renal cell carcinoma (RCC).
  • Group 5: Breast cancer
    Includes breast cancer.

Here we specify the indication group as breast cancer (Group 5):

gen_pos(
  target_hr    = 0.7,
  J            = 2,
  nevents3     = c(370, 468),
  hr_bound     = c(0.779, 0.8204),
  omega_mean   = 0.5,
  use_orr      = TRUE,
  n_resp_trt2  = 33,
  n_trt2       = 60,
  n_resp_ctrl2 = 18,
  n_ctrl2      = 63,
  indication   = 5,
  seed         = 245,
  refresh      = 0
)
#> # A tibble: 2 × 5
#>       J   pos pos_se omega_mean omega_var
#>   <int> <dbl>  <dbl>      <dbl>     <dbl>
#> 1     1 0.86  0.0155      0.533    0.0187
#> 2     2 0.898 0.0135      0.533    0.0187

Single-arm setting

When no concurrent control arm is available in the earlier study, the SOC response rate pSOCp_{\text{SOC}} cannot be observed directly. Instead, a distribution is placed over pSOCp_{\text{SOC}} using user-specified lower and upper bounds on the control ORR:

  • low_soc_rr: lower bound for the control ORR
  • upp_soc_rr: upper bound for the control ORR

In this setting, n_resp_ctrl2 and n_ctrl2 are replaced by low_soc_rr and upp_soc_rr. For example, assuming the SOC ORR is bounded between 5% and 20%:

gen_pos(
  target_hr   = 0.7,
  J           = 2,
  nevents3    = c(370, 468),
  hr_bound    = c(0.779, 0.8204),
  omega_mean  = 0.5,
  use_orr     = TRUE,
  n_resp_trt2 = 33,
  n_trt2      = 60,
  single_arm  = TRUE,
  low_soc_rr  = 0.05,
  upp_soc_rr  = 0.20,
  indication  = 5,
  seed        = 245,
  refresh     = 0
)
#> # A tibble: 2 × 5
#>       J   pos pos_se omega_mean omega_var
#>   <int> <dbl>  <dbl>      <dbl>     <dbl>
#> 1     1 0.864 0.0153      0.539    0.0206
#> 2     2 0.91  0.0128      0.539    0.0206
Hampson, Lisa V, Björn Bornkamp, Björn Holzhauer, et al. 2022. “Improving the Assessment of the Probability of Success in Late Stage Drug Development.” Pharmaceutical Statistics 21 (2): 439–59.