Use this skill when measuring CSAT, NPS, resolution time, deflection rates, or analyzing support trends. Triggers on CSAT, NPS, resolution time, deflection rate, support metrics, trend analysis, support reporting, and any task requiring customer support data analysis or reporting.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
Use this skill when measuring CSAT, NPS, resolution time, deflection rates, or analyzing support trends. Triggers on CSAT, NPS, resolution time, deflection rate, support metrics, trend analysis, support reporting, and any task requiring customer support data analysis or reporting.
Measure what matters, not what's easy - Ticket volume is easy to count but
rarely actionable on its own. Focus on metrics that reveal customer experience
and operational efficiency: CSAT, resolution time, and deflection rate expose
the health of your support operation far more than raw volume does.
Benchmarks are starting points, not goals - Industry benchmarks give you
a calibration point, not a finish line. A CSAT of 85% may be excellent for a
complex enterprise product and unacceptable for a consumer app. Compare to
your own historical trend first; compare to benchmarks second.
Trends matter more than snapshots - A single week's CSAT score means
almost nothing. A 12-week trend that is declining 1 point per week means
something is systematically wrong. Always show time-series data alongside
point-in-time figures. Week-over-week and month-over-month comparisons prevent
overreaction to normal variance.
Segment by channel, tier, and topic - Aggregate scores hide the story.
A CSAT of 82% overall might mask a chat score of 91% and an email score of
68%. Segmenting by channel, customer tier, product area, and ticket topic
reveals where to invest and what is working.
Close the loop - insights to action - An analytics program that produces
dashboards no one acts on is a cost center. Every metric should own a DRI
(directly responsible individual), a target, and a process for escalating when
the target is missed. The cadence is: measure, review, decide, act, re-measure.
Core concepts
Satisfaction metrics
CSAT (Customer Satisfaction Score) - A post-interaction rating, typically
1-5 stars or a thumbs up/down, sent immediately after a ticket closes. Measures
satisfaction with a specific support interaction, not the product overall. The
score is the percentage of positive responses out of total responses received.
NPS (Net Promoter Score) - A relationship-level survey asking "How likely
are you to recommend us to a colleague?" on a 0-10 scale. Promoters (9-10) minus
Detractors (0-6) equals the NPS. Transactional NPS (tNPS) is sent after support
interactions to capture loyalty impact from a specific resolution.
CES (Customer Effort Score) - Measures how easy it was to get help: "How
much effort did you personally have to put forth to handle your request?" Low
effort correlates with reduced churn more reliably than high satisfaction does.
Operational metrics
First Contact Resolution (FCR) - The percentage of tickets resolved on the
first reply without the customer needing to follow up. High FCR is the single
strongest predictor of high CSAT. Improving FCR reduces cost and improves
satisfaction simultaneously.
Resolution Time - The elapsed time from ticket creation to resolution. Report
as median (p50) and p90 to capture both typical experience and worst-case outliers.
Segment by ticket priority, channel, and topic - a blanket average hides whether
P1 bugs are being prioritized over billing questions.
Handle Time - Agent-active time spent on a ticket (not elapsed clock time).
Useful for capacity planning and identifying where agents need tooling or training
improvements.
Reopen Rate - Percentage of resolved tickets reopened by the customer. A high
reopen rate indicates resolutions are incomplete or unclear, or that the underlying
issue is recurring.
Self-service metrics
Deflection Rate - The percentage of potential support contacts handled by
self-service (docs, chatbot, FAQ) without reaching a human. Calculated as
deflections / (deflections + human contacts). Hard to measure precisely -
proxy methods include doc views before ticket submission and chatbot resolution
rates.
Article Effectiveness - For knowledge bases: the percentage of doc views
that end without a support ticket being submitted. Track alongside
search-with-no-results counts to identify content gaps.
Containment Rate - For chatbots and IVR: the percentage of sessions that
reach a resolution without escalating to a human. A session can be contained
but still leave the customer unsatisfied - always pair with a satisfaction signal.
Quality metrics
QA Score - Internal quality assurance review of ticket handling: tone,
accuracy, policy adherence, completeness. Typically sampled (5-10% of tickets)
and scored on a rubric. Correlates with CSAT but catches issues that surveys miss
such as correct but cold responses.
Agent CSAT - CSAT segmented by individual agent. Useful for coaching, not
for ranking. Agents on complex ticket queues will have lower scores than agents
on simple billing questions - normalize by ticket type before comparing agents.
Common tasks
Set up a metrics framework - KPI hierarchy
Build a three-tier hierarchy: strategic, operational, and diagnostic.
Tier
Audience
Cadence
Examples
Strategic
Leadership
Monthly / Quarterly
NPS, CSAT trend, cost-per-ticket, deflection rate
Operational
Support managers
Weekly
FCR, median resolution time, reopen rate, volume by channel
Diagnostic
Team leads, agents
Daily
Queue depth, SLA breach rate, handle time, QA score
Start by identifying who reads each metric and what decision it drives. If no
one owns the decision triggered by a metric, do not track it yet.
Steps:
List current pain points from support team retrospectives
Map each pain point to a metric category (satisfaction, operational, quality)
Define the measurement method and data source for each metric
Assign a DRI and a target for each metric
Build the minimal dashboard needed to surface all three tiers
Measure and improve CSAT - survey design and analysis
Survey design checklist:
Send within 1 hour of ticket close - response rate drops sharply after 24 hours
Keep to 1-2 questions: the rating plus one optional free-text follow-up
Use a consistent scale - do not mix 5-star with thumbs up/down across touchpoints
Personalize the subject line with the agent's name and ticket topic
Proxy measurement methods (direct deflection is rarely measurable):
Doc-to-ticket ratio - Track customers who viewed a help article and then
submitted a ticket within 30 minutes. Low ratio means effective docs.
Chatbot containment - % of chatbot sessions that reach resolution without
escalating to a human. Target 40-60% for most support types.
Search abandonment - In your help center, track searches that end without
a page view. High abandonment signals a content gap.
Before/after experiment - Publish a new article on a common topic, compare
ticket volume for that topic over the next 30 days vs prior 30 days.
Improving deflection:
Run monthly content gap analysis: top 20 ticket topics vs help center coverage
Add article links to auto-acknowledgment emails for common categories
Implement a post-submission deflection prompt: show matching articles after ticket submit
Analyze support trends - topic clustering and forecasting
Topic clustering workflow:
Export ticket titles and first customer messages for a 30-90 day window
Group tickets by existing tags first - identify gaps where >10% have no tag
Use keyword frequency on untagged tickets to surface emerging topics
Update your taxonomy - aim for 80%+ of tickets tagged to a specific topic
Review top 10 topics weekly; track volume trend, CSAT, and resolution time per topic
Volume forecasting:
Use 12 weeks of weekly ticket volume as baseline
Apply seasonal adjustment for known events (product launches, billing cycles, holidays)
4-week trailing average with +20% buffer as capacity target
Flag any week where volume exceeds forecast by >30% as an anomaly requiring investigation
Trend signals to monitor:
New topic appearing in top 10 that was not there last month - possible product regression
CSAT drop on a specific topic without volume change - agent knowledge gap or policy confusion
Resolution time increase on one channel only - tooling or routing issue
Build support dashboards - by audience
Executive dashboard (monthly business review):
Panel
Metric
Visualization
Customer Sentiment
CSAT 12-month trend + NPS
Line chart with benchmark line
Efficiency
Cost per ticket, deflection rate
KPI card + trend sparkline
Volume
Total contacts by channel
Stacked bar, MoM comparison
Highlights
Top 3 topic drivers, worst-performing category
Table
Manager dashboard (weekly ops review):
Panel
Metric
Visualization
Volume
Tickets opened/closed, backlog
Area chart
Quality
CSAT by channel, reopen rate
Bar chart
Speed
Median + p90 resolution time vs SLA
Gauge + trend
Team
FCR by agent, QA scores
Table with conditional formatting
Agent dashboard (daily view):
Personal queue: open tickets, SLA risk, oldest unresolved
Personal CSAT for last 30 days (not ranked against peers)
Today's handle time vs personal average
Gotchas
CSAT surveys sent more than 24 hours after ticket close get response bias - Surveys sent days after resolution disproportionately capture customers who had extreme experiences (very positive or very negative) because neutral customers have moved on. Automate delivery within 1 hour of ticket close to get a representative sample.
FCR self-reporting by agents inflates the metric - If agents mark tickets as "resolved first contact" manually, they will mark optimistically. FCR should be measured by the ticketing system based on whether the customer reopened or submitted a new ticket on the same topic within 72 hours, not by agent judgment.
Chatbot containment rate hides frustrated escalation paths - If customers cannot find the escalation button, your containment rate looks great while your CSAT tanks. Always pair containment rate with a post-deflection CSAT signal (even a thumbs up/down) to distinguish genuinely resolved sessions from abandoned ones.
Normalizing agent CSAT by ticket type requires a large sample - Comparing agents with statistical significance requires at minimum 30 surveys per agent per segment. Trying to normalize by ticket type with small sample sizes produces rankings that are noise, not signal. Use QA score for coaching with small agent pools instead.
Volume forecasting without seasonality adjustments leads to understaffing - Applying a flat growth rate to weekly volume ignores known spikes (product launches, billing cycle dates, end-of-fiscal-year surges). Build a seasonal adjustment factor by comparing the same week across prior years before making staffing decisions.
Anti-patterns
Anti-pattern
Why it's wrong
What to do instead
Tracking CSAT average without response rate
A 95% CSAT from 3% response rate is meaningless - response bias distorts the score
Always report response rate alongside CSAT; investigate if below 15%
Comparing agent CSAT without normalizing by ticket type
Agents on billing queues outscore agents on complex bug reports by default
Segment CSAT by ticket category before comparing agents; use for coaching only
Reporting resolution time as an average
Averages are pulled high by a small number of outliers, masking the typical experience
Use median (p50) as primary; add p90 to surface worst-case
Measuring deflection rate from chatbot containment alone
Bots can block escalation paths, yielding high containment and low satisfaction
Pair containment with post-deflection CSAT; 0 escalations + low satisfaction is a false positive
Building dashboards without a decision owner
Dashboards created without a defined reviewer become shelfware
Identify the decision each dashboard drives before building; assign a weekly reviewer
Chasing benchmark NPS without context
A software company and a logistics provider should not share the same NPS target
Set targets relative to your own historical trend and competitive cohort, not generic benchmarks
References
For detailed content on specific topics, read the relevant file from references/:
references/metrics-benchmarks.md - Industry benchmarks for CSAT, NPS, resolution
time, and deflection rate by company size and vertical
Only load a references file if the current task requires deep detail on that topic.
Companion check
On first activation of this skill in a conversation: check which companion skills are installed by running ls ~/.claude/skills/ ~/.agent/skills/ ~/.agents/skills/ .claude/skills/ .agent/skills/ .agents/skills/ 2>/dev/null. Compare the results against the recommended_skills field in this file's frontmatter. For any that are missing, mention them once and offer to install: