feedback-analysis

Customer feedback analysis transforms raw feedback into actionable intelligence across six interconnected capability areas. All capabilities share a common data pipeline: unified multi-channel feedback collection feeds sentiment detection, which powers NPS/CSAT scoring, feature clustering, ticket triage, churn signals, and ultimately roadmap prioritization.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "feedback-analysis" with this command: npx skills add oimiragieo/agent-studio/oimiragieo-agent-studio-feedback-analysis

Feedback Analysis

Overview

Customer feedback analysis transforms raw feedback into actionable intelligence across six interconnected capability areas. All capabilities share a common data pipeline: unified multi-channel feedback collection feeds sentiment detection, which powers NPS/CSAT scoring, feature clustering, ticket triage, churn signals, and ultimately roadmap prioritization.

Six Capability Areas:

  • Sentiment Analysis — Multi-channel emotion detection beyond positive/negative/neutral

  • NPS/CSAT Frameworks — Dual-track score + text analysis with mismatch detection

  • Feature Request Clustering — Group and prioritize by frequency, emotion, and churn correlation

  • Support Ticket Triage — Hierarchical taxonomy-based categorization and routing

  • Churn Signal Detection — Behavioral and textual early warning systems

  • Feedback-to-Roadmap Translation — Convert clusters to ranked product decisions

When to Invoke

Invoke Skill({ skill: 'feedback-analysis' }) when:

  • Analyzing customer feedback at scale (>50 items)

  • Processing NPS/CSAT survey responses

  • Triaging support tickets or classifying issues

  • Detecting early churn signals in user behavior or feedback

  • Prioritizing the product roadmap from customer requests

  • Synthesizing qualitative feedback into actionable themes

  • Running feedback campaigns and evaluating results

The Six-Phase Process

Phase 1: Multi-Channel Data Unification (MANDATORY FIRST STEP)

Iron Law: All analysis degrades without unified data. Single-channel view creates blind spots.

Channels to unify:

  • In-app surveys (NPS, CSAT, CES)
  • Support tickets (Zendesk, Intercom, Freshdesk)
  • App store reviews (iOS, Android)
  • Social mentions (Twitter/X, Reddit, LinkedIn)
  • Chat transcripts (live chat, chatbot logs)
  • Product reviews (G2, Capterra, Trustpilot)
  • Email responses

Output: A unified feedback dataset with source, timestamp, channel, user tier, and raw text per item.

Phase 2: Sentiment Analysis

Method: NLP-based multi-dimensional sentiment classification.

Classifications:

  • Polarity: Positive / Negative / Neutral

  • Emotion: Frustration, Satisfaction, Confusion, Delight, Urgency

  • Intensity: High / Medium / Low

  • Topic: Product area, feature, support experience, pricing

Key Pattern — Mismatch Detection (Critical Insight):

A customer scoring 8 (NPS Passive) with deeply negative text is high churn risk. A customer scoring 6 (NPS Detractor) with positive text is recoverable. Mismatch = highest priority segment for intervention.

Mismatch Types:

  • High score + negative text → At-risk, intervention needed
  • Low score + positive text → Recoverable, reduce friction
  • Neutral score + high emotion → Emerging issue, monitor closely

Output: Sentiment-tagged dataset with polarity, emotion, intensity, and mismatch flags.

Phase 3: NPS/CSAT Frameworks

Dual-Track Analysis: Process numerical scores AND open-text responses in parallel.

NPS Segments:

  • Promoters (9-10): Surface testimonials, referral triggers

  • Passives (7-8): Identify friction points preventing promotion

  • Detractors (0-6): Root cause analysis, recovery playbooks

CSAT Layers:

  • Score distribution by product area, agent, date range, cohort

  • Text sentiment correlation with CSAT score

  • Trend analysis: rolling averages, anomaly detection on score drops

  • Causation analysis: what drove score changes?

Multi-Dimensional Segmentation:

Dimensions to segment by:

  • User tier (free, pro, enterprise)
  • Acquisition channel
  • Product area (onboarding, core feature, billing, support)
  • Agent/team (for support CSAT)
  • Cohort (joined date, plan upgrade date)
  • Region/language

Output: NPS/CSAT dashboard data with trend lines, mismatch segments, and causation narratives.

Phase 4: Feature Request Clustering

Method: Group verbatims into themes without manual tagging using pattern detection.

Clustering Dimensions:

  • Frequency: How many users requested this?

  • Emotional Weight: How strongly do they feel? (high emotion = high priority)

  • Churn Correlation: Does absence of this feature correlate with churned users?

  • Segment Impact: Which user tiers/cohorts are most affected?

Category Taxonomy:

Request Categories:

  • Bug Report (broken functionality)
  • Feature Gap (missing capability)
  • UX Friction (confusing/slow workflow)
  • Performance Issue (speed, reliability)
  • Integration Request (connect to other tools)
  • Pricing Feedback (too expensive, wrong tier)
  • Documentation Gap (can't figure out how to use it)

Prioritization Formula:

Priority Score = (Frequency × 0.3) + (Emotion Weight × 0.3) + (Churn Correlation × 0.4)

Output: Ranked feature request list with evidence count, sentiment weight, and churn correlation per cluster.

Phase 5: Support Ticket Triage

Taxonomy Design: Hierarchical, max 30-50 tags to prevent tag bloat.

Recommended Taxonomy Structure:

Level 1 (Category): Level 2 (Subcategory): Level 3 (Root Cause):

  • Technical Issue - Login/Auth - Password reset broken
  • Billing - Charge dispute - Double-charged
  • Feature Usage - Onboarding - Setup wizard unclear
  • Performance - Slow response - Database timeout
  • Integration - API error - Rate limit exceeded
  • Account Management - Team permissions - Role not propagating

Triage Modes:

  • Rule-based: Fast pattern matching for obvious categories

  • AI-powered: NLP for ambiguous tickets (45% faster routing per Zendesk data)

  • Human review: Escalation queue for complex/sensitive cases

Priority Scoring:

Ticket Priority = Urgency (language cues) + Impact (user tier/revenue) + Sentiment (frustration level)

  • P0: Critical + Enterprise user + High frustration
  • P1: High urgency + Any paid user + Negative sentiment
  • P2: Medium urgency + Any user + Neutral/negative
  • P3: Low urgency + Any user + Neutral

Output: Categorized and prioritized ticket queue with taxonomy assignments and routing rules.

Phase 6: Churn Signal Detection

Behavioral Profile Clustering:

User Engagement Profiles:

  • Power User: High session frequency, feature breadth, collaborative
  • Dabbler: Irregular sessions, single workflow, no integrations
  • One-Feature User: Deep single-feature use, no expansion
  • Trial Tourist: Onboarding complete, then disengaged

Early Warning Signals (detect BEFORE explicit churn):

  • Session frequency drop (>50% decrease week-over-week)

  • Feature contraction (fewer features used than prior period)

  • Support ticket surge (3+ tickets in 2 weeks)

  • Negative sentiment spike in recent feedback

  • Admin account downgrade events

  • Billing inquiry (pricing-related tickets/queries)

  • Export activity (data portability requests)

Churn Risk Scoring:

Churn Risk = (Behavioral signals × 0.4) + (Feedback sentiment × 0.3) + (Support ticket pattern × 0.3) Risk Tiers:

  • High (>0.7): Trigger immediate retention playbook
  • Medium (0.4-0.7): Proactive outreach + success check-in
  • Low (<0.4): Monitor, standard touchpoints

Reason Code Generation: Each high-risk user gets a human-readable reason code:

  • "Feature-gap: Missing [X] blocking workflow"

  • "Billing: Perceives pricing as misaligned with value"

  • "Support: 3 unresolved critical tickets in 14 days"

Output: Churn risk cohort with risk scores, reason codes, and triggered playbook recommendations.

Phase 7: Feedback-to-Roadmap Translation

Input: Completed phases 1-6 (sentiment, NPS/CSAT, clusters, triage, churn signals)

Prioritization Matrix:

Roadmap Score = (Feature Request Frequency × 0.25) + (Churn Correlation × 0.35) + (NPS Impact × 0.25) + (Support Volume × 0.15)

Stakeholder Output Format:

Roadmap Recommendation: [Feature/Fix Name]

Evidence Summary: [N] users requested this across [channels] Sentiment: [Avg. emotional weight and polarity] Churn Correlation: [% of churned users mentioned this] NPS Impact: [Correlation to Detractor-to-Promoter potential] Support Impact: [Ticket volume and priority distribution]

Recommended Action: [Implement / Investigate / Defer / Decline] Priority Tier: P0 / P1 / P2 / P3 Supporting Quotes: [3-5 verbatim user quotes]

Continuous Loop: Feed roadmap decisions back into feedback collection ("Did we solve the problem?").

Output: Ranked roadmap items with quantitative evidence, stakeholder narrative, and action recommendations.

Iron Laws

  • ALWAYS unify channels first — single-channel analysis creates blind spots that lead to wrong prioritization decisions.

  • ALWAYS run mismatch detection — numerical scores alone miss high-churn-risk Passives and recoverable Detractors.

  • ALWAYS produce an actionable output — analysis that doesn't result in a decision, playbook trigger, or roadmap item has failed its purpose.

  • NEVER use flat taxonomy with >50 tags — tag bloat causes inconsistent categorization; use hierarchical taxonomy with 30-50 leaf nodes.

  • ALWAYS correlate feature requests with churn data — frequency alone is a poor proxy for priority; churn correlation is the real signal.

Anti-Patterns

Anti-Pattern Why It Fails Correct Approach

Analyzing only NPS scores without text Misses mismatch segments (fake Promoters, recoverable Detractors) Always run dual-track score + text analysis

Flat taxonomy with 200+ ticket tags Agents use first matching tag; root cause data is lost Hierarchical taxonomy, max 50 leaf nodes

Clustering by frequency alone Missing features that don't come up often but cause 80% of churn Weight clusters by churn correlation (0.4 weight)

Waiting for explicit churn to detect it Post-churn analysis doesn't save the customer Behavioral early warning signals, 14-day detection horizon

Roadmap items without evidence count Stakeholders can't evaluate priority or trade-offs Every roadmap item needs: frequency, sentiment weight, churn %, quotes

Single-channel feedback collection Blind spots by channel; social complaints ≠ support tickets Unify all channels before analysis

Enforcement Hooks

Input validated against schemas/input.schema.json before execution. Output contract defined in schemas/output.schema.json . Pre-execution hook: hooks/pre-execute.cjs

Post-execution hook (observability): hooks/post-execute.cjs

Memory Protocol (MANDATORY)

Before starting: Read .claude/context/memory/learnings.md

Check for:

  • Previous feedback analysis results

  • Known data quality issues in feedback channels

  • Prior roadmap decisions from feedback

After completing:

  • New pattern discovered → .claude/context/memory/learnings.md

  • Issue found → .claude/context/memory/issues.md

  • Roadmap decision → .claude/context/memory/decisions.md

ASSUME INTERRUPTION: If it's not in memory, it didn't happen.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Research

research-synthesis

No summary provided by upstream source.

Repository SourceNeeds Review
Research

binary-analysis-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
Research

static-analysis

No summary provided by upstream source.

Repository SourceNeeds Review