The scale problem in feedback analysis
At low volume — say, ten or twenty pieces of feedback a week — you can read everything and hold the themes in your head. At higher volumes, that stops working. The signal is still there; it is just buried in repetition. The same complaint about the same feature arrives in twenty different phrasings, and without a way to aggregate them, each instance looks like a one-off rather than a pattern.
Topic clustering addresses this by grouping feedback items that share thematic content, regardless of the exact words used. The output is a set of clusters, each representing a recurring theme, with a label and a count of how many items belong to it. This lets you see at a glance that "export failures" is not a single ticket — it is forty tickets, and it deserves attention proportional to its volume.
What TF-IDF is doing
TF-IDF stands for Term Frequency–Inverse Document Frequency. It is a classical information-retrieval technique that represents each piece of text as a vector of weighted term scores.
The term frequency part is intuitive: words that appear more often in a document are more important to it. But frequency alone is a poor signal — common words like "the," "is," and "my" appear in everything and distinguish nothing.
The inverse document frequency part corrects for this: it down-weights terms that appear in many documents across the corpus and up-weights terms that appear in relatively few. A word like "timeout" that appears in 30 out of 1,000 feedback items is carrying more signal than a word like "the" that appears in all 1,000.
The result is a numeric vector for each feedback item where the high-scoring dimensions correspond to the distinctive vocabulary of that item. Items about similar topics will have similar vectors — even if they used different specific words — because they share the same distinctive vocabulary. Clustering algorithms (Rereflect uses k-means over these TF-IDF vectors) then group items with similar vectors together.
What the clusters represent — and what they do not
TF-IDF clusters group items by shared vocabulary, not by human-interpretable meaning. Most of the time these align: items that share vocabulary tend to be about the same thing. But there are cases where they diverge:
- Synonyms and paraphrasing — "slow" and "laggy" and "takes forever" all describe the same experience but have different TF-IDF scores. Items that describe the same problem in very different words may end up in different clusters.
- Multi-topic feedback — a single piece of feedback that mentions both "billing confusion" and "export failures" will land in whichever cluster its vocabulary is more similar to, not both.
- Domain vocabulary — highly technical or product-specific terms may drive cluster assignments in ways that feel unexpected to someone not aware of their relative frequency.
- Cluster count sensitivity — the number of clusters is a parameter. Too few and distinct themes merge; too many and single themes fragment. The right value depends on your corpus size and vocabulary range.
Despite these limitations, TF-IDF clustering is effective at surfacing the major recurring themes in large feedback corpora. It is a directional tool, not a precise classifier — the clusters tell you where to look, and the individual items inside each cluster tell you the details.
How Rereflect uses clustering in practice
Rereflect runs topic clustering as part of the analysis pipeline and attaches cluster tags to each feedback item. The tags are surfaced on the feedback detail view, in filter options, and in the dashboard's topic breakdown.
The cluster labels are generated from the top-weighted terms in each cluster. These are not always elegant phrases — they reflect the dominant vocabulary of the group, which is sometimes a technical term and sometimes a common word that happens to be distinctive in your corpus. Treat them as signposts for the theme, not polished category names.
If you want more semantically coherent cluster labels, the LLM-based categorization layer produces those — at the cost of tokens and latency. Topic clustering gives you an always-available, zero-cost view of thematic distribution that does not require a language model.
Reading cluster output usefully
The most useful thing to do with clustering results is to look at volume and sentiment together. A large cluster of negative feedback represents a concentrated, recurring pain point — the combination of scale and polarity is the signal.
Equally useful is watching how cluster composition changes over time. A cluster that has been large and stable for months represents a chronic issue. A cluster that appeared three weeks ago and has been growing represents something new. A cluster that shrunk after a release represents something you fixed.
Topic clustering is a lens on the distribution of feedback themes, not a substitute for reading the items themselves. Use the clusters to decide where to focus, then read the items in that cluster to understand the details. The combination of the macro view and the micro view is where the actionable insight lives.