This is a ready-to-use trending record for product quality complaints. It defines what is trended, how rates are normalised to distribution volume, how thresholds are set before the data arrives, what happens when one is crossed, and how the output reaches the annual product review and management review. Replace every <<FILL: ...>> placeholder, set your own document numbers and dates, and route it through your normal document control before use. A worked specimen with real arithmetic follows.
This document is educational and is written to be adapted. Confirm every cited regulation against the current published source, and set your own thresholds against your own product history rather than adopting the numbers used in the specimen. Maintaining this log does not by itself create compliance; it only structures analysis your quality system still has to perform and act on.
Individual complaints often look benign. Trending is how a stream of separate anecdotes becomes a quality signal, and it is the mechanism by which a defect that no single file could justify investigating gets found. Use it with the complaint handling SOP and the complaint investigation report form.
Document control header
| Field | Entry |
|---|---|
| Document title | Complaint Trending, Rate Normalisation, and Threshold Review Log |
| Document number | <<FILL: DOC-ID, e.g. QA-LOG-031-03>> |
| Version | <<FILL: version, e.g. 1.0>> |
| Effective date | <<FILL: effective date>> |
| Document owner | <<FILL: role, e.g. Complaints Manager>> |
| Governing SOP | <<FILL: SOP-ID for complaint handling>> |
| Review cadence | <<FILL: e.g. monthly, with a quarterly threshold review and an annual baseline reset>> |
| Products covered | <<FILL: product families and presentations>> |
| Data source | <<FILL: complaint system name and validated report reference>> |
| Distribution data source | <<FILL: ERP or distribution system and report reference>> |
1. Dimensions trended
Total complaint count is close to useless on its own. It rises with sales, falls with supply interruption, and tells you nothing about where a defect lives. Trend across the dimensions below, and record the analysis for each on every review, including the dimensions that produced nothing.
| Dimension | What it detects | Unit of analysis | Normalisation |
|---|---|---|---|
| Defect type | A specific failure mode emerging or worsening across the product | Complaints of one defect category | Rate per units distributed of that product |
| Lot or batch | A manufacturing excursion confined to one lot or campaign | Complaints on one lot | Rate per units distributed of that lot |
| Product and presentation | A problem that follows a presentation rather than the molecule, for example a vial versus a prefilled syringe, or one fill volume | Complaints on one product and presentation combination | Rate per units distributed of that presentation |
| Time | Drift, seasonality, and the effect of a change | Complaints per period | Rate per units distributed in that period |
| Severity | A shift in the seriousness of what is being reported, even when total count is flat | Complaints by severity tier | Rate, and share of total |
| Market or region | A distribution, storage, transport, or local-handling problem | Complaints by market | Rate per units distributed into that market |
| Confirmed versus unconfirmed | A rising body of unconfirmed complaints on one defect type, which is itself a signal | Complaints by conclusion | Count and share |
| Reporter type | A defect visible to one kind of user, for example only to pharmacists preparing a dose | Complaints by reporter category | Count and share |
| Site, line, or equipment train | A cause shared across lots that a per-lot view cannot see | Complaints mapped back to the manufacturing route | Rate per units distributed from that route |
| Component or supplier lot | A defect that follows an incoming material rather than a finished lot | Complaints mapped to component lot | Rate per units containing that component lot |
Cross the dimensions, do not just list them. A defect type that is flat at product level and concentrated in one lot is a manufacturing excursion. The same defect type flat at product level and spread evenly across every lot is a design, formulation, or specification problem. Those two conclusions need different actions, and only the crossed view distinguishes them. The specimen in section 6 turns on exactly this point.
2. Rate normalisation
2.1 Why raw counts fail
Raw counts move with volume. A product whose distribution doubles will roughly double its complaint count with no change whatever in quality, and a company reading raw counts will investigate a phantom. Worse in the other direction: a product whose distribution triples while its complaint count only doubles has a falling rate that a count-based review will read as a worsening trend, and a real rate increase during a supply shortage can be entirely masked. Normalisation is not a refinement; without it the trend is not interpretable.
2.2 The calculation
Complaint rate = (number of complaints of the defined type in the period / units distributed of the defined denominator in the period) x multiplier
In plain arithmetic: divide the complaint count by the units distributed, then multiply by 10,000 or 100,000 to get a number that is readable rather than a long string of zeros.
| Element | Definition to fix in your procedure |
|---|---|
| Numerator: what counts as one complaint | <<FILL: e.g. one complaint number, regardless of how many units the complainant reported. State the rule and hold to it, because it defines the whole series.>> |
| Numerator: which complaints are included | <<FILL: e.g. all complaints of the defect type, including unconfirmed ones. State explicitly whether unconfirmed complaints are in or out, and keep it constant.>> |
| Denominator: units distributed | <<FILL: e.g. saleable units shipped from the distribution centre, per the ERP distribution report. Not units manufactured, not units released, not units sold.>> |
| Denominator: unit of measure | <<FILL: e.g. vials, syringes, cartons, patient doses. Pick one per presentation and state it, because a rate in cartons and a rate in vials are different numbers.>> |
| Multiplier | <<FILL: e.g. 100,000. Use one multiplier across the product family so rates are comparable.>> |
| Period alignment | <<FILL: e.g. complaints by date of awareness, distribution by ship date, both on calendar months>> |
2.3 The rules that stop the arithmetic from lying
- Match the numerator to the denominator. Complaints on one lot are divided by units distributed of that lot, not by total product distribution. Getting this wrong makes every lot-level rate look tiny and hides exactly the signal you are looking for.
- Set a minimum denominator. Below
<<FILL: e.g. 5,000 units>>a single complaint produces a rate so large it swamps every comparison. Where the denominator is below the minimum, do not calculate a rate; apply the count-based rule in section 3 instead and record that you did. - Account for the lag. A lot distributed last month has had one month of exposure; a lot distributed nine months ago has had nine. Comparing their cumulative rates directly is comparing different exposure windows. Either compare lots at a matched age (
<<FILL: e.g. cumulative rate at 90 days after first distribution>>), or record the exposure period alongside the rate so the comparison is visible. Late-appearing defects such as stability-related failures are invisible in a young lot. - Fix the denominator source and do not change it silently. If the distribution report changes definition, the entire historical series changes with it. Record any change to the denominator definition in the revision history and restate the baseline.
- Do not annualise a partial period. A quarter with one complaint does not support a projection.
- Record zero. A defect type with no complaints this period is recorded as zero, not omitted. An omitted row is indistinguishable from an analysis that was never run.
2.4 Worked calculation, shown longhand
Product <<FILL>>, defect type <<FILL>>, lot <<FILL>>:
| Step | Value |
|---|---|
| Complaints of this defect type on this lot | <<FILL: A>> |
| Units of this lot distributed | <<FILL: B>> |
| A divided by B | <<FILL>> |
| Multiplied by 100,000 | <<FILL>> per 100,000 units distributed |
| Baseline rate in force for this defect type | <<FILL>> per 100,000 |
| Ratio to baseline | <<FILL>> times baseline |
| Threshold in force | <<FILL>> |
| Crossed? | Yes / No |
3. Threshold definitions and how they were set
3.1 The principle
Thresholds are set before the data arrives and are written down. “We will review the trends and use judgement” is not a threshold, and a review that decides after the fact whether a number was concerning will always find a reason not to escalate. Pre-defining the trigger removes that discretion at the moment it is least reliable.
A threshold is a detection device, not a verdict. Crossing one obliges you to investigate, not to conclude that a defect exists. Set them at a level where you accept some investigations will find nothing, because a threshold tuned so that every crossing is a real defect is tuned far too high to catch anything early.
3.2 The thresholds
| ID | Threshold | Definition | Basis for the level chosen |
|---|---|---|---|
| T1 | Product-level rate | Rate for a defect type across the product, rolling <<FILL: e.g. 12 months>>, at or above <<FILL: e.g. 3>> times the baseline rate for that defect type | <<FILL: state the reasoning, e.g. derived from the observed period-to-period variation in the baseline window, set above the historical maximum so ordinary variation does not fire>> |
| T2 | Lot-level rate | Rate for a defect type on a single lot at or above <<FILL: e.g. 10>> times the baseline rate for that defect type, subject to the minimum denominator in section 2.3 | <<FILL: a lot-level rate is calculated on a much smaller denominator and is inherently noisier, so the multiple is set higher than T1 to control false alarms while still firing well before a product-level signal would>> |
| T3 | Lot-level count | <<FILL: e.g. 3>> or more complaints of one defect type on a single lot within <<FILL: e.g. 90 days>>, regardless of rate | <<FILL: a count rule catches lots below the minimum denominator and lots too young for a rate to be meaningful>> |
| T4 | Severity safety net | <<FILL: e.g. 2>> or more complaints of a defect type carrying Critical severity on a single lot or on the product within <<FILL: e.g. 90 days>>, regardless of rate | <<FILL: for defect types where the consequence is severe, waiting for a rate signal is not acceptable>> |
| T5 | New defect type | Any defect type not previously recorded for this product, on first occurrence | <<FILL: a novel failure mode has no baseline to be compared against, so first occurrence is the trigger>> |
| T6 | Unconfirmed run | <<FILL: e.g. 4>> or more complaints of one defect type closed as unconfirmed within <<FILL: e.g. 12 months>>, regardless of rate | <<FILL: a pattern of honestly unconfirmed complaints on one defect type is a signal about detection capability, not an absence of a defect>> |
| T7 | Sustained direction | Rate increasing across <<FILL: e.g. 3>> consecutive review periods, even where no absolute threshold is crossed | <<FILL: catches slow drift that never trips an absolute limit>> |
| T8 | <<FILL: your own>> | <<FILL>> | <<FILL>> |
3.3 How the baselines were set
| Field | Entry |
|---|---|
| Baseline period | <<FILL: e.g. 1 January to 31 December of the prior calendar year>> |
| Why that period | <<FILL: e.g. a full year of stable process, no major change, sufficient distribution volume>> |
| Periods excluded from the baseline and why | <<FILL: e.g. lots under a confirmed CAPA are excluded so a known defect does not inflate the baseline it will be measured against>> |
| Units distributed in the baseline period | <<FILL>> |
| Complaints in the baseline period, by defect type | <<FILL>> |
| Baseline rate per defect type | <<FILL>> per 100,000 |
| Statistical method, where one is used | <<FILL: e.g. control limits from an attribute chart, with the chart type and the reason it fits the data; see the note below>> |
| Baseline reset cadence | <<FILL: e.g. annually, and after any confirmed process change affecting the defect type>> |
| Approved by, date | <<FILL>> |
On statistical limits. Where volumes support it, an attribute control chart gives defensible limits and detects a shift earlier than a fixed multiple. Where volumes are low, complaint counts are sparse, or the process has changed within the window, a stated multiple of a stated baseline is more honest than a control limit calculated on data that does not meet the chart’s assumptions. Pick one, state which, and state why. A control chart applied to eight data points is decoration. See statistics in quality, Cpk and control charts.
Do not move a threshold because it fired. If the review concludes a threshold is set too low, that is a legitimate finding, but it is changed through document control with a recorded rationale and it takes effect prospectively. Raising a threshold inside the review that it just triggered, so that the crossing disappears, is the single most damaging thing that can happen to a trending system, and it is visible in the revision history.
4. Periodic review record
Complete one record per review period. Every field is part of the record.
| Field | Entry |
|---|---|
| Review reference | <<FILL: e.g. TREND-YYYY-MM-NN>> |
| Review period | <<FILL: from>> to <<FILL: to>> |
| Review date | <<FILL>> |
| Products in scope | <<FILL>> |
| Performed by (name, role) | <<FILL>> |
| Data extracted from, report reference, extraction date | <<FILL>> |
| Distribution data source, report reference | <<FILL>> |
| Data completeness check | <<FILL: complaints still open at period end, complaints received after period end relating to the period, and how each was handled>> |
| Thresholds in force at review (version) | <<FILL>> |
4.1 Summary by defect type
| Defect type | Complaints this period | Units distributed | Rate per 100,000 | Baseline | Ratio to baseline | Threshold crossed | Action |
|---|---|---|---|---|---|---|---|
<<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | Yes / No | <<FILL>> |
4.2 Summary by lot
| Lot | Units distributed | Exposure period | Complaints | Rate per 100,000 | Ratio to baseline | Threshold crossed | Action |
|---|---|---|---|---|---|---|---|
<<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | Yes / No | <<FILL>> |
4.3 Summary by presentation, market, severity, and conclusion
| View | Result | Threshold crossed | Action |
|---|---|---|---|
| By presentation | <<FILL>> | Yes / No | <<FILL>> |
| By market | <<FILL>> | Yes / No | <<FILL>> |
| By severity | <<FILL>> | Yes / No | <<FILL>> |
| Confirmed versus unconfirmed | <<FILL>> | Yes / No | <<FILL>> |
| By site, line, or equipment train | <<FILL>> | Yes / No | <<FILL>> |
| By component or supplier lot | <<FILL>> | Yes / No | <<FILL>> |
4.4 Review conclusions
| Field | Entry |
|---|---|
| Thresholds crossed this period | <<FILL: list, or "none">> |
| Signals observed below threshold and being watched | <<FILL: with the reason for not escalating and the period they will be watched over>> |
| Actions carried forward from the prior review | <<FILL: with status>> |
| Open backlog: complaints open at period end, and the oldest | <<FILL>> |
| Classification consistency check performed | <<FILL: see section 5.4>> |
| Changes proposed to thresholds or baselines | <<FILL: prospective only, through document control>> |
| Reviewed by (name, role, date) | <<FILL>> |
| QA approval (name, role, date) | <<FILL>> |
5. Threshold-crossing escalation
5.1 What a crossing obliges
A crossing is not a conclusion. It obliges you to do the following, and to record each:
- Verify the data before acting. Confirm the numerator (are these genuinely the same defect type, or has a classification drift merged two different things), confirm the denominator (is the distribution figure for the right lot, the right unit, the right period), and confirm no duplicate complaint numbers are inflating the count. A crossing driven by a data error is a data-integrity finding, not a quality signal, and it is found in minutes.
- Open a trend investigation within
<<FILL: e.g. 5 business days>>, or link the crossing to an investigation already open on the same facts rather than duplicating it. - Link every contributing complaint to that investigation, including the ones closed as unconfirmed. The population is the evidence.
- Reassess the reportability of the contributing complaints in light of the aggregate. A pattern can make reportable what a single complaint did not. Use the reportability decision matrix.
- Assess product impact and field action across the affected population, not just the lot that crossed.
- Decide CAPA, and where a CAPA is opened, link the whole contributing population to it so effectiveness can be measured against that population. See what is a CAPA and CAPA effectiveness verification.
- Define the effectiveness measure in the same terms as the threshold: the same defect type, the same normalised rate, against the same baseline, over a stated number of periods. An effectiveness check written in different units from the trigger cannot demonstrate the trigger was resolved.
5.2 Where the review decides not to escalate
Permitted, and it has to be reasoned in the record. State the specific facts: a data error identified and corrected, a denominator below the minimum with the count rule applied instead, a known and already-investigated cause with the existing investigation referenced. “Reviewed, no action” is not a reason. Record who decided and the date, because an unattributed decision not to escalate is the finding an inspector writes.
5.3 Escalation record
| Field | Entry |
|---|---|
| Crossing reference | <<FILL>> |
| Threshold crossed (ID and value) | <<FILL>> |
| Dimension and unit that crossed | <<FILL>> |
| Data verification performed, result | <<FILL>> |
| Contributing complaint numbers | <<FILL: all of them>> |
| Investigation opened or linked, reference | <<FILL>> |
| Reportability reassessed, outcome | <<FILL>> |
| Product impact and field action assessment | <<FILL>> |
| CAPA decision and reference | <<FILL>> |
| Effectiveness measure and period | <<FILL>> |
| Escalated to (role) on (date) | <<FILL>> |
| Decision not to escalate, with reasoning and decision maker | <<FILL: or N/A>> |
5.4 Classification consistency check
Trending is only as good as the classification underneath it. If two coordinators code the same defect differently, the trend is diluted across two categories and may never cross a threshold. Perform this check every <<FILL: e.g. quarter>>:
| Check | Method | Result |
|---|---|---|
| Sample of complaints re-coded independently | <<FILL: e.g. 20 complaints re-coded by a second coordinator blind to the original code>> | <<FILL: agreement rate>> |
| Categories that were confused with each other | <<FILL>> | <<FILL>> |
| Use of the “other” category | <<FILL: share of complaints coded "other" over the period>> | <<FILL: a rising "other" share means the category list no longer fits the defects being reported>> |
| Severity assigned to the same defect type across handlers | <<FILL>> | <<FILL>> |
| Action arising | <<FILL: category list revision, training, anchored examples added to the SOP>> | <<FILL>> |
6. Feed into annual product review and management review
| Output | Destination | Content | Timing | Owner |
|---|---|---|---|---|
| Annual complaint summary by product, defect type, and rate, with trends and threshold crossings | Annual product review / product quality review | Complaint counts and normalised rates for the year, comparison to prior years, all threshold crossings and their outcomes, all complaint-driven CAPAs and their effectiveness status, recalls and field actions arising from complaints, and any unconfirmed-run signals | <<FILL: e.g. within 30 days of the APR data cut-off>> | Complaint coordinator |
| Complaint metrics and signals | Management review | Rate trends against baseline, threshold crossings and whether each was resolved, backlog and timeliness performance against procedure, reportability timeliness, classification consistency results, and any resource constraint preventing the above | <<FILL: e.g. quarterly>> | Head of Quality |
| Signals affecting product quality attributes | Continued process verification and process monitoring | Defect types that map to a process parameter or a critical quality attribute | <<FILL>> | Manufacturing quality |
| Signals affecting a supplier or contract partner | Supplier quality and the quality agreement review | Defect types mapping to an incoming component or a contract-manufactured step | <<FILL>> | Supplier quality |
The flow that has to be demonstrable end to end is: complaint recorded, aggregated, normalised, threshold crossed, investigation opened, CAPA raised, effectiveness verified against the same rate, and the whole sequence visible in the annual product review and management review inputs. An inspector will pick a threshold crossing from your log and ask you to walk that chain. Where the chain breaks is almost always between “threshold crossed” and “investigation opened”, because nobody was accountable for the step. Name the owner and the timeline in section 5.1 and the break does not happen.
See annual product review and PQR, management review under Q10, and quality metrics and KPIs.
7. Data integrity expectations
| Expectation | What it means here |
|---|---|
| Attributable | The person who ran the extract, performed the analysis, and approved the review is named on the record. |
| Legible and enduring | The review record is retained with its underlying extract, not just the conclusion. |
| Contemporaneous | The review is performed and recorded on the defined cadence, not reconstructed before an inspection. |
| Original | The report used is a validated report from the complaint system, referenced by name and version, not an untracked manual query. |
| Accurate | The numerator and denominator definitions are fixed, and any change to them is recorded and the historical series restated. |
| Complete | Zero rows are recorded. Excluded data is recorded as excluded, with the reason. |
| Consistent | The same defect categories, the same multiplier, and the same denominator definition are used across periods so the series is comparable. |
| Available | Prior review records are retrievable so the trend across periods can be reconstructed. |
Where the analysis is performed in a spreadsheet rather than in the validated system, the spreadsheet is itself a GxP tool and needs the appropriate level of control and verification. See data integrity foundations.
Filled specimen
The following is a completed monthly review in which a genuine rate signal emerges on one lot. Company, product, lots, and numbers are illustrative. The arithmetic is shown in full.
Review header
| Field | Entry |
|---|---|
| Review reference | TREND-2026-06-01 |
| Review period | 1 June 2026 to 30 June 2026, with rolling 12 month and cumulative-by-lot views |
| Review date | 8 July 2026 |
| Products in scope | Fictional Bio lyophilised biologic, 100 mg/vial single-use vial |
| Performed by | M. Duarte, Complaint Coordinator |
| Data source | Complaint system CQMS, validated report RPT-CMP-014 v3.0, extracted 7 July 2026 |
| Distribution data source | ERP-02 distribution report DIST-2026-0630 |
| Data completeness check | 4 complaints open at period end, all included by date of awareness. 1 complaint received 6 July 2026 (CMP-2026-0731) relates to a lot in this review; it falls outside the period and is flagged in section 4.4 rather than counted in the period rate. |
| Thresholds in force | Threshold set QA-LOG-031-03 v2.0, effective 1 January 2026 |
Baselines in force
| Field | Entry |
|---|---|
| Baseline period | 1 January 2025 to 31 December 2025 |
| Units distributed in baseline period | 111,000 vials |
| Appearance-defect complaints in baseline period | 2 |
| Baseline rate, appearance defects | 2 / 111,000 x 100,000 = 1.80 per 100,000 |
| Baseline reset cadence | Annually, each January, and after any confirmed process change affecting the defect type |
| Approved by | K. Ofori, QA Manager, 6 January 2026 |
Summary by defect type, rolling 12 months to 30 June 2026
Units distributed in the rolling window: 108,600 vials.
| Defect type | Complaints | Rate per 100,000 | Baseline | Ratio | T1 trigger (3x baseline) | Crossed |
|---|---|---|---|---|---|---|
| Appearance on reconstitution | 4 | 3.68 | 1.80 | 2.05x | 5.40 | No |
| Packaging or carton damage | 7 | 6.45 | 6.10 | 1.06x | 18.30 | No |
| Label legibility | 1 | 0.92 | 1.35 | 0.68x | 4.05 | No |
| Suspected lack of effect | 0 | 0.00 | 0.90 | 0.00x | 2.70 | No |
| Cold chain concern raised by customer | 3 | 2.76 | 3.15 | 0.88x | 9.45 | No |
| Other | 2 | 1.84 | 2.25 | 0.82x | 6.75 | No |
Appearance rate calculation, longhand: 4 complaints divided by 108,600 vials distributed = 0.0000368. Multiplied by 100,000 = 3.68 per 100,000. Against a baseline of 1.80, that is 2.05 times baseline, below the T1 trigger of 3 times baseline.
On the product-level view alone, nothing escalates. That is the point of the next table.
Summary by lot, appearance defects, cumulative to 30 June 2026
| Lot | First distributed | Units distributed | Exposure at review | Appearance complaints | Rate per 100,000 | Ratio to baseline | T2 trigger (10x = 18.0) | T3 trigger (3 in 90 days) | Crossed |
|---|---|---|---|---|---|---|---|---|---|
| LB-4409 | Nov 2025 | 9,340 | 8 months | 0 | 0.00 | 0.00x | No | No | No |
| LB-4411 | Dec 2025 | 9,610 | 7 months | 0 | 0.00 | 0.00x | No | No | No |
| LB-4413 | Jan 2026 | 8,980 | 6 months | 0 | 0.00 | 0.00x | No | No | No |
| LB-4415 | Feb 2026 | 9,430 | 5 months | 1 | 10.60 | 5.89x | No | No | No |
| LB-4417 | Apr 2026 | 9,180 | 3 months | 2 | 21.79 | 12.10x | Yes | No | Yes |
| LB-4419 | May 2026 | 9,260 | 2 months | 0 | 0.00 | 0.00x | No | No | No |
Lot LB-4417 calculation, longhand:
| Step | Value |
|---|---|
| Appearance complaints on lot LB-4417 | 2 (CMP-2026-0688 received 14 May 2026; CMP-2026-0702 received 3 June 2026) |
| Units of lot LB-4417 distributed | 9,180 |
| 2 divided by 9,180 | 0.0002179 |
| Multiplied by 100,000 | 21.79 per 100,000 |
| Baseline appearance rate | 1.80 per 100,000 |
| Ratio to baseline | 21.79 / 1.80 = 12.10 times baseline |
| T2 threshold: 10 times baseline | 18.00 per 100,000 |
| Minimum denominator rule: 5,000 units | 9,180 units, satisfied, so the rate rule applies |
| T2 crossed? | Yes |
| T3 (3 or more in 90 days) | 2 complaints, not crossed |
Both complaints on LB-4417 were closed as unconfirmed, because in each case the complainant had discarded the vial and no sample was returned. They are included in the numerator, per the numerator definition in section 2.2, and their unconfirmed status did not remove them from the trend. Had unconfirmed complaints been excluded from the count, the lot rate would have been 0.00 and this crossing would not have occurred.
Other views
| View | Result | Crossed | Action |
|---|---|---|---|
| By presentation | Single presentation, no comparison available | No | None |
| By market | US 4 appearance complaints on 108,600 vials, 3.68 per 100,000. Product distributed in the US only this period. | No | None |
| By severity | Appearance complaints on a sterile parenteral are triaged Critical. 2 Critical on lot LB-4417 within 90 days. T4 safety net (2 or more Critical on one lot in 90 days) crossed independently of T2. | Yes | Reinforces the T2 escalation |
| Confirmed versus unconfirmed | 4 of 4 appearance complaints in the rolling window closed unconfirmed. T6 trigger is 4 or more unconfirmed of one defect type in 12 months. Crossed. | Yes | Reinforces the T2 escalation and raises a separate question about detection capability, carried to the action below |
| By site, line, equipment train | All lots filled on line F-01 and lyophilised on LY-02. No discrimination available from this view alone. | No | Flagged to the investigation as context |
| By component or supplier lot | Drug substance lot DS-2211 is common to LB-4415, LB-4417, and LB-4419. Two of those three show no appearance complaints. | No | Component is a weak hypothesis; flagged to the investigation |
Review conclusions
| Field | Entry |
|---|---|
| Thresholds crossed | T2 (lot-level rate, LB-4417 at 12.10x baseline against a 10x trigger), T4 (2 Critical-severity complaints on one lot within 90 days), T6 (4 unconfirmed appearance complaints in 12 months) |
| Signals below threshold being watched | Lot LB-4415 at 5.89x baseline on a single complaint. Not escalated: a single complaint on a 9,430 unit denominator produces an unstable rate, and no second complaint has followed in 5 months. Watched for a further 2 review periods. Decision by M. Duarte, 8 July 2026, concurred by K. Ofori. |
| Actions carried forward | None open from the May review. |
| Open backlog | 4 complaints open at period end. Oldest 22 days, within the 30 day target. |
| Classification consistency check | Performed 30 June 2026 quarterly check: 20 complaints re-coded blind, 18 of 20 agreement. Two disagreements both involved “appearance on reconstitution” versus “other”. “Other” category share 8 percent, within the 10 percent action limit. Anchored examples for appearance codes added to the SOP annex, effective 1 August 2026. |
| Changes proposed to thresholds | One, prospective, see the action below. No threshold changed in response to this crossing. |
Escalation record
| Field | Entry |
|---|---|
| Crossing reference | ESC-2026-0031 |
| Threshold crossed | T2 lot-level rate, 21.79 per 100,000 against an 18.00 trigger; also T4 and T6 |
| Dimension and unit | Lot LB-4417, appearance on reconstitution |
| Data verification performed | Numerator verified: both complaints independently confirmed as the same defect category by a second coordinator, no duplicates. Denominator verified against DIST-2026-0630: 9,180 vials of LB-4417 distributed, unit of measure vials, ship-date basis. No data error identified. |
| Contributing complaints | CMP-2026-0688 (14 May 2026, unconfirmed, no sample), CMP-2026-0702 (3 June 2026, unconfirmed, no sample) |
| Investigation opened or linked | Linked, not duplicated. Investigation INV-2026-0311 was opened on 6 July 2026 on complaint CMP-2026-0731, a third appearance complaint on lot LB-4417 received with a returnable sample. This crossing is linked into INV-2026-0311 and both prior complaints were reopened and linked on 8 July 2026. |
| Reportability reassessed | Yes. Individually, neither prior complaint had been assessed as reportable, both being unconfirmed with no sample. In aggregate, with the third complaint and a returnable sample, the Biological Product Deviation Report branch under 21 CFR 600.14 was reassessed as applicable by Regulatory Affairs. Day zero recorded as 6 July 2026, the date of awareness of the information reasonably suggesting a reportable event. |
| Product impact and field action | Referred to the recall committee with the investigation, 6 July 2026. Bracketing lots LB-4415 and LB-4419 assessed. |
| CAPA decision and reference | CAPA-2026-0203, opened 13 July 2026, with all three complaints linked |
| Effectiveness measure | Appearance-defect rate for this product monitored monthly for 12 months against the 1.80 per 100,000 baseline, using the same numerator and denominator definitions as this log. Target: no lot exceeding 5x baseline and the product-level rolling rate returning to within 1.5x baseline by June 2027. |
| Escalated to | K. Ofori, QA Manager, and S. Beniwal, Regulatory Affairs Manager, 8 July 2026 |
Action raised against the trending system itself
| # | Observation | Action | Owner | Due |
|---|---|---|---|---|
| 1 | The first complaint on LB-4417 arrived 14 May and the second on 3 June, but the threshold crossing was only visible at the monthly review on 8 July. The monthly cadence introduced a five-week detection lag on a Critical-severity defect type. | Add an event-driven check: any second complaint of a Critical-severity defect type on a single lot triggers an out-of-cycle threshold evaluation within 2 business days, rather than waiting for the monthly review. Prospective change to the threshold set through document control. | M. Duarte | 31 Aug 2026 |
| 2 | Both prior complaints were closed unconfirmed with no reserve sample examined and no lot cluster check performed. Either step would have surfaced this defect in May. | Revise the complaint investigation procedure so that a no-sample complaint cannot be closed as unconfirmed without a documented reserve sample examination and lot cluster check. Folded into CAPA-2026-0203. | T. Nwosu | 30 Sep 2026 |
| 3 | T6 (unconfirmed run) crossed at the same review as T2, so it added no early warning in this case. Reviewed whether the trigger count of 4 in 12 months is too high for a Critical-severity defect type. | Propose a severity-weighted T6: 2 unconfirmed of a Critical-severity defect type in 12 months. Prospective, through document control, with the reasoning recorded. | M. Duarte | 30 Sep 2026 |
Approval
| Role | Name | Date |
|---|---|---|
| Performed by | M. Duarte, Complaint Coordinator | 8 July 2026 |
| Reviewed by | S. Beniwal, Regulatory Affairs Manager (reportability sections) | 9 July 2026 |
| QA approval | K. Ofori, QA Manager | 9 July 2026 |
What this specimen is meant to teach. The product-level view showed 2.05 times baseline and would not have escalated anything. The lot-level view on the same data showed 12.10 times baseline and crossed. Two of the three complaints were honestly unconfirmed and would have vanished from the numerator under a rule that counted confirmed complaints only. And the crossing was visible five weeks after the second complaint arrived, purely because the review ran monthly. Each of those three points is a design decision made before the data existed, and each of them determined whether the signal was found. The threshold did its job; the cadence did not, and the review said so in its own record rather than waiting for an auditor to say it.
Common inspection findings this log prevents
- Complaint trending is described in the SOP but no trending records exist for the period under inspection.
- Trending is by raw count, so a real rate increase is masked by growth in distribution volume.
- Lot-level complaints are divided by total product distribution rather than by that lot’s distribution, making every lot signal disappear.
- Thresholds are not defined in advance, so escalation is a matter of judgement exercised after seeing the number.
- A threshold was crossed and nothing happened, because no owner and no timeline were attached to the step between crossing and investigation.
- A threshold was raised or a definition changed in the same review that the crossing occurred, so the crossing disappeared from the record.
- Unconfirmed complaints are excluded from the trend, so a defect that cannot be confirmed at unit level is invisible at population level.
- Zero rows are omitted rather than recorded, so it cannot be shown that a defect type was analysed at all.
- The numerator or denominator definition changed between periods with no restatement, so the series is not comparable and the trend is not interpretable.
- Classification is inconsistent between handlers, so one defect is spread across two categories and never crosses a threshold.
- The “other” defect category has grown to a large share of complaints, meaning the category list no longer matches what is being reported.
- Complaint trends are not visibly carried into the annual product review or management review, so the quality system cannot show it acted on its own data.
- A CAPA raised from a trend has an effectiveness check written in different units from the threshold that triggered it, so it cannot demonstrate resolution.
- The trending analysis is performed in an uncontrolled spreadsheet with no verification of the calculation and no record of the extract used.
How to adapt this log
- Set your document number, owner, cadence, and data sources in the header, and name the validated report you extract from.
- Fix the numerator and denominator definitions in section 2.2 first, before anything else. Every number in this log depends on them, and changing them later invalidates the historical series.
- Calculate your own baselines from your own history using section 3.3. Do not carry over the 1.80 per 100,000 in the specimen; it is arithmetic on invented data.
- Set the threshold multiples in section 3.2 against your own observed variation. If your baseline window shows appearance-defect rates varying between 1.2 and 2.4 per 100,000 across periods, a trigger at 1.5 times baseline will fire constantly and be ignored within two quarters. Set them where you will actually act.
- Set the minimum denominator in section 2.3 from your typical lot size. For small-volume products, including many cell and gene therapy products, the count-based rules T3 and T4 may be the only workable triggers, and a rate rule may never be meaningful. Say so in the document rather than carrying a rate rule that never applies.
- Match the review cadence to the severity of what you make. Monthly is a common default; for a product where a defect carries serious consequences, add the event-driven trigger from action 1 in the specimen rather than relying on the calendar.
- Align the defect categories here with the categories on the complaint intake form and the cluster queries in the investigation report form, so the three documents cannot disagree about what a defect type is.
- Name the person accountable for the step between “threshold crossed” and “investigation opened”, with a timeline. That step is where trending systems fail.
- If the analysis runs in a spreadsheet, bring it under the appropriate control: fixed formulas, verified calculation, version control, and a retained copy of each period’s extract.
- Confirm every regulation and guidance referenced against the current published version before issue.