Proje vitrini hazırlanıyorPreparing project showcaseПодготавливаем витрину проекта

Customer Experience

AI theme extraction: turning hundreds of calls into one list

Why a tag list stops being readable, how headings get merged into one concept, and how to drop from a theme into the conversation behind it. A working method.

Rocketly · 2026-09-05

Thursday, 8:40 a.m. A support team lead opens last month's call analysis tags and finds more than a hundred and eighty distinct labels on screen: "late delivery", "shipping delay", "package not arrived", "courier issue", and a dozen close cousins. None of them is wrong. Every row points to something a customer genuinely said. But in that shape the list produces no decision. The lead has a 10:00 review and needs "the three things customers talked about most last month"; what she actually has is a tag cloud whose ranking depends on how long anyone is willing to scroll. The count is an example, but the length of that scrollbar is familiar.

This piece is about turning that cloud into a list you can read out loud. In order: why a tag list stops being readable past a certain size, where theme extraction parts ways with manual tagging, why one theme splits into two rows, how many headings a list can carry, why frequency alone ranks the wrong things first, why you must be able to drop from a theme into a single call, how your recording pool decides what the list can show, how the date range changes the picture, and whose desk this list belongs on.

Why does a tag list stop being readable past a certain size?

The problem is not volume, it is comparability. Each call is analysed in its own words. When a customer says "my parcel still hasn't turned up", one record produces "delivery delay", another "tracking issue", a third "order status". All three are accurate, and all three are separate rows. That fragmentation has three sources: synonyms, labels generated in different languages, and labels sitting at different levels of abstraction. The last one is the sneakiest, because "pricing" and "asking for a discount on annual billing" can come out of the same conversation, and one is a subset of the other.

The long tail works against you as well. At forty calls the list stays short because repetition is scarce; at four hundred, each new record tends to add another row until most rows correspond to a single call. As the data grows, the information density of the list falls: more conversations, fewer answers.

The practical consequence is that percentages get calculated over split rows: the heading that looks like "the most discussed topic" may well be the third once its siblings are added together. What is wrong is not the analysis but the unit you are counting in.

What does theme extraction do that manual tagging does not?

Manual tagging works from a predefined list: the agent ends the call and picks the closest heading from a dropdown. Its strengths are stability and auditability — the same box means the same thing every month, so numbers compare cleanly across periods. Its weakness comes from the same place: a problem that is not on the list is invisible, and a new defect or competitor argument disappears inside whatever "Other" bucket the agent reaches for.

Theme extraction runs the other way round. It reads what was said, generates the label, then pulls those labels toward each other. Its discovery power is high: a topic nobody ever built a dropdown for shows up as a rising heading within three weeks. In exchange it does not guarantee stability, which is exactly why normalisation is a required part of the method rather than a cosmetic step.

The two are not rivals either. Read the outcome code and short note an agent leaves on the wrap-up card at the end of a call next to the theme the engine produced, and each keeps the other honest: when the card says "refund request" while the theme list says "damaged in transit", the root cause and the visible symptom are sitting in different places.

Why does the same theme split into two rows, and how does that close?

An analysis engine may label the same concept differently depending on the language of the call. In a mixed-language team, when "objection" and its local-language equivalent are counted as two rows, the true share of objections is halved and neither makes the top three on the chart. This is where AI theme extraction in the Voice of Customer dashboard does its work: moment labels produced in different languages are normalised into a single concept, so one theme never splits across two rows. That is not a cosmetic fix, it is a correction to the counting unit — percentages stop being computed over divided numbers.

The same logic governs the Critical Moments card, which counts objection, closing, question and pricing moments and ranks them largest to smallest: that ranking only means something if normalisation ran first. It is worth admitting where normalisation stops. Merging synonyms is machine work; deciding whether everything gathered under "pricing" is a real price objection or a debate about payment terms is human work. Splitting or merging two or three headings by hand on first read is normal practice.

How many headings can one theme list carry?

The readability ceiling has nothing to do with how many calls you analysed: the number of headings a meeting can actually discuss rarely exceeds ten. So the goal is not "show every topic" but "let the top ten headings cover most of the records". Low coverage means the list is fragmented; very high coverage means the headings are too generic to act on. The thresholds below are examples, to be tuned to your own volume.

What you see in the listLikely causeFirst move
Top ten headings cover less than a third of recordsSynonyms still sitting on separate rowsMerge sibling headings by hand; do not shorten the period
Three headings account for nearly the whole listHeadings are too broad: "support", "product", "other"Drop into the biggest heading and split out sub-topics
Most rows map to exactly one recordRange too short, or volume too lowMove from 30 days to 60 or 90
The list changes completely period over periodThe recording pool changed; a new source was addedCheck the source mix before comparing anything
One heading spikes suddenly mid-monthA single event: campaign, outage, releaseFind the day on the trend chart and read that day's calls

Why does frequency alone rank the wrong things first?

The most discussed topic is not the most expensive one. A frequent heading is usually a routine question; the heading that exhausts the team and loses the customer is rarer and heavier. When the sentiment distribution card counts completed analyses as positive, neutral or negative, you can see which slice a theme concentrates in: a heading appearing in a hundred records but negative in eighty of them is more urgent than whatever sits at the top by raw count.

The second weighting is score. The average call score keeps the period's mean on a 0-100 scale in its own card and changes colour by the band it falls into. If the calls containing a theme average clearly below that mean, the theme is not merely a topic, it is one that derails conversations. Read frequency, sentiment and score together and the ranking usually differs from the one you started with.

Comparing this internal measure against an external one helps too. A single-question satisfaction score such as NPS tells you how customers feel but not why; the theme list does the opposite. When the two point in different directions in the same period, something is missing on either the survey sample or the recording pool side.

Why must you be able to drop from a theme into a single call?

A theme list is an entry point, not a conclusion. Click a moment type or a customer need on the dashboard and the paginated record list behind it opens, and from there you drop into the transcript and summary of a single analysis. Reading five transcripts usually rewrites what a heading means — half the calls filed under "pricing" may be about billing frequency rather than price.

Filtering by sentiment shortens that descent. Click a sentiment badge and the call list opens already filtered to that sentiment within the same period; starting with the negative records shows a theme at its sharpest, while the positive calls under the same heading are where the sentences your marketing team keeps asking for actually live.

This habit turns the list into an input for your complaint handling process: complaints arriving one at a time look like individual incidents, and seeing how often the same one recurred turns it into a process defect whose fix belongs to the system rather than a person.

A weekly read does not catch everything, and red flag alerts close that gap: when an analysis carries a red flag or its call score falls below 40, managers get an in-app notification tied to the record. The theme list is the picture of a period; a flag is one record shouting.

What your recording pool misses, the list cannot show

Theme extraction reads only the records it has. Audio files you upload, calls from the call centre integration and meeting recordings merge into the same analysis pool, and a record enters the dashboard only once its analysis completes. Records whose score has not been calculated yet are not shown as zero: they appear without a score and do not drag the period average down. That distinction shapes the list directly, because in a week where pending records pile up the theme mix is drawn on partial data.

Channel choice is a filter too. A list drawn from voice conversations cannot show what arrives in writing; email and form requests accumulate in your help desk ticket queue instead. Comparing the two sets of headings a few times a year shows which topic is being solved on which channel, and a topic topping both lists usually signals a routing mistake.

Then there is the customer who never calls: the reason a quiet account walked away appears in no recording, so the theme list will always under-report churn drivers. A short exit survey asked at cancellation fills that blind spot and helps you tell which theme actually caused the loss rather than merely accompanying it.

How does the date range change the picture?

The same pool of calls produces a different list depending on the window you choose. You can work with ready-made 7, 30, 60 and 90 day periods or set your own start and end dates up to ninety days, and the choice applies to every chart at once. A seven-day window is operational and catches events; a ninety-day window shows what is structural. Which window a heading disappears in tells you whether it was an incident or a pattern.

The trend over time makes that visible: for each day in the period, positive and negative call counts are plotted on an area chart, including days with no records at all. Not hiding the quiet days matters, because a weekend dip and a genuine drop in volume should not look identical. Find the day a theme peaked, read that day's records, and you usually surface a single campaign, outage or release.

That reading connects directly to the early-warning side of churn prevention. A heading that sat at the bottom of the list for months and climbs steadily over three weeks is a structural problem at a stage where individual complaints have not surfaced yet. The difference between early and late intervention is usually just how long that climb went unnoticed.

Carrying the finding is part of the job. Sentiment, moments, needs and trend can be written to a single CSV file and the whole dashboard downloaded as a PDF, while the period you picked travels in the address bar, so the person opening the link lands on the same view you were looking at. A link beats a screenshot in any meeting.

Whose desk does this list belong on, and at what cadence?

On the support side the list is read weekly and serves one question: which recurring topics can be made resolvable on the first contact? If a heading sits near the top permanently and most calls behind it turn into callbacks, the problem is missing information, and the fix that lifts first contact resolution is usually a permission definition or a knowledge base entry rather than extra headcount.

On the sales side it serves a different purpose. The records under the objection and pricing headings hold the sentences prospects actually use, and in the call detail the counts of competitor and price mentions sit in separate badges, with the badge turning a warning colour when a competitor came up. Those sentences are the best raw material for refreshing the questions you ask on a discovery call: an objection that keeps appearing late is a question that was never asked early.

In account management the list is read per portfolio. The same heading rising across several large accounts is signal enough for the customer success team to step in; three conversations that look like nothing individually can point to one product gap together.

On the management side the cadence is quarterly. The period's top five themes, their sentiment split and their score average frame the agenda for a quarterly business review. The value is continuity: how those five headings move from quarter to quarter says more than any single snapshot.

Conclusion

Theme extraction is not magic, it is counting discipline: it reads what was said, gathers labels that mean the same thing into one concept, and reduces the result to a list you read alongside frequency, sentiment and score. Its value shows up less in producing the list than in letting you drop from it into one specific conversation. A good setup holds three things together — a clean recording pool, normalised headings, and a path underneath every heading.

If you want to see how your own call recordings collapse into a single theme list, start a free Rocketly account and upload your first recording.

FAQ

How many calls do you need before themes appear?

There is no strict floor, but no repetition means no theme. If most records fall into their own heading, extending the range gets you there faster than waiting for new calls: a list that looks scattered over 30 days usually consolidates over 90.

Do mixed-language calls split the list?

Normalisation exists precisely so they do not. The language of a call is detected automatically and moment labels produced in different languages are gathered into one concept, so mixed-language teams still see a single ranked list.

Does a theme list replace surveys?

It complements them. Call records give you the customer's own words and reasons; a survey gives you a comparable score. When both point the same way the decision is easy, and when they diverge you know where to look.

Why do I see different numbers than a colleague on the same dashboard?

The dashboard only aggregates records your permissions cover, so a user limited to their own records will not see other reps' analyses in this summary, and exporting additionally requires file export permission. Compare the scope of the two screens first.