Voice-of-Customer Rollup
Cluster scattered customer feedback into themes product will actually act on, with the receipts.
Voice-of-customer work dies the moment product catches one fabricated quote. The value is honest clustering: distinct customers, real quotes, severity by impact, and the discipline to call a one-off a one-off.
The template
Copy it, swap the {{marked}} variables for your account, and run it.
I have raw customer feedback from calls, tickets, and surveys. Cluster it into
themes for a product and leadership audience. For each theme give: a plain
name, how many distinct customers raised it, the severity, and two verbatim
quotes as evidence. End with the ONE theme I should escalate first and why.
Raw feedback (one item per line, with source):
{{feedback}}
Rules:
- Count DISTINCT customers per theme, not total mentions. One loud customer is not a trend.
- Use only quotes that actually appear in the input. Do not paraphrase into a fake quote.
- Separate "annoying" from "blocking us from value." Severity is about impact, not volume.
- If something is a one-off, say so; do not inflate it into a theme.
Variables
- {{feedback}}
- Raw feedback (one item per line)e.g. [Acme, ticket] export takes 4 clicks, should be 1 [Bolt, call] "we almost churned over the export flow, it's painful" [Acme, survey] "reporting is hard to find" [Corian, call] loves the product, wants SSO [Delta, ticket] SSO please [Echo, call] "the export is the worst part of my week"
Worked example
A CSM is asked to bring the top customer themes to the monthly product sync. She has a pile of feedback where the export flow keeps coming up from different accounts, plus a couple of SSO requests. She needs to show product what is a real pattern versus one loud voice, with quotes they can trust.
Raw feedback (one item per line, with source): [Acme, ticket] export takes 4 clicks, should be 1 [Bolt, call] "we almost churned over the export flow, it's painful" [Acme, survey] "reporting is hard to find" [Corian, call] loves the product, wants SSO [Delta, ticket] SSO please [Echo, call] "the export is the worst part of my week"
Good output vs bad output
THEME 1: Export flow is painful (severity: HIGH, value-blocking) Distinct customers: 3 (Acme, Bolt, Echo) Evidence: - Bolt: "we almost churned over the export flow, it's painful" - Echo: "the export is the worst part of my week" Note: Acme also raised it twice (ticket + survey), but that is one customer. THEME 2: SSO requested (severity: MEDIUM, adoption blocker for some) Distinct customers: 2 (Corian, Delta) Evidence: - Delta: "SSO please" - Corian: (call) wants SSO Note: only "SSO please" is a real quote; Corian's was paraphrased on a call. ESCALATE FIRST: The export flow. Three separate customers, one nearly churned over it, and the language is visceral. SSO is real but has not cost us an account yet. Lead with export.
Top Customer Feedback Themes: THEME 1: Export issues, mentioned 4 times, customers are frustrated. One said "the export flow is completely broken and unusable." High priority! THEME 2: SSO, customers are demanding SSO across the board. This is a major gap. Quote: "we can't use the product without SSO." Overall, customers love the product but these two areas need immediate attention. Recommend prioritizing both for the next sprint.
- Hallucinated specificsBoth "quotes" are invented, "completely broken and unusable" and "we can't use the product without SSO" appear nowhere in the input. Fake evidence is worse than no evidence.
- Unverified claim"Mentioned 4 times" counts total mentions, letting one customer (Acme) inflate a theme; and "demanding SSO across the board" overstates two requests.
- No next step"Prioritizing both" gives product no signal on which theme to escalate first, which was the whole ask.
- Generic filler"Customers love the product but these areas need attention" is the throwaway line product tunes out.
Guardrails
When NOT to use this
- Do not use it as your only VoC method for a big decision; a model clustering six lines is not a research program. It is a first-pass synthesis.
- Skip if your feedback set is tiny or from a single account; there is no theme to find, just one customer's opinion.
Responsible use
- Spot-check every quote against the source. The failure mode here is a fabricated quote that gets repeated in a product review as fact.
- Strip account names if the rollup will be shared widely and the feedback is sensitive; themes travel, attributions should not always.
A human must review the output before it reaches the customer.
Model + settings
- Model
- Claude Sonnet for routine rollups; Opus if the feedback volume is large and nuanced.
- Temperature
- 0.2 (low, you want faithful clustering and real quotes, zero invention)
- Settings
- The "count distinct customers, not mentions" rule is what stops one loud account from faking a trend. Keep it.
- For larger sets, ask it to output a table so product can sort by distinct-customer count.