Independent and not affiliated with the FDA, MHRA, ISPE, PDA, or any agency. Get the appgoutham@madhadi.com
madhadi.comData Integrity & GxP Quality
Browse all topics → Articles Templates & Procedures Learning paths GlossaryScenariosToolsRegulatory ReferencesLearning PathsTopics About Start here
Form Plug-and-play starting point Quality Assurance

Worksheet: Control Limit Establishment and Signal Rule Configuration

A plug-and-play, step-by-step worksheet for establishing CPV control limits: baseline data set selection, normality and independence checks, the I-MR centerline and limit calculation, baseline-in-control verification, signal rule selection, the lock-in record, and the recalculation trigger, with a worked numeric example.

Document type: Form

Read and copy the template below into your own quality system. It is a generic starting point for your own internal use, provided as is, with no warranty; see the Terms and License. Adopting it does not by itself create compliance.

This is a ready-to-use worksheet for establishing control limits and configuring signal rules for a CPV parameter. Complete it before any chart is used to make a monitoring decision, replace every <<FILL: ...>> placeholder, and attach the completed worksheet to the product CPV plan or the Stage 3a protocol so the limits and rules are documented before a single point is judged against them. A worked numeric example follows the template. Confirm the statistical approach with a qualified statistician for your data, and verify each cited regulation against the current source.

Worksheet header

FieldEntry
Worksheet number<<FILL: WS-ID>>
Product / parameter<<FILL: product, parameter, units>>
CQA / CPP / KPP designation<<FILL>>
Chart type selected<<FILL: I-MR / X-bar,R / other, and why>>
Prepared by / date<<FILL>>
Reviewed by (statistician / QA) / date<<FILL>>

Step 1: Select and justify the baseline data set

ItemEntry
Batches included in baseline<<FILL: batch IDs, count, date range>>
Source of baseline (PPQ only / PPQ plus early commercial / development data borrowed)<<FILL>>
Rationale for the boundary chosen (why these batches represent the stable, validated process)<<FILL>>
Known special-cause events in the candidate window and how they were handled<<FILL: excluded with deviation reference, or none identified>>
For low-frequency products, is variance being borrowed from development or PPQ data because commercial n is too small?<<FILL: Yes/No, and cite the source data set and reconciliation plan>>

Step 2: Check normality and independence

CheckMethodResultAction if failed
Normality<<FILL: e.g. Anderson-Darling, Shapiro-Wilk, or a normal probability plot>><<FILL: pass/fail, statistic/p-value>><<FILL: transform (log, Box-Cox) and re-check, or proceed with a justified non-normal method>>
Independence / autocorrelation<<FILL: e.g. run chart review, autocorrelation function>><<FILL>><<FILL: if autocorrelated, standard 3-sigma limits are invalid; consult a statistician for an adjusted method>>
Transformation applied (if any)<<FILL: none / log / Box-Cox lambda=...>>

Step 3: Calculate the centerline and control limits

For an I-MR chart, the standard calculation:

  1. Centerline (mean) = average of the baseline results: <<FILL: value, units>>
  2. Average moving range (mean of the absolute difference between each consecutive pair of baseline results) = <<FILL: value>>
  3. Upper control limit (UCL) = centerline + (2.66 x average moving range) = <<FILL: calculation and result>>
  4. Lower control limit (LCL) = centerline - (2.66 x average moving range) = <<FILL: calculation and result>>
  5. If a different chart type was selected in the header, record its specific centerline and limit formulas here: <<FILL>>
ItemEntry
Registered specification limits (USL/LSL)<<FILL>>
Calculated control limits (UCL/LCL)<<FILL>>
Margin between control limits and specification limits<<FILL: value on each side>>
Confirmation control limits are not set equal to, or wider than, specification limits<<FILL: Yes, confirmed>>

Step 4: Verify the baseline is itself in control

Apply the signal rules selected in Step 5 to the baseline data set itself before locking the limits.

CheckResult
Any Rule 1 violations in the baseline (points beyond 3 sigma)?<<FILL: Yes/No; if Yes, investigate and either justify inclusion with cause or exclude with a documented reason before recalculating>>
Any Rule 2/3 violations in the baseline (sustained shift or trend)?<<FILL>>
Conclusion: baseline is in control and suitable for locking limits<<FILL: Yes/No; if No, do not proceed to Step 6 until resolved>>

Step 5: Select and justify the signal rules (Nelson / Western Electric)

You do not need to apply every rule. Select a defensible subset and state why each one earns its place for this parameter.

RuleDescriptionSelected?Rationale
Rule 1One point beyond 3 sigma<<FILL: Yes/No>><<FILL: standard, always used for gross shifts>>
Rule 2Nine consecutive points on one side of the centerline<<FILL>><<FILL>>
Rule 3Six consecutive points steadily increasing or decreasing<<FILL>><<FILL>>
Rule 5Two of three consecutive points beyond 2 sigma, same side<<FILL>><<FILL>>
Rule 6Four of five consecutive points beyond 1 sigma, same side<<FILL>><<FILL>>
Other rule used<<FILL>><<FILL>><<FILL>>

State the mapping from each selected rule to the required response (documented assessment versus formal investigation): <<FILL, or reference the product CPV plan's signal-to-action map>>.

Step 6: Lock-in record

ItemEntry
Final centerline<<FILL>>
Final UCL / LCL<<FILL>>
Baseline data set (batches, date range, n)<<FILL>>
Exclusions applied, with justification<<FILL: or "none">>
Signal rules locked (from Step 5)<<FILL>>
Effective date of these limits<<FILL>>
Document these limits are recorded in (product CPV plan revision, Stage 3a closure report)<<FILL>>
Approved by (QA) / date<<FILL>>

Step 7: Define the recalculation trigger

State, in advance, the conditions under which these limits will be recalculated. A limit change must rest on a reason that would apply regardless of whether a signal happens to be present in the data at the time.

TriggerApplies?Detail
Defined annual review<<FILL: Yes/No>><<FILL>>
Accumulation of N new stable batches since last calculation<<FILL: Yes/No>><<FILL: N and current count>>
Validated process change with expected shift in mean or variability<<FILL: Yes/No>><<FILL>>
Transition from Stage 3a provisional limits to Stage 3b locked limits<<FILL: Yes/No>><<FILL>>
Explicit statement that limits are never recalculated solely to resolve an open or inconvenient signal<<FILL: confirmed>>

Acceptance criteria

This worksheet is complete and acceptable when all of the following are true:

  • The baseline data set is stated with its boundary rationale, and any special-cause events in it are excluded and justified, not silently included.
  • Normality and independence were checked, and any transformation is stated and carried through the limit calculation.
  • The centerline and limits are calculated using the correct formula for the selected chart type, with the arithmetic shown, not just the result.
  • The baseline itself was verified in control against the selected signal rules before the limits were locked.
  • The selected signal rules are stated with a rationale, not defaulted to “all eight rules” without thought or “just Rule 1” without justification.
  • The recalculation trigger is defined in advance and explicitly excludes “an inconvenient signal appeared” as a valid basis.

References

FDA, Process Validation: General Principles and Practices (January 2011), Stage 3. ICH Q9(R1), Quality Risk Management. Nelson, L.S., “The Shewhart Control Chart, Tests for Special Causes,” Journal of Quality Technology (1984), the origin of the commonly used Nelson rule set (described here in original wording, not reproduced verbatim).

Confirm the current version of each reference before issue, and confirm the statistical method with a qualified statistician for your specific data.


Filled specimen

A worked example extending the monoclonal antibody drug substance case: final protein concentration, target 50 mg/mL, specification 45.0 to 55.0 mg/mL, one result per batch.

Step 1, baseline: 25 batches, the PPQ batches (5) plus the first 20 commercial batches, no known special-cause events in the window, no exclusions.

Step 2, checks: Anderson-Darling normality test, p = 0.34, fails to reject normality, data treated as normal, no transformation applied. Run chart reviewed for autocorrelation, no pattern observed, points treated as independent.

Step 3, calculation:

  • Centerline (mean of 25 baseline results) = 50.2 mg/mL
  • Average moving range = 0.85 mg/mL
  • UCL = 50.2 + (2.66 x 0.85) = 50.2 + 2.261 = 52.46 mg/mL
  • LCL = 50.2 - (2.66 x 0.85) = 50.2 - 2.261 = 47.94 mg/mL
  • Registered specification: 45.0 to 55.0 mg/mL. Margin: 2.94 mg/mL below LCL to LSL, 2.54 mg/mL above UCL to USL. Confirmed control limits sit inside specification with adequate margin on both sides.

Step 4, baseline verification: No Rule 1, 2, or 3 violations found in the 25-batch baseline. Baseline confirmed in control; proceed to lock limits.

Step 5, signal rules selected:

RuleSelected?Rationale
Rule 1YesStandard gross-shift detection, always applied
Rule 2YesSustained mean shift is the primary drift risk for this CQA given known resin-aging history
Rule 3YesTrend detection catches drift earlier than Rule 2 alone
Rule 5NoJudged to add review burden without meaningfully improving detection for this parameter’s variability profile
Rule 6NoSame rationale as Rule 5

Rule 1 maps to immediate formal investigation. Rules 2 and 3 map to confirmation followed by a documented assessment, escalating to formal investigation if the trend is confirmed, per the product CPV plan’s signal-to-action map.

Step 6, lock-in: Centerline 50.2 mg/mL, UCL 52.46 mg/mL, LCL 47.94 mg/mL, baseline batches 1 to 25 (5 PPQ, 20 commercial), no exclusions, Rules 1, 2, and 3 locked, effective 01 March 2026, recorded in Product CPV Plan v2.0, approved by QA 28 February 2026.

Step 7, recalculation trigger: Recalculate at annual review, or after accumulating 25 additional stable batches beyond the current baseline (targeting 50 total), or after any validated process change expected to shift the mean or variability (for example, a qualified new chromatography resin type), whichever occurs first. Limits will not be recalculated solely because a signal is open; any recalculation coinciding with an open signal will state the independent trigger that applies regardless.

Common inspection findings this worksheet prevents

  • Control limits calculated with no visible arithmetic, so nobody can verify a mean plus or minus 3 sigma claim against the actual data.
  • Normality and independence never checked, and a Shewhart chart applied to data that does not meet the assumptions behind it.
  • A baseline data set that itself contains an unresolved special-cause point, silently absorbed into the calculated limits.
  • Signal rules used inconsistently between the plan and the actual chart software configuration, with nobody able to say which rules are truly active.
  • No stated recalculation trigger, so limits get changed on an ad hoc basis whenever it is convenient.

How to adapt this worksheet

  1. Set the worksheet number, product, and parameter in the header, and route it for statistician review if the data is expected to be non-normal, autocorrelated, or subgrouped.
  2. If your chart type is not I-MR, replace the Step 3 formula with the correct centerline and limit calculation for X-bar/R, X-bar/S, or an attribute chart, and show the substituted arithmetic.
  3. For a low-frequency, small-n product, complete the borrowed-variance line in Step 1 explicitly and cross-reference the product CPV plan’s low-frequency monitoring provisions rather than forcing a 20 to 30 batch baseline that will not exist for years.
  4. Attach this worksheet to the product CPV plan or Stage 3a protocol revision that the locked limits feed.
  5. Confirm every reference against the current published version before issue.
Use madhadi.com as an app Full screen, works offline, one tap from your home screen.