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:

FieldContents
result_tableThe rendered summary as an OrderedDict (populated by set_result_table!); the source of the printed table.
resultThe 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.
dataThe preprocessed dataset the analysis ran on.

The remaining fields expose intermediate state, mostly for inspection:

FieldContents
endpoint_nameName of the endpoint analyzed.
designNumber of subjects per sequence.
stat_testsPer-term F-statistics, their degrees of freedom, and p-values (see stat_tests_pvalues); empty for the parallel, paired, and nonparametric paradigms.
modelThe 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_statsStatistics derived from the model.
input_parametersA 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.

RowMeaning
Geometric Marginal MeanLeast-squares (model-based) geometric mean, adjusted for the model's other effects.
Geometric Naive MeanUnadjusted geometric mean of the raw observations.
Geometric Mean T/R Ratio (%)The GMR, exp(β̂), of test relative to reference.
Degrees of FreedomDegrees 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.
MedianNonparametric 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:

RowMeaning
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:

CriterionChecks
StandardBioequivalenceCriterion, EMA_NarrowTherapeuticIndex1 (CI containment)
FDA_HighlyVariable2 (point estimate; scaled or standard ABE)
EMA_HighlyVariable2 (point estimate; ABE or ABEL)
FDA_NarrowTherapeuticIndex3 (standard ABE; Howe RSABE; variability ratio)
NoAssessmentBioequivalenceCriterion0 (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_table function returns the summary as a table object (the object printed by default).
  • The legacy_show function prints the legacy view: the coefficient table built from result instead of the formatted summary.
  • With NoAssessmentBioequivalenceCriterion, result_table is left empty and that same coefficient table is shown instead.