Your co-packer checks each batch around the time it is made. Your customers open the jar weeks or months later, in kitchens you will never see, after a truck, a warehouse, a store shelf, and a pantry have all had their turn with it. That makes your complaint inbox the only regular report you get from the far end of your shelf life.
Many brands handle complaints as customer service: apologize, replace, move on. That part matters. But read the way a product developer reads them, logged, sorted, and lined up against your lot codes, the same complaints start telling you which parts of your formula and spec need work.
First, pull out anything that is not yours to diagnose
Before you sort a single complaint for formula clues, take out the ones that might be a food safety signal. These do not wait for a pattern. One is enough to act on.
- A bulging lid or a puffed pouch, or a jar that spurts, foams, or fizzes when it is opened.
- An off odor the customer describes as sour, yeasty, boozy, rotten, or chemical, or mold on product that was still sealed.
- A safety button that was already popped, a broken seal, or a leaking container.
- Foreign material: glass, metal, hard plastic, wood, or anything else that should not be in the jar.
- Someone reports getting sick or having an allergic reaction.
- Anything that suggests an allergen that is not on the label, including a product that looks or tastes like a different product, which can mean the wrong product ended up in your packaging.
Send these to your co-packer's food safety team and your process authority the same day, with the lot code, photos, and the customer's contact details. Talk to regulatory counsel about whether anything has to be reported and what to say back to the customer. Ask the customer to keep the container if they still have it, because the food safety team may want it. Then let those people lead the investigation, and stay close to it, because decisions about product already in the market usually involve you as the brand owner. My part, if there is one, comes later, if the root cause turns out to sit in the formula or the spec.
Everything else, the jar that is watery on top, the sauce that "used to be hotter," the dip that tastes flat, is quality information. That is where the real reading begins.
Log complaints so a pattern has a chance to show up
A complaint you cannot tie to a lot code is an opinion. A complaint with a lot code, a purchase date, and a product age is data. A shared spreadsheet is fine, as long as it has the same columns every time:
- Date the complaint arrived.
- Lot code and best-by date, from a photo whenever you can get one. Codes are easy to misread.
- Production date, decoded from the lot code.
- Product age at the complaint: the days between production and the complaint. This is the column that turns a complaint log into a formula tool.
- Where it was bought: store and region, your website, a marketplace, foodservice.
- How it was stored and when it was opened, including whether it was refrigerated after opening if your label asks for that.
- The complaint in the customer's words, then your one-line translation into a defect: "oil separation," "thin," "low heat," "dark color," "sharp acid."
- Suspected cause, from the five below, marked suspected or confirmed.
- What you did: refund, replacement, a retained sample pulled and tasted, a note to the plant.
Every reply to a customer can ask for the same three things: a photo of the lot code, where and roughly when they bought it, and how they stored it. Ask kindly. They are doing you a favor by writing at all.
If your lot code covers a whole day of production, or customers cannot find it, or nobody at your company can decode it, the log stalls right there. That is a traceability fix, covered in how to design a lot code and run a mock recall.
Count complaints against what you made
Raw counts mislead. Say lot A was 6,000 jars and drew four complaints, and lot B was 1,500 jars and also drew four. Same count, four times the rate for lot B. Divide by units produced, or by units shipped if much of a lot is still in the warehouse, before you decide a lot is a problem.
Time misleads too. A lot that shipped last month has had a few weeks to collect complaints; a lot that shipped eight months ago has had eight months. Compare lots of similar age, or count only the complaints that arrived within the same window after production.
Sort every complaint into one of five causes
Each logged complaint gets one suspected cause, which you can move later. The point is to stop treating every complaint as "the product" and start asking which part of the system produced it.
Formula
The recipe and spec themselves. The product is doing what it was designed to do, and that design does not hold up over the full shelf life. Formula complaints tend to appear in many lots, from many production days, at a similar product age.
Process
How one batch was made: cooked longer, held hotter, mixed harder, filled cooler, reworked. Process complaints tend to cluster in one lot or one production day, at any age.
Ingredient
A raw material that changed: a new crop, a new supplier, a lot that ran hotter, paler, or less acidic. These cluster in lots that share an ingredient lot, or begin after a supplier change or at a certain time of year.
Packaging
Leaks, lids, liners, broken glass, labels that peel. These cluster by packaging component lot, filling day, or shipping route. Many are also safety signals from the list above; the rest are covered in packaging failures in glass, closures, and shipping.
Handling
What happened after the product left the plant: a hot truck, a sunny store window, an opened jar left in a warm pantry for weeks. Handling complaints cluster by channel, region, or season rather than by lot.
Read the pattern on two axes: how many lots, and how old
Once you have a few months of logged complaints, two questions do most of the sorting: how many lots does the complaint show up in, and how old is the product when it arrives? Put them together and you get a rough map.
- Many lots, similar age: usually the formula. The product is changing on the shelf in the same way every time.
- One lot, any age: that batch. Ask the plant for the batch record and look at the ingredient lots it used.
- A group of lots that share an ingredient lot, or a season: the ingredient, and the spec that let it vary.
- One channel, region, or season, across many lots: handling or packaging.
This is a starting hypothesis, not a verdict. But it keeps you from rewriting a formula because of one bad day at the plant, and from blaming the plant for something your formula does on its own at month five.
Complaint patterns that usually lead back to the formula
Separation or weeping that shows up months in
The jar looked right at fill and right at your two-week check. Then complaints about a watery layer, oil on top, or a thinner product start arriving at around the same age, across lots. That suggests the texture system is losing its hold over time. A thickener that was never matched to the acidity, heat, and handling it lives through can hold at fill and give way later. The full diagnosis is in why sauce texture fails on the shelf weeks after fill.
"Tastes flat" from older jars
If "bland" or "not like it used to be" comes mostly from product late in its code date, flavor is fading on the shelf. Volatile aromas escape, ground spices and dried herbs lose strength, oils pick up stale notes. A formula built to taste perfect at week two can taste tired by month eight. Designing for the end of the code date, sometimes with oleoresins (concentrated spice extracts) that can hold flavor and color more steadily than ground spices, is covered in why flavor and color fade over shelf life. Darkening or dulling color well inside the code date often belongs to the same family, with light and packaging playing a part, so check whether those complaints cluster in one store or channel first.
Heat that swings: "too hot" one month, "no kick" the next
When heat complaints run in both directions across lots, the spec probably names a pepper by weight rather than a heat target. Chiles vary by crop and lot, so a fixed weight delivers a different heat every time the crop changes. That is variation the formula and spec should be built to absorb; how is in keeping mild, medium, and hot consistent batch to batch.
"Too sharp" or "too salty" right after a change
If a new complaint type starts with the first lots made after you changed something (a supplier, a vinegar, a salt level, a plant), the change is the first suspect. This is one reason to give every formula a version number and record which version each lot was made on, as described in formula change control for food brands.
Confirm the pattern before you touch the formula
A pattern in the log is a hypothesis. Test it against product you control before you change anything.
- Pull retained samples. Taste and measure a retain from a lot with complaints next to one from a lot without them, and next to your gold standard (the approved reference sample). Compare products of the same age wherever you can.
- Use your every-batch samples. The plant runs quality control, and it should. You still want a sample from every batch, tested by you against your gold standard. If you have been doing that, part of the answer may already be on your shelf.
- Keep an aging set. Hold a few jars from each lot at ordinary room temperature and open one at the age your complaints cluster. You cannot confirm a month-four problem by tasting at week two.
- Ask the plant for the batch record on any lot that stands out: ingredient lots used, cook and fill records, QC readings. Ask the way you would want to be asked: "We're seeing a cluster on this lot. Can we look at the records together?"
Judge flavor fairly. A batch is still settling for its first couple of weeks, so a day-one retain set beside a gold standard approved at week two is not a fair comparison.
And keep the plant out of the blame column unless the evidence puts something there. A pattern across many lots and many production days usually means the plant made what the spec told it to make. When the pattern says the spec was not specific enough, that is useful news, because the spec is the part you own.
Turning a confirmed pattern into a formula fix
- Name the defect as a measurement where you can. "Separation at month four" becomes a viscosity or free-liquid check at set ages. "Heat swings" becomes a heat target with a range. A fix aimed at a measurement is far easier to confirm than one aimed at an adjective.
- Change one thing at a time on the bench, and age the bench samples past the point where complaints appear before you call anything fixed.
- Check what the change touches. A new thickener, acid, or spice form can change the ingredient list, the allergen statement, the nutrition panel, your claims, and possibly the process authority's review. Your process authority, whoever handles your label and nutrition panel, and your co-packer need to see it before it runs.
- Issue a new formula version and record the first lot made on it.
- Watch the log by version. The proof is a drop in that complaint type, per unit made, once new-version lots reach the age where the old ones failed. A fix for a month-four problem cannot prove itself in month one.
Two questions worth answering
How many complaints make a pattern?
There is no magic number, and for safety signals the answer is one. For quality complaints, look for the same defect, in more than one lot, at a similar age, at a rate that holds steady or climbs. Three complaints describing the same watery layer at the same age deserve more attention than ten that each describe something different.
What if the complaint is that it does not taste like it used to?
Take it seriously, but check three things before you assume the product changed: whether a formula version, supplier, or plant changed around that time; whether the customer is comparing an old jar with a fresh one, or the reverse; and whether your retains from older lots, tasted at the same age, actually differ. Sometimes the product drifted. Sometimes the memory did.
Where the log ends and the bench begins
A good complaint log tells you where to look. It does not tell you what to change. Getting from "separation at month four in most lots" to a texture system that holds for the full code date, on that plant's equipment, without anything your label promise rules out, is bench work: building candidate fixes, aging them, matching them against the gold standard, and writing the result into a spec the plant can run. That calibration depends on the formula, the plant, and the shelf life you have promised, which is why it happens product by product inside my client work rather than in an article.
Start the log now, though. Every month of clean, lot-coded data you collect before anyone touches the formula usually makes the eventual fix faster and the decision behind it easier to trust.
Need Help With Your Formulation?
Whether you're scaling your first recipe or reformulating an existing product, let's talk about how to get it right.
Book a Free Discovery Call


