gsbDesign : An R Package for Evaluating the Operating Characteristics of a Group Sequential Bayesian Design

The R package gsbDesign provides functions to evaluate the operating characteristics of Bayesian group sequential clinical trial designs. More speciﬁcally, we consider clinical trials with interim analyses, which compare a treatment with a control, and where the endpoint is normally distributed. Prior information can either be speciﬁed for the dif-ference of treatment and control, or separately for the eﬀects in the treatment and the control groups. At each interim analysis, the decision to stop or continue the trial is based on the posterior distribution of the diﬀerence between treatment and control. The decision at the ﬁnal analysis is also based on this posterior distribution. Multiple success and/or futility criteria can be speciﬁed to reﬂect adequately medical decision-making. We describe methods to evaluate the operating characteristics of such designs for scenarios corresponding to diﬀerent true treatment and control eﬀects. The characteristics of main interest are the probabilities of success and futility at each interim analysis, and the expected sample size. We illustrate the use of gsbDesign with a detailed case study.


Introduction
In traditional clinical trials, patients are randomized to a treatment or a control (e.g., placebo) arm. At the end of the trial the data are analyzed, comparing the two arms. Extensions of this setting are group sequential clinical trials (Jennison and Turnbull 1999). These adaptive designs have one or more interim analyses, where decisions are made on whether to stop or continue the trial. The advantage of a group sequential design is that futile trials can be stopped early, if the treatment is ineffective. In that case, useless treatment is avoided and money saved. On the other hand, studies can be stopped early for success, which may result in faster access to the new treatment.
The critical aspect of a group sequential design is the decision at each interim analysis on whether to stop or continue the trial. Because Bayesian approaches are particularly well suited to support decision-making, several authors proposed these for the monitoring of group sequential clinical trials; for a review and references see for example the books by Spiegelhalter, Abrams, and Myles (2004) and by Berry, Carlin, Lee, and Müller (2010).
The Bayesian framework also facilitates the incorporation of external information through informative priors. For example, historical trials often contain relevant information on the control arm that can be quantified by priors. Hence, fewer patients may then be randomized to the control arm, which reduces the cost and duration of the clinical trial (Pocock 1976;Neuenschwander, Capkun-Niggli, Branson, and Spiegelhalter 2010;Schmidli, Gsteiger, Roychoudhury, O'Hagan, Spiegelhalter, and Neuenschwander 2014). Furthermore, meta-analytic approaches can be used to include information on both the treatment and the control arms (Spiegelhalter et al. 2004;Schmidli, Wandel, and Neuenschwander 2013).
We consider group sequential Bayesian trial designs that incorporate decision making based on the posterior distribution of the difference between the treatment and the control arms. The posterior distribution contains the information from the ongoing clinical trial and the external information captured in the prior distribution.
In order to reflect medical decision-making, several stopping criteria based on this posterior distribution may be combined. Such a combination of multiple criteria goes beyond the significance testing framework of classical group sequential designs, and can, for example, include requirements on the observed effect size. The traditional sole focus on significance testing has also been criticized from a frequentist perspective (Armitage 1989;Kieser and Hauschke 2005;Carroll 2009; Chuang-Stein, Kirby, Hirsch, and Atkinson 2011b; Chuang-Stein, Kirby, French, Kowalski, Marshall, Smith, Bycott, and Beltangady 2011a).
The described approach is well suited to clinical trials conducted in the learning phases of drug development. Here, quantitative decision criteria based on the probability of achieving a clinically meaningful treatment effect may justify further investment in a novel compound (Cartwright, Cohen, Fleishaker, Madani, McLeod, Musser, and Williams 2010;Gsteiger, Neuenschwander, Mercier, and Schmidli 2013;Fisch, Jones, Jones, Kerman, Rosenkranz, and Schmidli 2015).
Once stopping criteria have been defined to correspond with clinical decision-making, it is important to evaluate the operating characteristics of the Bayesian group sequential design. To do so, some true effects of the treatment and control arms are assumed and the probability of stopping for success or futility, as well as the expected sample size, are calculated (Emerson, Kittelson, and Gillen 2007a,b).
In this article, we propose the R (R Core Team 2016) package gsbDesign (Gerber and Gsponer 2016) to evaluate the operating characteristics of such group sequential Bayesian designs available from the Comprehensive R Archive Network (CRAN) at https://CRAN.R-project.org/ package=gsbDesign. It supports designs with two arms, normal endpoints, and known standard deviations of the effects in the treatment and control arms. As shown by Spiegelhalter et al. (2004), this setting can be extended to many other types of outcome data by forming an appropriate approximate normalized likelihood; see Gsponer, Gerber, Bornkamp, Ohlssen, Vandemeulebroecke, and Schmidli (2014) for some examples. We consider the case where the number of patients per interim analysis is known at the beginning of the trial, although a more flexible approach has been proposed in a classical framework by Burington and Emerson (2003).
Several software packages exist that evaluate group sequential clinical designs, e.g., S+SeqTrial (Insightful Corporation 2002), PEST (The MPS Research Unit 2000), ADDPLAN (Wassmer and Eisebitt 2005), East (Cytel Software Corporation 2014), and FACTS (LLC Consultants 2014). However, to the best of our knowledge, gsbDesign is the only package that can both incorporate prior information and also allows the user to specify multiple decision criteria.
This article provides a detailed description on how to compute the operating characteristics for Bayesian group sequential designs, and how to use the gsbDesign package in practice. We structured the paper as follows: In Section 2, the general setup of Bayesian group sequential designs is presented. In Section 3, the evaluation of their operating characteristics is described, first for the case where prior information on the difference between treatment and control is available, and then for the case where prior information on the treatment and control arms is available. In Section 4, the use of the R package gsbDesign is explained in detail. Finally, in Section 5, a case study is presented, followed by a short conclusion.

General setup of the Bayesian design
Two-arm trials with zero, one, or more interim analyses are considered. At each analysis, the success and futility criteria are evaluated to decide if the trial should be stopped. The modeling framework assumes continuous outcome data with normally distributed errors. However, as shown by Spiegelhalter et al. (2004), by forming an appropriate approximate normalized likelihood, many other types of outcome data with corresponding sampling models (e.g., count data with an assumed Poisson distribution) can be approximated with this setup.
The criteria are based on the posterior distribution of the treatment effect δ, where δ is specified in terms of improvement over the control treatment (i.e., positive values are used to express the benefit of the experimental treatment over the control). An arbitrary number of success and futility criteria can be specified at each analysis. The success criteria have the form P{δ > s | data} ≥ p and the futility criteria have the form P{δ < f | data} ≥ q. Here, s and f are user-specified effect thresholds, p and q are userspecified probability thresholds.
Prior information can either be available for the treatment difference δ, or for the effect in the control arm, µ 1 , and the treatment arm, µ 2 . gsbDesign supports only normally distributed prior information. The variances of the prior distributions for control and treatment arms have the form σ 2 1 /n 10 and σ 2 2 /n 20 , respectively. Here, n 10 and n 20 correspond to the prior information in terms of number of patients in the control and the treatment arms, respectively. It is assumed that single observations in the two arms have variances σ 2 1 and σ 2 2 . Thus, the full specification of the design requires: • σ k , k = 1, 2: standard deviations for control arm (k = 1) and treatment arm (k = 2); • n k0 , k = 1, 2: quantification of prior information per arm; • η k0 , k = 1, 2: prior expected response per arm; • I: the number of interim analyses including final analysis; • n ki , i = 1, . . . , I: the added number of patients per arm and interim. Hence, the total number of patients in arm k at interim i is N ki = i j=1 n kj ; • s ir , i = 1, . . . , I, r = 1, . . . , R si : effect thresholds for each success criterion at each interim. R si being the number of success criteria at interim i; • p ir , i = 1, . . . , I, r = 1, . . . , R si : probability thresholds for each success criterion at each interim; • f ir , i = 1, . . . , I, r = 1, . . . , R f i : effect thresholds for each futility criterion at each interim. R f i being the number of futility criteria at interim i; • q ir , i = 1, . . . , I, r = 1, . . . , R f i : probability thresholds for each futility criterion at each interim.
All R f i futility criteria have to be fulfilled to stop for futility at an interim or the final analysis i. Similarly, all R si success criteria have to be fulfilled to stop for success. If the trial is neither stopped for success nor for futility, the trial continues (unless the last analysis i = I has been reached).

Operating characteristics
Given a set of scenarios for the true value of δ and a set of design parameters, the operating characteristics of main interest are the probabilities of success and futility at each interim analysis, and the expected sample size. For example, if the true treatment effect was small, we could examine whether the design would lead to a high probability of early stopping for futility. On the other hand, if the true treatment effect was large, we could examine whether the design would lead to a high probability of early stopping for success.
We consider simulation and numerical integration for computing the operating characteristics. The former simulates a large number of trials given some true treatment effects of interest. At each interim analysis, we compute the posterior distribution of the treatment effect given the data and evaluate the stopping criteria based on the trials not stopped at the previous interim analysis. The latter translates the criteria from the posterior distribution of the treatment effect to the distribution of the observed treatment effect. The precision related to the treatment effect estimates at each interim analysis can be calculated analytically (which is a consequence of assuming a known standard deviation associated with each treatment group in the design setup). Under the assumption of non-informative priors (n k0 = 0, k = 1, 2), this approach yields boundaries on the treatment effect scale that can be translated into a number of standard frequentist criteria such as conditional probabilities and p values. We then use the R package gsDesign (Anderson 2016) for numerical integration as described by Jennison and Turnbull (1999).
For Bayesian updating, it is convenient to parametrize the normal distribution not in terms of variances but in terms of precisions. The precision is the inverse of the variance. The prior precision is denoted by β 0 = n 10 n 20 /(n 10 σ 2 2 + n 20 σ 2 1 ) and the precision of the observed treatment effect at interim i is denoted by B i = N 1i N 2i /(N 1i σ 2 2 +N 2i σ 2 1 ). Normal distributions that are parametrized with the precision are denoted by N P ( · , · ).
The posterior is proportional to the likelihood times the prior. Here, the likelihood and the prior are D i | δ ∼ N P (δ, B i ) and δ ∼ N P (α 0 , β 0 ), respectively.
A normal likelihood with a normal prior leads to a conjugate analysis, and hence a normally distributed posterior. More precisely, the posterior expectation is a weighted average of the prior expectation and the sample mean, and the posterior precision is the sum of the prior and sample precisions. Thus, a sequential update yields the normal posterior distribution at To characterize the distribution of D i , we use the fact that the sequence Jennison and Turnbull (1999) call this the canonical joint distribution for the parameter δ with information levels B 1 , . . . , B I . This formulation is convenient for both approaches, simulation and numerical integration.

Simulation
When evaluating the operating characteristics of a design, a range of true treatment effect values or scenarios, denoted by δ u , u = 1, . . . , U , is considered. In the case of the simulation approach, a complete set of interim treatment effects, D i , i = 1, . . . , I, is generated for a large number of trials (T 0 ) and each of the scenarios. To simulate the D i , we use the canonical joint distribution for δ.
At each interim analysis, the posterior distribution is updated and the decision criteria are applied. The operating characteristics are then derived by computing the proportion of trials for which the success and/or futility criteria are fulfilled. Note that the denominator for the computation of the proportion is not the same at each interim, because, at interim i + 1, we only have to consider the trials that continued from the previous analysis i. Therefore, T 0 must be large enough to ensure that enough simulated trials are continued to the final analysis.
The simulation is summarized in the following pseudo-algorithm.
3. Compute T S i , the number of trials fulfilling all success criteria at interim i. 4. Compute probability of success at stage i as T S i /T i−1 . 5. Compute T F i , the number of trials fulfilling all futility criteria at interim i. 6. Compute probability of futility at stage i as

Numerical integration
The decision criteria are formulated in terms of the posterior distribution of the treatment effect δ. These criteria can be transformed and formulated in terms of the distribution of the observed treatment effects D i .

Similarly, all futility criteria at interim analysis
We now have for each interim analysis a lower and an upper bound. If the observed treatment effect D i at interim i is beyond these bounds, the trial is stopped. This situation is similar to the setting of classical group sequential designs, where at each interim a decision is taken to stop the trial if a certain standardized test statistic exceeds some threshold.
Thus, our group sequential Bayesian design yields a sequence of test statistics {D 1 , . . . , D I }, which is the same as for a classical group sequential design with different variances and unequal numbers of patients in the two treatment arms. Jennison and Turnbull (1999) provide efficient numerical integration techniques for computing probabilities of crossing thresholds based on the canonical joint distribution of δ with information levels {B 1 , . . . , B I }.
To derive the operating characteristics, we therefore need to compute The function gsProbability from the R package gsDesign (Anderson 2016) implements the numerical integration techniques for computing these probabilities.

Prior information on both treatment arms
We consider the aggregated arm-wise treatment response at interim i, which is given bȳ n l j=1 Y klj and N ki = n k1 + · · · + n ki . Assume that there is prior information available for both the control and treatment arms: In this case, the prior to posterior updating is done per arm: The posterior for the treatment effect is then When conducting the simulation approach, we generate the observed stagewise average treatment response, i.e.,Ỹ ki = (n ki ) −1 n ki j=1 Y kij , i = 1, . . . , I, for a large number of trials (T 0 ), under a series of different true average treatment responses µ k0 , k = 1, 2. The aggregated arm-wise treatment response is then ( At each interim analysis the posterior distribution is updated arm-wise and transformed to the treatment effect. The decision criteria are then applied to the posterior distribution of the treatment effect. The operating characteristics are derived by computing the proportion of trials that fulfill the success and/or futility criteria. Note that the denominator for the computation of the proportion is not the same at each interim, because at interim i + 1 we have to consider only the trials not stopped at interim i.
The simulation is summarized in the following pseudo-algorithm.
For a large T 0 and each plausible µ 10 and µ 20 do Recursively compute the Bayesian update for the posterior distribution per arm: 4. Transform arm-wise posterior distributions to posterior distribution of treatment effect:α 5. Compute T S i , the number of trials fulfilling all success criteria at interim i. 6. Compute probability of success at stage i as T S i /T i−1 . 7. Compute T F i , the number of trials fulfilling all futility criteria at interim i. 8. Compute probability of futility at stage i as End loop for µ 10 and µ 20 .

Expected sample size
The expected sample size in a group sequential design is computed as I i=1 (n 1i + n 2i )π i , where π i denotes the probability of stopping at interim i. Once the probabilities of stopping for futility and stopping for success are available, the expected sample size is straightforward to compute.

Using gsbDesign
Here, we illustrate how to use the R package gsbDesign. After installation, the package can be loaded by R> library("gsbDesign") There are three main functions needed for the computation of the operating characteristics: • gsbDesign fully specifies the design, i.e., all required parameters described in Section 2.
The function returns an object of class 'gsbDesign'.
• gsbSimulation specifies the methods for computing the operating characteristics, i.e., whether to use simulation or numerical integration, whether to update per arm or on the treatment effect. The function returns an object of class 'gsbSimulation'.
• gsb calculates the operating characteristics and takes as arguments an object of class 'gsbDesign' and an object of class 'gsbSimulation'. The function returns an object of class 'gsbMainOut'.
For objects of class 'gsbDesign', 'gsbSimulation', and 'gsbMainOut', there exist print methods. For the class 'gsbMainOut', there further exist summary and plot methods. More information on specific functions and methods are given in the reference manual of the package.

Specifying the design
The full specification of a group sequential Bayesian design requires the number of interim analyses (including final analysis), the standard deviation of individual observations per arm (σ k ), prior specification potentially per arm (n k0 ), number of patients per arm and stage (n ki ), and success and futility criteria per stage (s ir , p ir , f ir , q ir ).
The minimum requirement for the function gsbDesign is the specification for one stage. In this situation the specification will be the same in all later stages and the final analysis.

Prior information on treatment effect
The following code shows how to specify such a design with nr.stages = 4 analyses (interim plus final) when prior information is available for the treatment effect.
R> design1 <-gsbDesign(nr.stages = 4, patients = c(10, 20), + sigma = c(7, 7), criteria.success = c(0, 0.8, 7, 0.5), + criteria.futility = c(2, 0.8), prior.difference = c(3, 5, 2)) The argument patients specifies the number of patients (n ki ) per arm and stage. If patients is a single number, the same number of patients is used for all stages and both arms. If it is a vector of length 2, the first element of the vector gives the number of patients for the control arm in each stage and the second element gives the number of patients for the treatment arm in each stage. Finally, if the number of patients changes across stages, the argument patients must be a matrix with nr.stages rows and 2 columns.
The argument sigma specifies the standard deviations (σ k ) per arm. If sigma is a single number, the standard deviation is the same for both arms. If it is a vector of length 2 the first element of the vector gives the standard deviation for the control arm and the second element gives the standard deviation for the treatment arm.
In the example above, there are n 11 = 10 patients in each of the stages in the control arm with standard deviation σ 1 = 7. In the treatment arm there are n 21 = 20 patients in each stage with standard deviation σ 2 = 7. The argument criteria.success specifies the success criteria in terms of the posterior distribution. The first two elements of the vector correspond to effect and probability thresholds for the first success criterion, and the second two elements to effect and probability thresholds for the second success criterion. In the example, the specification corresponds to P{δ > 0 | data} ≥ 0.8 and P{δ > 7 | data} ≥ 0.5. The success criteria are the same for all analyses.
Similarly, the argument criteria.futility specifies the futility criteria. In the example, there is only one futility criterion corresponding to P{δ < 2 | data} ≥ 0.8. The futility criterion is the same for all analyses.
If success and/or futility criteria change with stages, the corresponding arguments must be matrices that have the same number of rows as there are stages in the design.
The argument prior.difference specifies the prior distribution and must be a vector of length 3. The first element gives the prior treatment effect. The second and third elements indicate the number of hypothetical patients in the control (n 10 ) and treatment (n 20 ) arms, respectively. The default is no prior information corresponding to n 10 = n 20 = 0, i.e., zero precision and is specified as "non-informative".
The prior in the example can be interpreted as if n 10 = 5 patients in the control and n 20 = 2 patients in the treatment arm were added to the new trial, with an observed treatment difference of 3.
The object design1 is of class 'gsbDesign' and contains the following information.

Prior information on both arms
The following code shows how to specify such a design with nr.stages= 4 analyses (interim plus final) when prior information is available for the treatment response in both arms.
In this case, the arguments prior.control and prior.treatment must be specified. Both arguments are vectors of length 2, where the first element is the arm specific effect and the second element is the number of hypothetical patients in each arm.
The other design specifications are identical to the previous design.

Specifying methods for the computation of operating characteristics
The methods for computing the operating characteristics depend on the availability of prior information. If prior information is available on the treatment effect, the numerical integration approach described in Section 3.1 is used by default. If prior information is available on both, the control and the treatment arm, the simulation approach described in Section 3.2 is used.

Prior information on treatment effect
For the design1 defined above with prior information on the treatment effect, we can choose between the numerical integration and the simulation method to derive the operating characteristics. The numerical integration method, as well as an appropriate set of true treatment effects, are specified with the following command.
R> simulation1 <-gsbSimulation(truth = c(-10, 20, 60), + type.update = "treatment effect", method = "numerical integration") The argument truth is a vector of length 3. The first two elements of this vector define the range of true treatment effects (δ 0 ) over which the operating characteristics are to be evaluated. The third element of the vector specifies the number of distinct values to consider.
The argument type.update indicates that the posterior updating is performed on the treatment effect.
The argument method indicates that numerical integration is used.
Alternatively, the operating characteristics can be computed based on the simulation approach described in Section 3.1. In this case, the function gsbSimulation takes a few additional arguments.
With the simulation approach, the operating characteristics are computed as the number of successful/futile trials at a given stage divided by the number of trials not stopped yet. Hence, if nr.sim is not large enough, this leads to unstable results. Therefore, the argument warnings.sensitivity forces R to print a warning when the number of trials not stopped prior to a given stage is less than 100 in this example.
The argument seed ensures reproducibility. In the example, the argument specifies that the random seed is automatically generated.
To compare the results of numerical integration and simulation, the argument method can be set to "both", in which case the subsequent call to gsb will generate results for both methods.

Prior information on both arms
For the design2 defined above, an appropriate specification of the methods is achieved with the following command.
R> simulation2 <-gsbSimulation(truth = list(seq(-5, 5, 3), seq(0, 5, 3)), + type.update = "per arm", method = "simulation", grid.type = "table", + nr.sim = 10000, warnings.sensitivity = 500, seed = "generate") Depending on the value of the argument grid.type, the argument truth has to be specified differently. If grid.type = "table" as in the example above, the argument truth must be a list with two elements, the first containing the true responses for the control arm (µ 10 ) and the second containing the true responses for the treatment arm (µ 20 ). Alternatively, if grid.type = "manually", the argument truth must be a matrix with two columns and as many rows as true values. If grid.type = "plot", the argument truth must be a vector of length 5. The first two elements give the range of true values for the control arm and the second two elements give the range of true values for the treatment arm. The fifth element indicates the number of grid points that are used to produce the graphic.
The argument type.update indicates that the posterior updating is performed per arm.
The argument method indicates that simulation is used to compute the operating characteristics.

Prior on treatment effect
The following command is used to compute the operating characteristics for design1 via numerical integration.

R> names(oc1)
[1] "OC" "boundary" "design" "simulation" [5] "system.time" The element OC contains the operating characteristics, i.e., probabilities of stopping for success and/or futility, and expected sample size. The other elements contain the decision boundaries on the D-scale, design, computational methods, and computing time.
The summary-method produces a concise summary of the operating characteristics. The argument atDelta allows the specification of values for δ 0 , at which the operating characteristics are summarized. If the operating characteristics are not evaluated at the specified values, they are approximated by a linear interpolation of the nearest evaluated characteristics.
The first part of the summary output above summarizes the design. The columns N1 and N2 give the sample sizes of the prior and each stage, respectively. Columns S and F give success and futility boundaries for the observed treatment effect, respectively. Similarly, std.S and std.F give the standardized boundaries. If and only if the observed treatment effect is within F and S (or equivalently, the standardized treatment effect is within std.S and std.F), is the trial continued.
For example, if the observed treatment effect at the third interim analysis is between 7.29 and 0.56, the trial is continued. The corresponding standardized effect must be between 4.65 and 0.36 in order to continue the trial.
The second part summarizes the operating characteristics by providing the probabilities of success and futility, as well as the expected sample size, for each interim analysis and different true treatment effects (delta).
In the example above, the total probability of stopping for futility, if there is no treatment effect (delta = 0), is 80%. If the true treatment effect is 7, this probability is 0.24%. Similarly, the total probability of stopping for success if there is no treatment effect is 0.2% and if the true treatment effect is 7 this probability is 63.7%. The expected sample size is between 69 and 98.
The plot method allows one to display the operating characteristics graphically. The following code produces Figure 1, which shows the cumulative probabilities of success, futility, and an indeterminate decision. An indeterminate decision means that further information is needed to decide in favor of success or futility.
R> plot(oc1, what = "sample size") R> plot(oc1, what = "boundary") The function tab allows the extraction of operating characteristics from the gsbMainOut object in spreadsheet form.
The argument what of the tab function can take the following values: R> c("all", "cumulative all", "success", "futility", "indeterminate", + "success or futility", "cumulative success", "cumulative futility", + "cumulative indeterminate", "cumulative success or futility", + "sample size") With the argument atDelta, we can specify at which values of the true treatment effect the operating characteristics are reported. If the selected values are not part of the values specified for the computation, we interpolate linearly.
The argument export allows one to export the tables into a CSV file.

Prior on both treatment arms
For our second example, the code for computing the operating characteristics is the same.
R> oc2 <-gsb(design2, simulation2) The same utilities as presented above can be used to summarize and display the operating characteristics in this situation. However, the complete output is somewhat long and not presented here.
To extract the expected sample size, we can use the following command.
It is also possible to create graphical output in this situation. Because the operating characteristics depend now on both the true response in the treatment and the control arms, they are presented as contour plots. Figure 3 shows the cumulative probabilities of success or futility.
Further graphics and summaries can be produced when working directly on the data frame oc2$OC.

Case Study: Design of a PoC trial in Crohn's disease
Crohn's disease is an inflammatory bowel disease with diverse symptoms, mainly in the gastrointestinal tract. We consider the case where a new test treatment is believed to be potentially beneficial to patients with Crohn's disease; for more details see Gsponer et al. (2014).
To investigate this, an initial small clinical trial with patients is planned. Such clinical trials are often called proof-of-concept (PoC) trials or pilot studies. If the PoC trial is successful, it is followed by larger clinical trials to explore more fully the efficacy and safety of the test treatment. The PoC study should be designed in such a way that, at its end, a decision on whether to continue or abandon further exploration of the test treatment can be made.
In the Crohn's disease case study, a parallel-group, double-blind, randomized clinical trial was planned. In such a design, patients are randomly allocated to two groups: one group receiving control treatment, and the other receiving the test treatment. Neither the patients nor their doctors know which of the two treatments they receive. After six weeks of treatment, the change in the disease activity from baseline (i.e., start of treatment) would be evaluated.
To measure disease activity, the Crohn's disease activity index (CDAI) can be used; the CDAI is a score for which low values correspond to low activity. As the efficacy measure, the negative of the change from baseline to week six in the CDAI score is used, such that large values of this measure correspond to an improvement. The efficacy measure is approximately normally distributed with a standard deviation of about σ = 88, based on information from past studies with Crohn's disease patients. If n 1 patients have been allocated to the control, and n 2 patients to the test treatment, then the average efficacy measure in the two treatment groups isȲ 1 ∼ N (µ 1 , σ 2 /n 1 ) andȲ 2 ∼ N (µ 2 , σ 2 /n 2 ), respectively. The true treatment effect is then δ = µ 2 − µ 1 .
At this stage of the planning, one can quantify when a PoC trial can be considered a success. The PoC trial should first provide clear evidence that the test treatment is better than the control, and then give some indication that the test treatment is at least similarly effective as available treatments for Crohn's disease. Available treatments for Crohn's disease have shown a difference to placebo in the efficacy measure of about 50 units. Hence, the results from the PoC trial would be considered positive by the clinician if the observed treatment effect is 50 units or more, and the treatment is very likely to be better than the placebo. To be competitive, the test treatment would actually have to be better by considerably more than 50 units.
In the following, we consider how the design of such a PoC trial may be developed, starting from a simple design with no interim analysis and no prior information, moving then to a design with one interim analysis (and no prior information), and finally also including prior information.

Simple design with no prior information and no interim analysis
The trial statistician, asked to come up quickly with a sample size for the PoC trial, may be tempted to formulate the requirements by the clinician as a conventional testing problem. For example, a one-sided test H 0 : δ ≤ 0 vs. H 1 : δ > 0 with type I error of 5%. Then, to get a sample size, he might interpret the treatment difference of 50 units as the alternative and require a power of 80% at this alternative. For a design with no interim analysis, approximately 40 patients per treatment arm would be needed. In gsbDesign this design is specified with the following code.
R> desPoC1 <-gsbDesign(nr.stages = 1, patients = c(40, 40), + sigma = c(88, 88), criteria.success = c(0, 0.95), + criteria.futility = c(NA, NA)) R> simPoC1 <-gsbSimulation(truth = c(-50, 100, 60), + type.update = "treatment effect", method = "numerical integration") R> ocPoC1 <-gsb(desPoC1, simPoC1) R> summary(ocPoC1, atDelta = c(0, 50)) *** Group Sequential Bayesian Design *** However, with this design, the result will be statistically significant when we observe a treatment effect of 32.4 units, which is much smaller than the 50 units observed in other studies. A PoC study with a treatment effect of only 32.4 units, although statistically significantly better than the placebo at a one-sided significance level of 5%, would not be considered a success by clinicians, and the decision would probably be to discontinue further development. Hence, there is a need to formulate success criteria that better match the actual decision-making on whether to stop or continue further development.
Formally, these two success criteria can be expressed as: Here, s 1 = 0 and s 2 = 50, are the effect thresholds for the two success criteria, and the corresponding probability thresholds are p 1 = 0.95 and p 2 = 0.50.
Translated to a frequentist framework (Kieser and Hauschke 2005), these two criteria correspond approximately to the requirement that the test treatment is statistically significantly better than the placebo, and that the observed treatment difference is at least 50 units (when non-informative priors are used).
A futility criterion may also be specified to indicate when the test treatment is clearly inadequate. In this case, the futility criterion is expressed as: Here, f 1 = 40 and q 1 = 0.9 are the effect threshold and the probability threshold for the futility criterion. Again, these should reflect medical decision-making.
With these changed success and futility criteria, the trial statistician may reconsider the choice of an appropriate sample size. For example, he may choose the sample size such that the success criteria (S1) and (S2)  Using gsbDesign, the operating characteristics of the design with these success and futility criteria can now be evaluated.

Design with no prior information and one interim analysis
Now consider a group sequential design with no prior information and one interim analysis.
In both stages, we assign 20 patients to each treatment arm.

Design with prior information for placebo and one interim analysis
An informative prior for the true treatment effect (η 10 ) in the placebo group was derived from six historical trials in patients with Crohn's disease, using a meta-analytic-predictive approach (Neuenschwander et al. 2010). More precisely, µ 1 ∼ N (49, σ 2 /20) was used as prior information; for details, see Gsponer et al. (2014). Thus, prior information on the placebo is worth 20 patients.

Conclusion
In this paper, we have presented the R package gsbDesign. The package provides utilities to study operating characteristics of group sequential Bayesian designs. When prior information is available on the treatment effect, the package uses the efficient numerical integration methods from Jennison and Turnbull (1999) that are implemented in the R package gsDesign. If the amount of information is not the same for the treatment and control groups, gsbDesign uses simulation to compute the operating characteristics.