This is a ready-to-use worksheet for setting OOT limits on stability data prospectively. Replace every <<FILL: ...>> placeholder, record the method and inputs you chose, and attach the completed worksheet to the stability protocol or trending plan so the limit is documented before any result is judged against it. Worked calculations follow so you can see the arithmetic. The methods here are standard practice; confirm the statistical approach with a qualified statistician for your data, and verify each cited regulation against the current source.
Worksheet header
| Field | Entry |
|---|---|
| Worksheet number | <<FILL: WS-ID>> |
| Product / attribute | <<FILL: product, attribute, units>> |
| Storage condition | <<FILL: e.g. 25C/60%RH>> |
| Data set used | <<FILL: batch IDs, n batches, date range>> |
| Method selected | By-time-point / Tolerance interval / Prediction interval / Slope-control |
| Prepared by / date | <<FILL>> |
| Reviewed by (statistician / QA) / date | <<FILL>> |
1. Choose the method
| Method | Flags | Use when | Do not use when |
|---|---|---|---|
| By-time-point (mean +/- k SD) | A point far from the historical value at that time point | Quick screening; limited data | You need to respect curve shape or catch a bad slope |
| Tolerance interval (e.g. 95/99) | A point outside a stated population coverage at that time point | You want stated coverage and confidence, not a bare 3 SD | Very small n makes the interval uselessly wide |
| Prediction interval (regression) | A single future observation outside the model band at its time point | The default for stability; respects the degradation curve | Model form is wrong or residuals misbehave |
| Slope-control | A whole batch degrading faster/slower than the population | Catching a trajectory to failure before expiry | Too few time points per batch to estimate a slope |
Run at least a prediction interval plus a slope-control limit together on a mature program. Record the choice and rationale: <<FILL>>
2. Inputs
| Input | Value |
|---|---|
| Number of batches (n) | <<FILL>> |
| Time points evaluated | <<FILL>> |
| Model form | Linear / Log / Other justified transform: <<FILL>> |
| Residual standard deviation (s) | <<FILL>> |
| Fitted intercept | <<FILL>> |
| Fitted slope | <<FILL>> |
| Slope SD across batches (for slope-control) | <<FILL>> |
| k or confidence/coverage chosen | <<FILL: e.g. 3 SD, or 95/99, or t-based PI>> |
State whether the limits are established or provisional. With fewer than <<FILL: minimum, e.g. 6>> batches, mark them provisional and wide, and re-baseline as data accumulates.
3. Compute the limit
3a. By-time-point
Limit = mean +/- k x SD at the time point. Record: mean <<FILL>>, SD <<FILL>>, k <<FILL>>, limits <<FILL>>.
3b. Prediction interval (regression)
Predicted value at time t = intercept + slope x t. The prediction interval half-width is approximately t(df, confidence) x s x sqrt(1 + 1/N + (t - t_mean)^2 / Sxx), where N is the total number of points in the regression and Sxx is the sum of squared deviations of the time values. Use a validated tool or statistician for exact values; the key point is that a prediction interval (single future observation) is wider than a confidence interval (the mean). Record predicted value <<FILL>>, half-width <<FILL>>, interval <<FILL>>.
3c. Slope-control
Slope limit = mean slope +/- k x (SD of slope across batches). Record mean slope <<FILL>>, slope SD <<FILL>>, k <<FILL>>, slope limits <<FILL>>.
4. Record and control
- Attach this worksheet to the stability protocol / trending plan.
- Enter the limit into the validated trending tool; if a spreadsheet, it is a GMP record and needs version control and validation.
- Re-baseline on the defined cycle; document each change with rationale and audit trail.
Acceptance criteria
- The method and limit are recorded before the result they judge is generated.
- The interval used for a single new result is a prediction interval, not a confidence interval.
- Provisional status is stated whenever n is below the defined minimum.
- The computing tool is version-controlled and validated.
References
ICH Q1E, Evaluation of Stability Data (2003), and ICH Q1A(R2) (2003) for study design. 21 CFR 211.180(e) (trend evaluation), 211.165(d) (scientifically sound methods). The PhRMA CMC Statistics and Stability Expert Teams OOT papers (early 2000s) for the three stability methods.
Confirm each reference against the current source before issue.
Worked example
Tablet assay (% label claim) at 25C/60%RH, 8 representative batches, linear model.
Inputs: intercept 100.4, slope -0.18 %/month, residual SD (s) 0.45%, slope SD across batches 0.03 %/month.
Prediction interval at 12 months. Predicted = 100.4 - (0.18 x 12) = 98.2%. Using an approximate prediction standard error and a t-multiplier of about 2.2, the half-width is about 1.0%, so the interval is about 97.2 to 99.2%.
| Batch | 12-month assay | Predicted | PI (97.2-99.2) | OOT? |
|---|---|---|---|---|
| A | 98.4 | 98.2 | in | No |
| C | 97.0 | 98.2 | below | Yes (investigate hard, faster-than-modeled) |
| D | 99.5 | 98.2 | above | Yes (usually analytical/standard, still investigated) |
Spec is 95.0-105.0%, so C and D pass spec yet are OOT. A high result (D) is still investigated, because it is often an analytical or standard artifact that masks a low result next time.
Slope-control. Mean slope -0.18, SD 0.03, k = 3 gives a slope limit of -0.27 to -0.09 %/month.
| Batch | Fitted slope | Within -0.27 to -0.09 | 24-month projection vs 95.0 | OOT by slope? |
|---|---|---|---|---|
| E | -0.17 | Yes | ~96.3% | No |
| G | -0.32 | No (too fast) | ~92.7% (projected OOS) | Yes |
Batch G passes every individual point today but its slope predicts a spec breach before expiry. Slope-control catches it while there is still time to act. This is why a program that relies only on by-time-point limits is incomplete.
How to adapt this worksheet
- Replace the inputs with your own regression output from a validated tool.
- Keep the prediction-vs-confidence distinction explicit; using a confidence interval here is a common error that floods you with false flags.
- For biologic and advanced-therapy attributes with few lots and noisy assays, mark limits provisional, separate analytical from process variability using assay-control trending, and weight slope and cross-condition coherence over single points.
- Confirm the statistical approach with a qualified statistician for your specific data.