Feedback Triage
Purpose
PMs drown in feedback. 200 Intercom tickets, 50 sales call notes, 80 NPS comments, a Slack channel of complaints. Manual triage takes a day and you still miss patterns.
This skill turns a raw dump into a ranked, themed report with enough structure to drive prioritization decisions and enough quotes to defend them.
The output is opinionated: it ranks themes by a composite score, not just frequency. A theme mentioned once by a strategic enterprise customer can outweigh 30 generic requests.
When to use
- Quarterly feedback review
- Post-launch: triage the inbound noise
- Onboarding: get a fast read on what customers actually want
- Pre-roadmap-planning: ground the strategy in real evidence
- Customer-success or sales-team feedback synthesis
When NOT to use
- For 5-10 feedback items - just read them
- For a single critical incident - dedicated triage, not statistical
- For real-time monitoring (use alerting tools)
Inputs
Required:
- Feedback items: paste, file (CSV / JSON / markdown), or path
Strongly improves quality:
- Customer metadata (segment, plan tier, ARR, account name) per item if available
- Business priorities or strategic themes the PM cares about
- Time window the feedback covers
Default assumption: every item is one unit unless metadata says otherwise. With metadata, items can be weighted.
Process
Phase 1: Normalize
- Deduplicate near-identical items
- Standardize format (each item: id, text, source, date, customer metadata if any)
- Flag items that are not feedback (sales pitches, internal notes, irrelevant chatter) and exclude from clustering
- Report normalization stats: original count, deduped count, excluded count
Phase 2: Theme extraction
Cluster items by underlying job-to-be-done, not surface words. "I need an export to CSV" and "give me a way to get this data into Excel" are the same theme.
For each theme:
- Theme name (concrete, not generic - "Bulk edit roles in user admin" not "Better UX")
- Underlying JTBD ("When I'm onboarding a new team, I want to assign roles in bulk, so I can finish setup faster")
- Item count
- Sample quotes (3, diverse)
Aim for 8-15 themes. More than 20 means theming is too granular.
Phase 3: Score each theme
Four sub-scores (1-5 each):
- Volume: how many items, normalized
- Severity: how blocking is this for affected users
- Strategic fit: does this align with stated priorities
- Customer weight: are these high-value accounts (uses metadata if provided)
Composite priority = average of the four (1-5).
Report each theme with all four sub-scores plus composite. Do not hide the inputs - reviewers will want to challenge specific dimensions.
Phase 4: Sentiment slice
For each theme:
- % positive / neutral / negative
- Tone shift over time if time-window data available
- Flag themes where sentiment is sharply negative (escalation candidates)
Phase 5: Surprises and orphans
- Surprises: themes the PM probably didn't expect (compare against stated priorities)
- Orphans: items that didn't cluster - sometimes these are the most interesting (early signals)
- Conflicts: where customer segments want opposite things
Output
# Feedback Triage Report
## Stats: original / deduped / excluded
## Top 5 themes (executive summary)
## Full theme table
| # | Theme | JTBD | Items | Volume | Severity | Fit | Weight | Composite | Sentiment |
## Detailed theme breakdowns
[For each theme: name, JTBD, sample quotes, scoring rationale]
## Surprises
## Orphans worth attention
## Conflicts across segments
## Recommended next actions (3)
The output should be paste-into-Notion ready. Tables, not paragraphs, for the structured data.
Common failure modes to avoid
- Theme inflation: 30 themes is not analysis, it's transcription
- Generic theme names: "Better mobile experience" is not actionable. Be specific.
- Hiding scoring inputs: if you only show composite, reviewers can't challenge it
- Ignoring metadata: feedback from 5 enterprise customers worth $2M ARR is not the same weight as 50 free-tier users
- Pretending the data is clean: report the noise honestly. PMs need to know how much they're trusting.
Tools strategy
If the input is a structured file (CSV, JSON), parse it programmatically. If pasted text, normalize first, then process. For 500+ items, batch the clustering and consolidate.