Analyzing User Feedback
Scope
Covers
- Aggregating and normalizing feedback from multiple channels (support, sales, research, reviews, surveys, usage signals)
- Turning raw feedback into themes with evidence and actionable recommendations
- Identifying friction / reasons users won’t use the product (not just validation)
- Producing a repeatable feedback loop (cadence, owners, and handoffs)
When to use
- “Synthesize our user feedback into themes and actions.”
- “Analyze support tickets / feature requests for the top issues.”
- “Create a voice-of-customer report for in the last .”
- “Summarize churn reasons / cancellation feedback.”
- “Cluster survey open-ends into insights and recommendations.”
When NOT to use
- You need to collect new feedback via interviews (use
conducting-user-interviews) or surveys (use designing-surveys); this skill analyzes data you already have
- You need task-based usability evaluation of a specific flow or prototype (use
usability-testing)
- You need backlog prioritization as the primary output (use
prioritizing-roadmap)
- You need a PRD/spec for a chosen solution (use
writing-prds / writing-specs-designs)
- You need retention/engagement metric analysis (quantitative cohort/funnel work) rather than qualitative feedback synthesis (use
retention-engagement)
- You only need to respond to individual tickets (support workflow, not synthesis)
Inputs
Minimum required
- Product area / workflow to analyze (or “all product”)
- Time window + volume expectations (e.g., “last 90 days”, “~2k tickets”)
- Feedback sources available (tickets, interviews, sales notes, reviews, surveys, community, logs)
- The decision this analysis should inform (roadmap theme, launch readiness, onboarding fixes, messaging, quality)
- Any segmentation that matters (ICP, persona, plan tier, lifecycle stage)
- Constraints: privacy/PII rules, internal-only vs shareable, deadline/time box
Missing-info strategy
- Ask up to 5 questions from references/INTAKE.md.
- If data access is limited, proceed using a small representative sample and label confidence/limitations.
- Do not request secrets. If feedback contains PII, ask for redacted excerpts or aggregated fields only.
Outputs (deliverables)
Produce a User Feedback Analysis Pack in Markdown (in-chat; or as files if requested):
- Context snapshot (scope, decision, time window, segments, constraints)
- Source inventory + sampling plan (what’s included/excluded; why)
- Taxonomy + codebook (tags, definitions, and coding rules)
- Normalized feedback table (tagged items; links/IDs if available; no PII)
- Themes & evidence report (top themes, representative quotes, frequency/severity, confidence)
- Recommendations (actions, owners/time horizon if known, expected impact, open research questions)
- Feedback loop plan (cadence, stakeholders, how engineering participates, how insights are stored)
- Risks / Open questions / Next steps (always included)
Templates: references/TEMPLATES.md
Workflow (8 steps)
1) Intake + decision framing
- Inputs: User context; references/INTAKE.md.
- Actions: Confirm the decision, scope, time window, audience, and constraints. Define what “good” looks like.
- Outputs: Context snapshot.
- Checks: A stakeholder can answer: “What decision will this analysis change?”
2) Inventory sources + define the sampling plan
- Inputs: List of sources + access constraints.
- Actions: Create a source inventory, decide inclusions/exclusions, and pick a sample strategy (random, stratified, top-volume buckets).
- Outputs: Source inventory + sampling plan.
- Checks: Sampling plan covers the highest-volume and highest-risk segments (or explicitly explains why not).
3) First-pass read-through (open coding)
- Inputs: Sampled feedback items.
- Actions: Read/annotate items manually to surface what’s “wrong” and why users struggle or churn. Write raw notes before building categories.
- Outputs: Initial codes/notes + candidate themes list.
- Checks: Notes capture rejection reasons and friction, not just feature ideas.
4) Build the taxonomy + codebook
- Inputs: Initial codes; product context.
- Actions: Define a tagging schema (topic, lifecycle stage, severity, user segment, root cause, sentiment). Write clear tag definitions and rules.
- Outputs: Taxonomy + codebook.
- Checks: Two people could tag the same item similarly using the codebook.
5) Normalize and tag the feedback table
- Inputs: Raw items; taxonomy/codebook.
- Actions: Create a normalized table, tag each item, and capture evidence fields (source, date, segment, verbatim excerpt, link/ID).
- Outputs: Normalized feedback table (tagged).
- Checks: No PII; every row has at least 1 primary theme tag + a severity/impact signal.
6) Synthesize themes + quantify carefully
- Inputs: Tagged table.
- Actions: Summarize top themes, quantify frequency by segment/source, identify severity and “why it happens”, and call out unknowns/bias.
- Outputs: Themes & evidence report with confidence levels.
- Checks: Each theme includes representative evidence (quotes/examples) and is not purely speculative.
7) Translate into actions + learning plan
- Inputs: Themes report; constraints.
- Actions: Convert themes into actions (bugs, UX fixes, comms, product bets) and open questions (what to research next). Tie each action to evidence and expected impact.
- Outputs: Recommendations + learning plan.
- Checks: Recommendations are concrete enough to execute next sprint/quarter (clear owner/time horizon if known).
8) Share out + establish the feedback loop + quality gate
- Inputs: Draft pack.
- Actions: Propose the share-out format (doc + review). Define cadence, owners, and storage (where insights live). Run references/CHECKLISTS.md and score with references/RUBRIC.md. Add Risks/Open questions/Next steps.
- Outputs: Final User Feedback Analysis Pack.
- Checks: Pack is shareable as-is; limitations are explicit; follow-up actions are scheduled.
Quality gate (required)
- Use references/CHECKLISTS.md and references/RUBRIC.md.
- Always include: Risks, Open questions, Next steps.
Anti-patterns (common failure modes)
- Theme inflation — Creating dozens of micro-themes that obscure the signal. Limit top-level themes to 5-10 and nest sub-themes underneath; if you have 20+ themes, you haven't synthesized yet.
- Source bias blindness — Treating support tickets and NPS comments as equivalent without accounting for who writes each (complainers vs promoters, power users vs new users). Always note source bias in confidence levels.
- Counting without context — Reporting “42% of tickets mention onboarding” without severity, segment, or lifecycle context. Frequency alone is misleading; pair counts with severity/impact and segment breakdowns.
- Copy-paste taxonomy — Reusing a generic tag set (bug/feature/UX/other) instead of building a codebook grounded in the product's actual problem space. The taxonomy should reflect how the team makes decisions.
- One-and-done report — Delivering a synthesis with no feedback loop plan. Without cadence, owners, and storage, the analysis becomes shelfware within a sprint.
Examples
Example 1 (support tickets): “Analyze the last 60 days of onboarding-related tickets. Output a User Feedback Analysis Pack and top 10 recommended fixes.”
Expected: source inventory + sampling, taxonomy, tagged table, themes with quotes, and ranked actions.
Example 2 (survey + reviews): “Synthesize survey open-ends and app store reviews for our new pricing change. What are the biggest friction points and why?”
Expected: themes split by source/segment, severity signals, and recommendations (incl. messaging/UX changes).
Boundary example (redirect to conducting-user-interviews): “We have no feedback data yet but want to understand why users churn.”
Response: redirect to conducting-user-interviews to collect first-person stories first; return here once you have data to analyze.
Boundary example (redirect to designing-surveys): “We want to collect structured feedback from our user base about the new pricing.”
Response: redirect to designing-surveys to design and launch the instrument; return here to analyze the results.
Boundary example (scope guard): “Read all our feedback and tell us what to build next.”
Response: ask for scope/time window/decision + a sample dataset; otherwise produce a sampling plan + a minimal first-pass synthesis with explicit limitations.
1---2name: analyzing-user-feedback3description: Analyze user/customer feedback into a Feedback Analysis Pack (taxonomy, themes, recommendations). See also: conducting-user-interviews (collect new), designing-surveys (quantitative).4---56# Analyzing User Feedback78## Scope910**Covers**11- Aggregating and normalizing feedback from multiple channels (support, sales, research, reviews, surveys, usage signals)12- Turning raw feedback into **themes with evidence** and **actionable recommendations**13- Identifying **friction / reasons users won’t use the product** (not just validation)14- Producing a repeatable **feedback loop** (cadence, owners, and handoffs)1516**When to use**17- “Synthesize our user feedback into themes and actions.”18- “Analyze support tickets / feature requests for the top issues.”19- “Create a voice-of-customer report for <area> in the last <time window>.”20- “Summarize churn reasons / cancellation feedback.”21- “Cluster survey open-ends into insights and recommendations.”2223**When NOT to use**24- You need to **collect new feedback** via interviews (use `conducting-user-interviews`) or surveys (use `designing-surveys`); this skill analyzes data you already have25- You need **task-based usability evaluation** of a specific flow or prototype (use `usability-testing`)26- You need backlog prioritization as the primary output (use `prioritizing-roadmap`)27- You need a PRD/spec for a chosen solution (use `writing-prds` / `writing-specs-designs`)28- You need **retention/engagement metric analysis** (quantitative cohort/funnel work) rather than qualitative feedback synthesis (use `retention-engagement`)29- You only need to respond to individual tickets (support workflow, not synthesis)3031## Inputs3233**Minimum required**34- Product area / workflow to analyze (or “all product”)35- Time window + volume expectations (e.g., “last 90 days”, “~2k tickets”)36- Feedback sources available (tickets, interviews, sales notes, reviews, surveys, community, logs)37- The decision this analysis should inform (roadmap theme, launch readiness, onboarding fixes, messaging, quality)38- Any segmentation that matters (ICP, persona, plan tier, lifecycle stage)39- Constraints: privacy/PII rules, internal-only vs shareable, deadline/time box4041**Missing-info strategy**42- Ask up to 5 questions from [references/INTAKE.md](references/INTAKE.md).43- If data access is limited, proceed using a **small representative sample** and label confidence/limitations.44- Do not request secrets. If feedback contains PII, ask for **redacted excerpts** or aggregated fields only.4546## Outputs (deliverables)4748Produce a **User Feedback Analysis Pack** in Markdown (in-chat; or as files if requested):49501) **Context snapshot** (scope, decision, time window, segments, constraints)512) **Source inventory + sampling plan** (what’s included/excluded; why)523) **Taxonomy + codebook** (tags, definitions, and coding rules)534) **Normalized feedback table** (tagged items; links/IDs if available; no PII)545) **Themes & evidence report** (top themes, representative quotes, frequency/severity, confidence)556) **Recommendations** (actions, owners/time horizon if known, expected impact, open research questions)567) **Feedback loop plan** (cadence, stakeholders, how engineering participates, how insights are stored)578) **Risks / Open questions / Next steps** (always included)5859Templates: [references/TEMPLATES.md](references/TEMPLATES.md)6061## Workflow (8 steps)6263### 1) Intake + decision framing64- **Inputs:** User context; [references/INTAKE.md](references/INTAKE.md).65- **Actions:** Confirm the decision, scope, time window, audience, and constraints. Define what “good” looks like.66- **Outputs:** Context snapshot.67- **Checks:** A stakeholder can answer: “What decision will this analysis change?”6869### 2) Inventory sources + define the sampling plan70- **Inputs:** List of sources + access constraints.71- **Actions:** Create a source inventory, decide inclusions/exclusions, and pick a sample strategy (random, stratified, top-volume buckets).72- **Outputs:** Source inventory + sampling plan.73- **Checks:** Sampling plan covers the highest-volume and highest-risk segments (or explicitly explains why not).7475### 3) First-pass read-through (open coding)76- **Inputs:** Sampled feedback items.77- **Actions:** Read/annotate items manually to surface what’s “wrong” and why users struggle or churn. Write raw notes before building categories.78- **Outputs:** Initial codes/notes + candidate themes list.79- **Checks:** Notes capture **rejection reasons** and **friction**, not just feature ideas.8081### 4) Build the taxonomy + codebook82- **Inputs:** Initial codes; product context.83- **Actions:** Define a tagging schema (topic, lifecycle stage, severity, user segment, root cause, sentiment). Write clear tag definitions and rules.84- **Outputs:** Taxonomy + codebook.85- **Checks:** Two people could tag the same item similarly using the codebook.8687### 5) Normalize and tag the feedback table88- **Inputs:** Raw items; taxonomy/codebook.89- **Actions:** Create a normalized table, tag each item, and capture evidence fields (source, date, segment, verbatim excerpt, link/ID).90- **Outputs:** Normalized feedback table (tagged).91- **Checks:** No PII; every row has at least 1 primary theme tag + a severity/impact signal.9293### 6) Synthesize themes + quantify carefully94- **Inputs:** Tagged table.95- **Actions:** Summarize top themes, quantify frequency by segment/source, identify severity and “why it happens”, and call out unknowns/bias.96- **Outputs:** Themes & evidence report with confidence levels.97- **Checks:** Each theme includes representative evidence (quotes/examples) and is not purely speculative.9899### 7) Translate into actions + learning plan100- **Inputs:** Themes report; constraints.101- **Actions:** Convert themes into actions (bugs, UX fixes, comms, product bets) and open questions (what to research next). Tie each action to evidence and expected impact.102- **Outputs:** Recommendations + learning plan.103- **Checks:** Recommendations are concrete enough to execute next sprint/quarter (clear owner/time horizon if known).104105### 8) Share out + establish the feedback loop + quality gate106- **Inputs:** Draft pack.107- **Actions:** Propose the share-out format (doc + review). Define cadence, owners, and storage (where insights live). Run [references/CHECKLISTS.md](references/CHECKLISTS.md) and score with [references/RUBRIC.md](references/RUBRIC.md). Add Risks/Open questions/Next steps.108- **Outputs:** Final User Feedback Analysis Pack.109- **Checks:** Pack is shareable as-is; limitations are explicit; follow-up actions are scheduled.110111## Quality gate (required)112- Use [references/CHECKLISTS.md](references/CHECKLISTS.md) and [references/RUBRIC.md](references/RUBRIC.md).113- Always include: **Risks**, **Open questions**, **Next steps**.114115## Anti-patterns (common failure modes)1161171. **Theme inflation** — Creating dozens of micro-themes that obscure the signal. Limit top-level themes to 5-10 and nest sub-themes underneath; if you have 20+ themes, you haven't synthesized yet.1182. **Source bias blindness** — Treating support tickets and NPS comments as equivalent without accounting for who writes each (complainers vs promoters, power users vs new users). Always note source bias in confidence levels.1193. **Counting without context** — Reporting “42% of tickets mention onboarding” without severity, segment, or lifecycle context. Frequency alone is misleading; pair counts with severity/impact and segment breakdowns.1204. **Copy-paste taxonomy** — Reusing a generic tag set (bug/feature/UX/other) instead of building a codebook grounded in the product's actual problem space. The taxonomy should reflect how the team makes decisions.1215. **One-and-done report** — Delivering a synthesis with no feedback loop plan. Without cadence, owners, and storage, the analysis becomes shelfware within a sprint.122123## Examples124125**Example 1 (support tickets):** “Analyze the last 60 days of onboarding-related tickets. Output a User Feedback Analysis Pack and top 10 recommended fixes.”126Expected: source inventory + sampling, taxonomy, tagged table, themes with quotes, and ranked actions.127128**Example 2 (survey + reviews):** “Synthesize survey open-ends and app store reviews for our new pricing change. What are the biggest friction points and why?”129Expected: themes split by source/segment, severity signals, and recommendations (incl. messaging/UX changes).130131**Boundary example (redirect to conducting-user-interviews):** “We have no feedback data yet but want to understand why users churn.”132Response: redirect to `conducting-user-interviews` to collect first-person stories first; return here once you have data to analyze.133134**Boundary example (redirect to designing-surveys):** “We want to collect structured feedback from our user base about the new pricing.”135Response: redirect to `designing-surveys` to design and launch the instrument; return here to analyze the results.136137**Boundary example (scope guard):** “Read all our feedback and tell us what to build next.”138Response: ask for scope/time window/decision + a sample dataset; otherwise produce a sampling plan + a minimal first-pass synthesis with explicit limitations.139