Tutorials › Bioavailability and Bioequivalence › Bootstrap Inference for Dissolution Profile Similarity

Formulation Effects and In Vitro-In Vivo Correlation · Tutorial 337 of 399

Bootstrap Inference for Dissolution Profile Similarity

You will learn to bootstrap whole-unit dissolution profiles, calculate an interval for f2, and interpret that interval cautiously when conventional f2 conditions are not met.

Advanced 11 min read

What You'll Learn

  • Define the profile-level f2 estimand from mean dissolution at prespecified time points.
  • Resample complete unit profiles, preserving dependence among repeated measurements.
  • Calculate a bootstrap percentile confidence interval for f2.
  • Interpret the interval relative to the f2 benchmark without treating it as automatic proof of similarity.
  • Recognize how small samples, outliers, dependence, and unmet conventional conditions limit bootstrap conclusions.

Why Bootstrap a Dissolution Similarity Estimate?

The f2 similarity factor compresses the difference between two mean dissolution profiles into one number. Its usefulness comes with a limitation: the point estimate alone does not show how much that number might vary if different dosage units had been tested. A bootstrap confidence interval uses the observed unit-level profiles to assess that sampling uncertainty.

This is especially relevant when conventional f2 conditions are unmet. In that situation, a bootstrap can help describe uncertainty in a profile-based estimate, but it does not automatically make the usual f2 decision rule valid. The estimate, its uncertainty, the study design, and the reason conventional conditions failed must be considered together.

Definition: At prespecified dissolution times \(t_1,\ldots,t_m\), let \(\bar{R}_j\) and \(\bar{T}_j\) be the sample mean percentages dissolved for the reference and test formulations at time \(t_j\). The observed f2 statistic is $$ \widehat{f}_2=50\log_{10}\left\{\frac{100}{\sqrt{1+\frac{1}{m}\sum_{j=1}^{m}(\bar{R}_j-\bar{T}_j)^2}}\right\}. $$ It summarizes the squared differences between the two mean profiles on the selected time grid. A value of 100 corresponds to identical sample means at every included time; smaller values indicate greater average squared separation.

The conventional benchmark often used to describe profile similarity is \(f_2=50\) or greater. Its formal use is tied to specified conditions for the design and data, which should be checked against the applicable guidance and protocol. Requirements can include the number of units, common sampling times, acceptable variability, and limits on how many late-time means are included. These are not interchangeable across every regulatory setting.

What Is Resampled?

For each formulation, a unit contributes a profile: its measurements at all scheduled times. The bootstrap resamples these complete profiles, with replacement, separately within the reference and test groups. For each bootstrap data set, calculate the two mean profiles and then calculate f2 using the same time points and formula as for the observed data.

This procedure treats the tested units as the sampling units and retains the within-unit relationship among repeated measurements. Resampling measurements independently at each time would break that relationship and could give an inaccurate assessment of uncertainty. If the study has matched reference-test units, resample matched pairs. If randomization or sampling is clustered or stratified, the resampling scheme should reflect that design rather than pretending all observations are independent.

A percentile interval is formed by sorting the bootstrap f2 values and taking the selected lower and upper quantiles. For instance, a 90% percentile interval uses the 5th and 95th percentiles. Its interpretation relies on the bootstrap distribution being a reasonable approximation to the sampling distribution of the estimator. That approximation can be poor with very small samples, highly influential units, or an unsuitable resampling scheme.

1
Specify the estimand and time grid.
State which time points define the comparison and use the same grid for the observed statistic and every replicate.
2
Calculate the observed statistic.
Find the mean dissolution at each time for each formulation, then substitute the mean differences into the f2 formula.
3
Resample units within formulation.
Draw the original number of unit profiles with replacement from each formulation's observed units. Preserve each selected unit's full time course.
4
Repeat and form the interval.
Recalculate f2 for each of \(B\) bootstrap data sets. Sort the \(B\) values and report the prespecified percentile limits, along with the point estimate and method.

Worked Calculations

Worked Example: Calculating the Observed f2 From Unit Profiles

Suppose a hypothetical study measures three units per formulation at three scheduled times. For a compact calculation, assume the observed unit values are:

FormulationUnitTime 1 (%)Time 2 (%)Time 3 (%)
ReferenceR1587891
ReferenceR2608092
ReferenceR3628293
TestT1567589
TestT2587790
TestT3607991

The reference means are \((58+60+62)/3=60\), \((78+80+82)/3=80\), and \((91+92+93)/3=92\) percentage points. The test means are \(58\), \(77\), and \(90\) percentage points. The mean differences are therefore \(2\), \(3\), and \(2\) percentage points. With \(m=3\):

$$ \widehat{f}_2 =50\log_{10}\left(\frac{100}{\sqrt{1+(2^2+3^2+2^2)/3}}\right) =50\log_{10}\left(\frac{100}{\sqrt{6.6667}}\right) \approx 79.40. $$

The estimate is above 50, but this calculation alone gives neither a confidence interval nor a conclusion that all relevant f2 conditions have been satisfied. With only three units per formulation, the example is primarily arithmetic; it is not a recommendation for a regulatory sample size.

The reason the bootstrap is performed on unit profiles can be seen directly from the statistic. Each replicate changes the mean at every time by drawing different units. Those changes occur together across times because a selected unit supplies its entire profile. Applying the f2 formula to each replicate then propagates this unit-level sampling variation through the nonlinear summary statistic.

Justification: If the observed units are independent and representative within each formulation, resampling their profiles approximates repeating the sampling process from the underlying unit populations. Recomputing f2 in each resample approximates the distribution of the f2 estimator under that process. This is an approximation, not a result that guarantees accurate coverage for every sample size or data shape.

Worked Example: A Small Bootstrap Distribution

For a transparent calculation, consider a deliberately simplified hypothetical comparison at one time point. The reference units have dissolution values \(80\%\) and \(90\%\); the test units have \(78\%\) and \(88\%\). This one-time-point setup illustrates the resampling arithmetic only; it is not a complete conventional profile comparison.

The observed means are \(85\%\) and \(83\%\), so the difference is \(2\) percentage points. For one time point, the f2 calculation is:

$$ \widehat{f}_2 =50\log_{10}\left(\frac{100}{\sqrt{1+2^2}}\right) =50\log_{10}(44.721) \approx 82.53. $$

In a bootstrap sample of size two, the reference mean can be \(80\), \(85\), or \(90\), with probabilities \(1/4\), \(1/2\), and \(1/4\). The test mean can be \(78\), \(83\), or \(88\), with the same probabilities. Because the groups are resampled independently, the possible reference-minus-test differences and their probabilities are:

Difference (percentage points)Bootstrap probability
-80.0625
-30.25
20.375
70.25
120.0625

For example, a difference of \(-8\) occurs when the reference resample mean is \(80\) and the test resample mean is \(88\), with probability \((1/4)(1/4)=0.0625\). The f2 value depends on the squared difference, so differences \(d\) and \(-d\) give the same result. Substituting the distinct absolute differences gives:

$$ \begin{aligned} |d|=2 &: \quad 50\log_{10}(100/\sqrt{5})\approx82.53,\\ |d|=3 &: \quad 50\log_{10}(100/\sqrt{10})=75.00,\\ |d|=7 &: \quad 50\log_{10}(100/\sqrt{50})\approx57.53,\\ |d|=8 &: \quad 50\log_{10}(100/\sqrt{65})\approx54.68,\\ |d|=12 &: \quad 50\log_{10}(100/\sqrt{145})\approx45.95. \end{aligned} $$

The resulting bootstrap distribution has substantial spread despite the observed estimate of \(82.53\). Using the empirical 5th and 95th percentiles of these 16 equally likely resampling outcomes gives approximately \([45.95,82.53]\) under the usual nearest-rank convention. The lower limit is below 50, so this tiny-sample illustration does not establish that the underlying profile similarity exceeds the benchmark. The discrete interval also shows why percentile conventions and small-sample limitations should be reported rather than hidden.

Interpreting the Interval When Conditions Are Unmet

A confidence interval describes uncertainty in an estimand under a stated sampling model. For a bootstrap interval for f2, that estimand is the f2 summary of the underlying mean profiles on the chosen time grid, as represented by the observed unit-level data and resampling design. A 90% interval procedure aims, under its assumptions, to cover that estimand in 90% of repeated studies; it does not mean there is a 90% probability that a fixed parameter lies in this particular interval.

If the lower confidence limit is above 50, the data support an f2 value above the conventional benchmark at the chosen confidence level, conditional on the estimand and bootstrap assumptions. This may be useful evidence, but it should not be described as automatic regulatory acceptance when conventional requirements are unmet. If the interval includes 50, the result is uncertain relative to that benchmark. If the upper limit is below 50, the interval indicates that even its higher values fall short of the benchmark, subject to the same modeling and resampling qualifications.

The confidence level and decision rule should be specified before examining results. Some applications use a lower confidence bound as a conservative criterion, and the chosen level and regulatory context matter. Do not switch between a 90% and 95% interval after seeing which one yields a preferred conclusion.

Worked Example: High Variability and an Interval Across the Benchmark

Suppose a hypothetical 12-unit-per-formulation study has markedly variable unit profiles. The analysis reports an observed \(\widehat{f}_2=51.8\) and a 90% percentile bootstrap interval of \([44.2,59.6]\). The study's variability does not satisfy the applicable conventional f2 condition, so the ordinary point-estimate rule cannot be applied as if that condition were met.

The interval includes 50 because \(44.2<50<59.6\). Thus, at the selected confidence level, the bootstrap analysis does not resolve whether the underlying f2 summary is above or below the benchmark. The point estimate of 51.8 alone is not enough to claim similarity. Nor does the interval prove dissimilarity: values above 50 remain compatible with the interval.

The defensible report would state the observed estimate, the 90% interval, the unit-level resampling method, the violated condition, and the resulting uncertainty. A bootstrap interval quantifies sampling variation under its assumptions; it does not remove the high variability or repair a design limitation.

Diagnostics, Alternatives, and Limitations

Before interpreting an interval, inspect the unit-level profiles and the bootstrap distribution. Check that resampling follows the actual independent sampling units, that all replicates use the same prespecified time grid, and that missing observations or protocol deviations have been handled consistently. Look for influential units, implausible values, and a strongly skewed or highly discrete bootstrap distribution. A few extreme profiles can dominate both the mean profiles and the interval.

Increase \(B\), the number of bootstrap replicates, enough that simulation noise in the reported quantiles is small relative to the interval's precision. A large \(B\) makes the numerical approximation smoother; it does not create more independent units or solve a small-sample problem. Report \(B\), the confidence level, the interval method, and the resampling unit. If a small sample produces an unstable interval, acknowledge that limitation rather than treating a large number of resamples as a substitute for data.

The bootstrap interval is one approach to uncertainty quantification. The conventional f2 calculation is simpler and may be appropriate when its conditions hold, but it is a point estimate and does not by itself provide a sampling interval. A model-based analysis can represent time-course structure and covariates, but its conclusions depend on model specification and diagnostics. These approaches address different assumptions; none should be selected solely because it gives the most favorable conclusion.

The f2 summary also loses information: different patterns of time-specific differences can yield similar values, and a single overall number does not show where profiles separate. In addition, the interval concerns the chosen f2 estimand and sampling process; it does not establish a clinical effect, prove in vivo equivalence, or guarantee that the dissolution method can distinguish relevant formulation changes.

Common Pitfall

Common mistake: “The usual f2 conditions are not met, so bootstrapping the units makes the standard \(f_2\geq50\) rule valid.”

Correction: Resampling estimates uncertainty in the chosen statistic under a unit-level sampling model. It does not restore unmet design or variability conditions, correct an unrepresentative sample, or convert an exploratory interval into automatic acceptance. State the limitation and interpret the interval as evidence about the specified profile summary.
Key takeaway: Resample complete unit profiles within the appropriate groups, calculate f2 for every replicate, and interpret the resulting interval relative to 50 with its assumptions visible. A bootstrap adds uncertainty information; it does not make an unsuitable conventional analysis suitable by itself.

Check Your Understanding

Answer each question, then compare your reasoning with the solutions.

  1. Why should dissolution measurements from one unit be resampled as a complete profile rather than independently at each time?
  2. A bootstrap 95% interval for f2 is \([52.1,68.4]\), but a conventional f2 condition is unmet. What can and cannot be concluded?
  3. What changes to the resampling scheme are needed if reference and test units are matched in pairs?
  4. Does increasing the number of bootstrap replicates from 2,000 to 20,000 fix an analysis with very few tested units? Explain.

Solutions. (1) Measurements on the same unit are related; resampling the full profile preserves their joint pattern and the within-unit dependence. (2) The interval lies above 50, so it supports an f2 summary above the benchmark under the stated bootstrap assumptions and chosen estimand. It does not, by itself, make the unmet conventional condition disappear or guarantee regulatory acceptance. (3) Resample matched pairs together so that the pairing is retained in each replicate. (4) No. More replicates reduce Monte Carlo error in the estimated bootstrap quantiles, but they do not add independent units or resolve poor sampling-distribution approximation caused by a very small sample.