Output
Both pumas_be and run_be return a BioequivalenceEndpointOutput. Displaying it always prints the observation counts (per sequence × period); what follows depends on whether the result summary table has been populated.
When it has (as after pumas_be, which runs the assessment and set_result_table! for you), the summary table is shown. When it has not (as for a bare run_be output, which carries the inference but no assessment yet, or under NoAssessmentBioequivalenceCriterion), the raw result coefficient table is shown instead, with an informational message.
Shown inside a container such as a NamedTuple or Vector, or by print, an output takes one line instead, giving its criterion, endpoint and point estimate: BioequivalenceEndpointOutput: Standard ABE, AUC, GMR 95.09%.
For more details and worked examples of the output across every paradigm, see the quick outputs tutorial.
Fields of the output object
Most analyses only need the three fields that carry the results:
| Field | Contents |
|---|---|
result_table | The rendered summary as an OrderedDict (populated by set_result_table!); the source of the printed table. |
result | The raw inference as a DataFrame. For the parametric paradigms: the estimate δ, its standard error, the confidence bounds, the GMR, and the variability estimates. The nonparametric paradigm carries none of those; it reports lnPE, lnLB, lnUB with their exponentiated counterparts, and the two per-formulation medians. |
data | The preprocessed dataset the analysis ran on. |
The remaining fields expose intermediate state, mostly for inspection:
| Field | Contents |
|---|---|
endpoint_name | Name of the endpoint analyzed. |
design | Number of subjects per sequence. |
stat_tests | Per-term F-statistics, their degrees of freedom, and p-values (see stat_tests_pvalues); empty for the parallel, paired, and nonparametric paradigms. |
model | The fitted statistical model. For the nonparametric paradigm, a record of the rank procedure that ran and the rank test object behind it, model.procedure and model.test; on the cross-sequence route that object's own estimate and interval are on the doubled scale of the sums Dᵢ + Dⱼ, the halving being applied to what result reports. |
model_stats | Statistics derived from the model. |
input_parameters | A copy of the arguments used for the analysis. |
The printed summary
The summary opens with the per-sequence subject counts by period, followed by a header identifying the analysis: paradigm, model, criterion, endpoint, and formulations. The output below is generated live from the FDA RSABE example of the Workflow page:
| Observation Counts | ||||
| Sequence ╲ Period | 1 | 2 | 3 | 4 |
| RTRT | 27 | 27 | 26 | 26 |
| TRTR | 27 | 27 | 26 | 26 |
| Paradigm: Replicated crossover (supports ABE, ABEL, and RSABE) | ||||
| Model: Mixed model with REML (unequal variance) | ||||
| Criteria: FDA RSABE for HV | ||||
| Endpoint: AUC | ||||
| Formulations: Reference(R), Test(T) | ||||
| Results(AUC) | Assessment | Criteria | ||
| R | Geometric Marginal Mean | 339.9 | ||
| Geometric Naive Mean | 340.8 | |||
| T | Geometric Marginal Mean | 375.9 | ||
| Geometric Naive Mean | 376.7 | |||
| Geometric Mean T/R Ratio (%) | 110.6 | Pass | GMR ∈ [80, 125] | |
| Degrees of Freedom | 140.7 | |||
| 90% Confidence Interval (%) | [102.9, 118.9] | |||
| Variability | CVᵣ (%) | σ̂ᵣ | 35.4 | 0.3436 | OK for RS | CVᵣ ≥ Minimal CVᵣ |
| CVₜ (%) | σ̂ₜ | 27.87 | 0.2735 | |||
| Variability Ratio (%) | 79.6 | |||
| ANOVA | Formulation (p-value) | 0.02205 | ||
| Sequence (p-value) | 0.9038 | |||
| Period (p-value) | 0.1555 | |||
| Reference Scaling Params | Reference Scaling Constant (θ | k = √θ) | 0.7967 | 0.8926 | ||
| Minimal CVᵣ for Reference Scaling (%) | 30.0 | 0.294 | |||
| Reference Scaling Analysis | Geometric Mean T/R Ratio (%) | 111 | ||
| Standard Error (Log Scale) | 0.0438 | |||
| 90% Confidence Interval (%) | [103.2, 119.5] | |||
| Degrees of Freedom | 50 | |||
| Howe's Approx RSABE Stat (95%) | -0.05172 | Pass | ≤ 0 | |
After the header, the summary reports, per formulation, the rows below. The Assessment column gives the outcome of each individual check (Pass, Fail, or OK for RS / Not OK for RS for the reference-scaling switch), while the Criteria column states the rule applied (for example CI ⊆ [80, 125], GMR ∈ [80, 125], or ≤ 2.5).
The nonparametric paradigm is the exception: it prints neither column, and no Criteria: line in the header. No regulator mandates an equivalence verdict for the endpoints it serves, Tmax chief among them, and none supplies limits for one, so the interval is reported and the decision rule left unapplied. A protocol that pre-specifies limits can still be checked against the printed interval in the ordinary way. Its block is also the only one that reports a Median per formulation and a Median Ratio rather than a geometric mean ratio; see the Nonparametric paradigm for what those are and why the ratio of the two medians is deliberately not shown.
| Row | Meaning |
|---|---|
| Geometric Marginal Mean | Least-squares (model-based) geometric mean, adjusted for the model's other effects. |
| Geometric Naive Mean | Unadjusted geometric mean of the raw observations. |
| Geometric Mean T/R Ratio (%) | The GMR, exp(β̂), of test relative to reference. |
| Degrees of Freedom | Degrees of freedom of the contrast (Satterthwaite for mixed models). |
| 90% Confidence Interval (%) | The TOST (1 − 2α) confidence interval for the GMR, or, in the nonparametric paradigm, the distribution-free interval obtained by inverting the rank test. |
| Median | Nonparametric paradigm only: the median, over subjects, of each subject's value for that formulation (its replicates collapsed to a geometric mean where the design repeats it), in the units the endpoint was measured in. Descriptive, and computed over every subject supplying that formulation. |
| Median Ratio (%) | Nonparametric paradigm only: the Hodges–Lehmann estimate of the T/R ratio, and the quantity the interval beside it inverts. The set of pairs the median runs over depends on the procedure, and on the default cross-sequence route it is restricted to pairs drawn one from each sequence (see Models). It is the rank analogue of the GMR, but a different number from the GMR, from the ratio of the two medians above it, and from the median of the individual subject ratios. |
| CV (%) | σ̂ | Coefficient of variation and log-scale standard deviation, as a single overall row. |
| CVᵣ (%) | σ̂ᵣ and CVₜ (%) | σ̂ₜ | The same pair reported per formulation, when reference and test are separately estimable. |
| Variability Ratio (%) | Point estimate of the standard-deviation ratio σ̂wₜ/σ̂wᵣ. |
| Formulation / Sequence / Period (p-value) | Type III Wald F-tests for each term, under an ANOVA section header. |
For reference-scaling criteria, further blocks are appended: Reference Scaling Params, and for the FDA criteria also Reference Scaling Analysis. The rows depend on the criterion:
| Row | Meaning |
|---|---|
| Reference Scaling Constant (θ | k = √θ) | The regulatory constant θ in force, displayed alongside its square root k = √θ. |
| Minimal CVᵣ for Reference Scaling (%) | The CVᵣ switching threshold (cv_min); FDA_HighlyVariable and EMA ABEL only. |
| Maximal CVᵣ for Reference Scaling (%) | The CVᵣ cap (cv_max); EMA ABEL only. |
| Reference Scaling Analysis (Geometric Mean Ratio / Standard Error / CI / Degrees of Freedom) | The auxiliary within-subject-contrast model estimates feeding Howe's statistic; both FDA criteria. |
| Howe's Approx RSABE Stat (95%) | The reference-scaled upper bound; passes when ≤ 0; both FDA criteria. |
| Variability Ratio Quantile (90%) | Upper confidence bound on σ̂wₜ/σ̂wᵣ; passes when ≤ 2.5 (FDA NTID only). |
For EMA ABEL there is no Howe's statistic; instead the expanded acceptance limits exp(±k·σ̂wᵣ) are shown in the Criteria column of the Confidence Interval row.
The marginal (least-squares) and naive geometric means coincide in balanced designs and differ when the design is unbalanced.
Tests and degrees of freedom
The 90% confidence interval is the TOST interval for the GMR, and the ANOVA p-values are Type III Wald F-tests. The reported degrees of freedom are the residual degrees of freedom for the fixed-effects linear model and the Satterthwaite approximation for the mixed models. See Confidence intervals and p-values for the formulas.
Display options
Both pumas_be and run_be accept sigdigits (default 4), the number of significant digits used when rounding the reported results.
The confidence levels behind the displayed quantities (the 90% Confidence Interval, Howe's Approx RSABE Stat, and Variability Ratio Quantile rows) are set through the criteria arguments level_tost, level_rsabe_stat, and level_var_ratio; see Confidence levels on the Regulatory Criteria page.
Assessment details
With pumas_be the assessment is already folded into the printed summary: each individual check shows as Pass or Fail in the Assessment column, and a formulation comparison passes only if all of its checks pass. The number of checks depends on the criterion:
| Criterion | Checks |
|---|---|
StandardBioequivalenceCriterion, EMA_NarrowTherapeuticIndex | 1 (CI containment) |
FDA_HighlyVariable | 2 (point estimate; scaled or standard ABE) |
EMA_HighlyVariable | 2 (point estimate; ABE or ABEL) |
FDA_NarrowTherapeuticIndex | 3 (standard ABE; Howe RSABE; variability ratio) |
NoAssessmentBioequivalenceCriterion | 0 (none) |
Under the hood assess_be returns a BioequivalenceEndpointDecision whose assessments::BitMatrix holds these checks (one row per comparison, one column per check); pumas_be runs it and set_result_table! copies the outcomes into out.result_table. For the nonparametric paradigm that matrix is empty: the block draws no verdict, so none is computed. To work with the raw matrix directly, call assess_be(criterion, out).
Rendering helpers
- The
result_summary_tablefunction returns the summary as a table object (the object printed by default). - The
legacy_showfunction prints the legacy view: the coefficient table built fromresultinstead of the formatted summary. - With
NoAssessmentBioequivalenceCriterion,result_tableis left empty and that same coefficient table is shown instead.