Customer Support use cases
Customer SupportGO

Ticket-trend analysis and macro suggestions

Turn your raw ticket exports into a weekly read of what customers are actually contacting you about, then use those clusters to spot missing or stale macros. The output is a report and a script your support team owns and runs itself.

7 min read2026-06-17Human in the loopMedium-sensitivity data
Ease
4/5
Impact
3/5
Risk
2/5

Tools you'll use

Claude CodeCodexClaude Cowork

Ticket-trend analysis is the habit of reading your support record on a schedule: you group tickets by what the customer actually wanted, count how often each group shows up, watch the counts move week to week, and tie them to CSAT and handle time. Every team sits on this record already, in the helpdesk as tickets, tags, CSAT scores, and resolution times. The problem is that nobody has time to read it all, so the real patterns stay hidden. You feel the volume but you can't name your top five drivers, and you can't see a new issue creeping up before it becomes a flood.

That volume is not going away. A Gartner survey of 5,728 customers, conducted in December 2023, found that only 14% of customer service issues are fully resolved in self-service, even though 73% of customers use self-service at some point in their journey. Most contacts still land in your queue as a real ticket someone has to read, which is exactly why a scheduled read pays off. Done well, it tells you which problems to fix at the source and which repeat answers your agents are typing by hand. Those repeated answers are your macro gaps: the canned responses you should have but don't, plus the old ones that are stale or duplicated.

This is a strong starting use case because the work is internal, the data is already in your helpdesk, and the result is something your team can run without us. You point an agentic tool at a ticket export, it writes and runs the analysis, and you keep both the report and the script. Next week you run it again. The win is concrete: fewer surprises, a shorter list of root causes for product, and a tighter macro library that cuts handle time.

Moriva's take

This clears all three gates. It attaches to a real weekly workflow (someone already reads the queue and reports on trends), the output is a plain Python script and a report your team owns and can re-run and edit without us, and the payoff is measured directly in hours saved and a shorter root-cause list for product. Keep a human reading the clusters before anyone publishes a macro, since the tool groups and summarizes but should not be the one deciding what customers get told. Start here.

How do you ticket-trend analysis and macro suggestions?

  1. 1

    Pull a clean ticket export

    Export the last 90 days of tickets from your helpdesk (Zendesk, Intercom, Freshdesk, Gorgias, or whatever you run) to CSV. Include the subject, first customer message, existing tags, channel, created date, resolution time, and CSAT score where you have it. Drop or mask names, emails, and order numbers before the file leaves the helpdesk. This file is the only input the analysis needs.

  2. 2

    Point the tool at the file and ask for the clusters

    Open Claude Code or Codex in a folder with the export and describe the job in plain English: read the CSV, group tickets by what the customer actually wanted, and rank the groups by volume. The tool writes a Python script that embeds the ticket text, clusters it, and labels each cluster with a short summary so 'promo code won't work' and 'my discount isn't applying' land in the same bucket. You get a ranked list of contact reasons, not a wall of raw tickets.

  3. 3

    Layer CSAT, handle time, and trend onto each cluster

    Ask the tool to extend the script: for each cluster, show the count, the week-over-week change, the average CSAT, and the average resolution time. Now the report says not just 'returns is your number two topic' but 'returns is growing 18% week over week and has the lowest CSAT.' That ranking is what tells you where to spend attention. Have it save the output as a short Markdown or HTML report you can paste into Slack or email.

  4. 4

    Flag the macro gaps

    Hand the tool your current macro or canned-response list and ask it to compare. It marks clusters with high volume and no matching macro (the gaps you should fill), macros that no longer match any real tickets (stale ones to retire), and near-duplicate macros (to merge). This is the practical bridge from analysis to action, since roughly six in ten teams carry a backlog of macros nobody maintains.

  5. 5

    Draft candidate macros for human review

    For the top few gaps, ask the tool to draft a candidate macro using your own best past replies to those tickets as the example. Treat every draft as a proposal, not a finished answer. A support lead edits the wording, checks the policy, and only then publishes it in the helpdesk. The tool finds the need and writes a first pass; a person owns what customers actually read.

  6. 6

    Save the script and schedule the run

    The script is yours. Commit it to a repo or a shared folder with a one-line README so any analyst on the team can run it next week against a fresh export. When the helpdesk changes a column name or you want a new metric, you ask the tool to edit the script rather than starting over. That is the difference between owning the workflow and renting a dashboard.

  7. 7

    Build the recurring report for the people who don't code

    Once the script is stable, an operator who doesn't write code can run the weekly read in Claude Cowork: drop in the report the script produced and ask for a one-page summary of the top movers, the new issues, and the recommended macro changes for the team standup. This keeps the analysis in the hands of the support managers who actually act on it, not a single technical owner.

What could go wrong (and how to handle it)

Customer data leaving the helpdesk. Ticket text contains names, emails, and order details.

Mask or strip personal fields in the export before analysis, and run on a 90-day sample rather than your full history. Keep the file local and delete it after the run. The analysis only needs the topic and metadata, not the identity.

Wrong or lazy clusters. The tool can lump distinct issues together or split one issue across several groups, leading you to chase the wrong fix.

A human reviews the cluster labels and a few sample tickets in each before trusting the ranking. Tune the number of groups and re-run until the buckets match how your team actually thinks about contact reasons.

Auto-published macros. A macro drafted from past tickets can repeat an outdated policy or a wrong promise.

Never publish a generated macro directly. Every draft goes through a support lead who checks current policy and edits the wording. The tool proposes; a person approves.

Over-automation of judgment. Treating the weekly report as the decision instead of as input.

Use the report to start the conversation in the standup, not end it. Volume and CSAT point you somewhere; people decide what to fix, retire, or escalate to product.

Drift in helpdesk fields. Column names and tag schemes change, and a brittle script silently breaks or miscounts.

Keep the README current and re-run on a small recent export each time so a broken column shows up immediately. When a field changes, ask the tool to update the script before the next full run.

Reading noise as signal. A one-week spike can be a single campaign or outage, not a trend.

Look at multi-week movement, not a single week. Annotate known events (launches, outages, promos) so the team reads spikes in context.

Prompts to get started

First-pass clustering
In this folder is tickets_last90.csv exported from our helpdesk. Read it. Group the tickets by what the customer actually wanted, not by the exact words they used, so paraphrases of the same problem land together. Rank the groups by number of tickets, give each a short plain-English label, and show me 3 sample subjects per group. Write the analysis as a Python script I can re-run next week, and save the output as report.md.
Add metrics and trend
Extend the script. For each group, add the ticket count, the week-over-week change over the last 8 weeks, the average CSAT, and the average resolution time. Sort by a mix of high volume, low CSAT, and rising trend so the most important problems are at the top. Flag any group that is growing more than 15% week over week.
Find macro gaps
Here is our current macro list in macros.csv. Compare it to the ticket groups from the analysis. Tell me: which high-volume groups have no matching macro, which macros no longer match any recent tickets, and which macros are near-duplicates that could be merged. Put it in a simple table.
Draft candidate macros
For the top 3 macro gaps, draft a candidate canned response for each. Use our best past replies to those tickets as the model for tone and structure. Mark every draft clearly as a DRAFT for human review, and list any place where a current policy or detail needs to be confirmed before we publish.

FAQ

We already have dashboards in our helpdesk. Why do this?

Built-in dashboards count tickets by the tags your agents happened to apply, which are inconsistent and often wrong. This groups tickets by what the customer actually meant, regardless of how it was tagged, and ties each group to CSAT and handle time. It also produces a script you can change, which a fixed dashboard can't.

Do we need a data scientist or engineers?

No. One operator can stand up the first version in a day by describing the task in plain English to one of the tools. The tool writes and runs the code. You should be able to read a CSV and review the output; you do not need to write Python yourself, though the script is there for whoever wants it.

Is it safe to put our tickets through an AI tool?

Treat the export the way you treat any file with customer data. Mask names, emails, and order numbers before the file leaves the helpdesk, run on a recent sample rather than your full history, keep it local, and delete it after. The analysis works on the topic and the metadata, not on customer identity.

Will it write the macros for us automatically?

It drafts candidates and finds the gaps, but it does not publish anything. Every macro a customer eventually sees is edited and approved by a support lead who checks current policy. The tool removes the blank-page problem; your team keeps control of the words.

What does this actually save us?

Two things you can measure. First, the hours your lead spends manually reading the queue to write the weekly trend report drop to a single run. Second, filling real macro gaps and retiring stale ones cuts handle time on your most common contact reasons, which shows up in resolution time and CSAT over a few weeks.

Sources

  • Only 14% of customer service and support issues are fully resolved in self-service (survey of 5,728 customers, December 2023), while 73% of customers use self-service at some point in their journey. Gartner, 2024

Want help shipping this?

We'll build it with your team on your real work — and leave you owning it, not renting it.