[Product development & quality](<https://www.thekeating.co/programs/product-development/>) / [Use cases](<https://www.thekeating.co/programs/product-development/use-cases/>) / [Complaint cohorts](<https://www.thekeating.co/use-cases/complaint-cohorts/#main>)

[How it works](<https://www.thekeating.co/use-cases/complaint-cohorts/#system>) [What you get](<https://www.thekeating.co/use-cases/complaint-cohorts/#outputs>) [Scope](<https://www.thekeating.co/use-cases/complaint-cohorts/#scope>) [Start a review](<https://www.thekeating.co/contact/?source=discovery&landing_path=%2Fuse-cases%2Fcomplaint-cohorts%2F&intent=discovery&cta_page=%2Fuse-cases%2Fcomplaint-cohorts%2F&cta_placement=navigation&program=product-development>)

[Product development & quality](<https://www.thekeating.co/programs/product-development/>)[Quality loop](<https://www.thekeating.co/programs/product-development/use-cases/#area-quality>)

# Tie every complaint to the revision and lot that shipped.

Complaints counted against what shipped, by revision and lot, so a problem shows up as a rate with a cause.

[Start with a development review](<https://www.thekeating.co/contact/?source=discovery&landing_path=%2Fuse-cases%2Fcomplaint-cohorts%2F&intent=discovery&cta_page=%2Fuse-cases%2Fcomplaint-cohorts%2F&cta_placement=hero&program=product-development>) [How it works](<https://www.thekeating.co/use-cases/complaint-cohorts/#system>)

Shrinks after washing · by lot 24 complaints · 2,000 shipped

-   Lot 3 · 21 of 675 **31**Case opened
-   Lot 2 · 2 of 675 **3.0**Below the line
-   Lot 1 · 1 of 650 **1.5**Below the line

Per 1,000 shipped. A case opens when a lot crosses the rate your team sets

One symptom, counted per 1,000 shipped, by lot. The lot that stands out opens a case.

## Sound familiar?

-   We know people say it shrinks, and we can’t say which batch or how many.
-   “Twenty-four complaints” means nothing until you know how many units shipped.
-   Support sees the complaints. Development never sees the pattern.

Without a denominator and a lot, a fixable batch problem looks like a product problem, and the wrong thing gets redesigned.

## What changes.

ShowTodayWith the engine

Counting

Complaints counted as they arrive Complaints per 1,000 shipped, by revision and lot

Symptoms

Tags typed by whoever answered Classified the same way every time, with the customer’s words kept

The join

The marketing SKU only Order to shipment to revision and lot

Unknowns

Dropped from the count Shown as unknown, never guessed

Who sees it

Support, in a weekly export Development and quality, when a lot crosses the line

## How it works. 5 steps, 5 stages.

-   AI**1**
-   Rules and automation**3**
-   Your team**1**
-   Approval

1.  1 Collect
    
    1.  Rules and automation
        
        ### Pull complaints from every source
        
        Returns, support tickets and reviews, deduplicated by order.
        
        -   Shopify
        -   Gorgias
2.  2 Classify
    
    1.  AI
        
        ### Classify what went wrong
        
        Symptom and use condition, like “shrinks after washing”, with the customer’s words kept.
        
3.  3 Join
    
    1.  Rules and automation
        
        ### Join to revision and lot
        
        Order to shipment to the revision and lot it shipped from. Anything unmatched stays unknown.
        
        -   Shopify
        -   NetSuite
4.  4 Count
    
    1.  Rules and automation
        
        ### Count against what shipped
        
        Complaints per 1,000 shipped, by lot, variant and period.
        
5.  5 Flag
    
    1.  Your team Approval
        
        ### Review the cases that cross the line
        
        Quality opens an investigation. A serious safety signal skips the count and goes straight to your escalation path.
        

Every shipment adds to the denominator

## What you get. Real work, every week.

Shrinks-after-washing mentions

1.  Mentions**27**
2.  Tied to a lot**24**

Three mentions had no order. They’re counted as unknown, not guessed

How many complaints could be tied to an order and a lot. The rest are reported as unknown.

Complaints per 1,000 shipped

Counted against

Shipped

Complaints

Per 1,000

All of revision E

2,000

24

12

Lot 3, substitute thread

675

21

31

Lots 1 and 2, approved thread

1,325

3

2.3

The same complaints, cut three ways. The denominator is what makes the lot visible.

## How you’ll know it’s working.

1.  Complaints per 1,000 shipped, by lot
    
    The rate that separates a batch problem from a product problem.
    
2.  Share of complaints tied to a revision and lot
    
    The unmatched share tells you how far to trust the rest.
    
3.  Classification checked against your quality team
    
    A wrong tag sends a case to the wrong owner.
    

Baselines agreed before we build.

## Works with what you have.

Commerce

-   Shopify
-   NetSuite

Support

-   Gorgias

Fulfillment

-   ShipBob

We configure first

Your helpdesk and returns tool already tag complaints. We start from those tags and check them, rather than add another system.

We build when

Complaints are tagged but never joined to a lot or revision, so nobody can count them against shipments.

## What a first build includes.

Built in your accounts, around your team. Scope, fee and baseline agreed before we start.

1.  1 Design
2.  2 Build
3.  3 Run it, or hand it over

[Start with a review](<https://www.thekeating.co/contact/?source=discovery&landing_path=%2Fuse-cases%2Fcomplaint-cohorts%2F&intent=discovery&cta_page=%2Fuse-cases%2Fcomplaint-cohorts%2F&cta_placement=content&program=product-development>) [Scope this build](<https://www.thekeating.co/contact/?source=project&landing_path=%2Fuse-cases%2Fcomplaint-cohorts%2F&intent=project&cta_page=%2Fuse-cases%2Fcomplaint-cohorts%2F&cta_placement=content&use_case=complaint-cohorts>)

### We build

-   A complaint feed from returns, support and reviews
-   Symptom classification checked by your quality team
-   A join from order to shipment, revision and lot
-   A cohort table with rates per 1,000 shipped

### We start from

-   Orders and shipments, with lot numbers from your 3PL or factory
-   Returns, support and review history
-   Your quality thresholds

### From your team

Owner

Quality lead or product development lead

Involves

-   Quality
-   Customer service
-   Development
-   Sourcing
-   Logistics

## Questions teams ask.

What if our 3PL doesn’t track lots?

Then the first step is to capture lot numbers at receiving. Until then, complaints stay shown as unknown. We never guess a lot from a date.

Does AI tell us the cause?

No. It classifies and counts. Quality or engineering establishes the cause, and a rate that rises and falls by lot shows where to look.

Who owns it once it’s running?

You do. It’s built in your accounts, documented, with training for the people who run it. Ownership usually sits with your quality lead or product development lead. We can keep running it with you, or step back.

How do we start?

Usually with a development review: two to four weeks, a fixed fee credited to the build, and a plan that’s yours. If the job is already clear, we can scope the build directly.

## Part of your development engine. One of 12 use cases, in 5 parts.

[See the whole development engine](<https://www.thekeating.co/programs/product-development/#look-inside>)

1.  [Briefs **1**](<https://www.thekeating.co/programs/product-development/use-cases/#area-briefs>)
2.  [Specs & samples **4**](<https://www.thekeating.co/programs/product-development/use-cases/#area-samples>)
3.  [Suppliers & changes **3**](<https://www.thekeating.co/programs/product-development/use-cases/#area-suppliers>)
4.  [Release **2**](<https://www.thekeating.co/programs/product-development/use-cases/#area-release>)
5.  [Quality loop **2**](<https://www.thekeating.co/programs/product-development/use-cases/#area-quality>)

In quality loop

-   **Complaint cohorts**You’re here
-   [**Corrective action**Turn recurring quality issues into fixes that stick](<https://www.thekeating.co/use-cases/corrective-action/>)

Works with

-   [**Repeat-contact fixes**Turn repeat contacts into fixes someone owns](<https://www.thekeating.co/use-cases/voice-of-customer-loop/>)
-   [**Block library**Reuse approved blocks, materials and past fixes](<https://www.thekeating.co/use-cases/block-library/>)
-   [**Development readiness**Keep samples, tests and production readiness moving](<https://www.thekeating.co/use-cases/development-readiness/>)

See it at work

-   [**In the canvas jacket’s twelve weeks**Week 16: 24 complaints, and one lot behind 21 of them](<https://www.thekeating.co/programs/product-development/#week-16>)
-   [**Also in**Customer service & support](<https://www.thekeating.co/programs/customer-operations/>)

## Count complaints against what shipped. Start with a development review.

[Start with a development review](<https://www.thekeating.co/contact/?source=discovery&landing_path=%2Fuse-cases%2Fcomplaint-cohorts%2F&intent=discovery&cta_page=%2Fuse-cases%2Fcomplaint-cohorts%2F&cta_placement=closing&program=product-development>) [**Talk it through first**15 minutes](<https://cal.com/nkeating/15min>)

We reply within one business day.

---

Source: [https://www.thekeating.co/use-cases/complaint-cohorts/](<https://www.thekeating.co/use-cases/complaint-cohorts/>)

[Contact Keating & Co](mailto:nelson@thekeating.co) · [Agent guidance](https://www.thekeating.co/llms.txt)
