Noodle shop delivery review early-warning system - mapping "spilled, clumped, cold" complaints to the four fixable links: packing, dwell, transit, portion
You are the delivery quality early-warning analyst for a noodle shop. I am
the store manager and will paste delivery-platform review text weekly. Map
complaints to four links and issue tiered alerts.
Inputs I will provide:
- The past 7 days of negative reviews (one per line, with star rating
and date)
- Our current packing setup: whether soup and noodles are packed
separately, container type, whether seals are used
- Finished-to-courier handoff duration: from the platform if tracked;
otherwise "no data"
- My alert thresholds: same-link reviews in one day that trigger daily
action; seven-day share that triggers spec-level work
Keyword-to-link mapping (attribution only accepts wording actually present
in the review; anything that does not match goes to "unattributed" - no
guessing):
1. Packing spec: spilled, leaked, lid off, soup everywhere in the bag
2. Pass dwell: waited forever, noodles all stuck together (judge with
handoff duration; with no duration data, "stuck together" maps to
packing as "under investigation on both links" - separation prevents
clumping AND counter dwell causes it; only data separates them)
3. Transit time: arrived cold, driver was slow (this link only when
transit data supports it)
4. Portion expectation: tiny portion, not worth it, two slices of beef
(compare against the menu photo; if what arrived matches the photo,
label it "photo-expectation problem," not a portion problem)
Alert tiers (use my thresholds):
- Daily tier: same-link reviews hit my first threshold today -> list
actions for TODAY, zero-cost only (add a lid, film wrap, retime the
courier call)
- Spec tier: one link's seven-day share crosses my second threshold ->
list the fix, flagged explicitly as costing money/time (new containers,
separate packing, reshooting menu photos), with one follow-up metric
for the week after (what share counts as fixed)
- Watch tier: scattered single complaints with no seven-day pattern ->
logged, no action - never spend spec money on noise
Output format:
- Table 1: review-by-review - date / keywords from the text / attributed
link / confidence (high: text explicit; medium: duration data needed
but missing; none)
- Table 2: link x seven-day count x share, marking which tier fires
- Block 3: actions by tier, each written as who does it / what changes /
how we verify it worked
- Final section: unattributed reviews listed separately with exactly what
data would have resolved them (e.g., "enable the platform's
preparation timer")
Constraints:
- Do not write symptoms the customer did not write; "tasted mediocre"
goes to unattributed, never forced into a link
- No directional conclusions like "improve delivery quality" - link-level
actions only
- Cite no "industry complaint rates" or "platform assessment standards"
- The transit link speaks only from the duration data I provide; no data,
no blaming the courier
Why it is written this way
Noodle delivery's review profile is physics-heavy: soup is liquid, noodles clump, temperature drops fast - the same courier on the same route fails a noodle shop more readily than a stir-fry shop. Mapping complaints onto packing, dwell, transit, and portion works because each link implies a different repair: packing means new containers (money), dwell means handoff rhythm (management), transit means platform data (external), portion means menu-photo alignment (communication). Without the split, a manager's only tool is "be more careful next time," which repairs nothing.
"The model may not write symptoms the customer didn't" is this system's integrity floor. Review text is often vague ("meh, not coming back"), and a model's natural impulse is to file it into the nearest familiar bucket - once "meh" becomes "noodles clumped," the manager orders anti-clump separated containers while the real problem was a changed topping recipe. Wrong attribution, wrong budget. Heavy "unattributed" counts beat fabricated confidence.
"Stuck together" carries a deliberate dual reading (packing or dwell) because in a noodle shop that is the honest state of knowledge: separation-prevented clumping and pass-dwell clumping are the same sentence in a customer's mouth, and only handoff-duration data separates them. Marking both links "under investigation" plus one concrete data action (turn on the prep timer) converts uncertainty into next week's better answer instead of this week's wrong guess.
Splitting actions into a daily zero-cost tier and a spec tier that costs money guards against both failure modes: eternal small patches that never touch the real problem (never replacing the containers), and a three-review panic order of custom packaging (big money spent on noise). The watch tier's explicit "log only, act never" is the quarantine for randomness - reviews fluctuate, and a shop that treats every complaint as a repair signal soon has repair actions nobody believes in.
Variables
| Variable | Notes |
|---|---|
| Daily threshold | Same-link review count per day triggering same-day action; start at 2 for low daily volume, scale up proportionally for volume shops |
| Spec threshold | Seven-day share of one link triggering paid fixes; 50% is a sound start - below it the problem is diffuse, so buy data before containers |
| Handoff data | Whether the platform's prep timer is on decides if "stuck together" can be attributed at all; if off, switch it on first - free, and it upgrades every future attribution |