article·8 min read
Rundown 03 — Theme Your NPS Comments, Every Week
Builds a fixed set of themes from your existing NPS comments, then codes each week's new comments against it, so you can see which reasons are growing, which are new, and what customers actually said, without re-reading the whole sheet.
- Workflows
- Product discovery
What it does: turns the "main reason for your score" column into a weekly read on *why* customers feel the way they do, with a fixed set of themes, counts you can compare week to week, and real quotes rather than paraphrase.
When to use it: you already collect NPS (Rundown 02 sets that up) and the comments pile up unread, or someone skims them before a board meeting and reports whatever they remember.
What you need: your NPS Sheet with a comments column, and at least 40 comments to build the first set of themes from. Thirty minutes once, then five minutes a week.
Time: the weekly run takes less time than reading the comments yourself, and unlike your memory it counts.
---
Why "read the comments" doesn't work
Rundown 02 deliberately stops at the score. This is the other half, and it goes wrong in its own ways:
1. The themes change every time someone reads them. One week it's "onboarding", the next it's "setup friction", the week after it's "confusing first run". Same complaint, three labels, and no trend is possible because nothing is ever counted against the same list twice.
2. The loudest comment wins. One detailed, angry paragraph gets remembered; twenty one-line mentions of slow support don't. Reading is not counting.
3. Summaries replace quotes. "Customers find pricing confusing" is an interpretation. "I still don't know what I'm paying for the extra seat" is evidence, and it tells the team what to fix.
The fix is boring and it works: agree the list of themes once, code every comment against that same list, count, and only change the list on purpose.
---
Part 1 — the setup prompt (run once)
Paste this into Claude.
Help me build a codebook for theming my NPS comments. I'll run a weekly coding
pass against it afterwards, so it needs to be stable and written down.
STEP 0 — CHECK WHAT YOU CAN REACH
Tell me whether you can read and edit my Google Sheet in this session, or
whether I need to paste the comments in. Check, don't guess.
STEP 1 — ASK ME
In one message, ask for:
- The link to my NPS Sheet, or the pasted comments with their scores and dates
- What my product does, in one sentence
- Any themes I already track internally, so the codebook uses my team's words
Then wait.
STEP 2 — DRAFT THE THEMES
Read every comment. Propose between 8 and 15 themes. For each theme give:
- A short name (two to four words, in my team's language where possible)
- A one-sentence definition of what counts
- One sentence on what does NOT count, to separate it from its nearest
neighbour
- Two verbatim example comments
Themes describe the reason, not the sentiment: "support response time", not
"unhappy with support". The same theme can appear in promoter and detractor
comments.
Include one "Other" theme and one "No usable reason" theme (for comments like
"n/a" or "fine").
STEP 3 — TEST IT
Code every comment against the draft. A comment can have up to two themes.
Then report:
- How many comments landed in Other. If it's more than 10%, the codebook is
missing something; propose the missing theme.
- Any two themes you found hard to tell apart. Merge them or sharpen the
definitions.
Show me the revised list and wait for my approval before continuing.
STEP 4 — WRITE IT DOWN
Once I approve, add two tabs to the Sheet:
- Codebook: theme name, definition, does-not-include, examples, date added.
- Coded: one row per comment with response ID, date, score, category,
theme 1, theme 2, and the verbatim comment. Never edit the original
Responses tab.
Fill the Coded tab with everything you've coded so far, then stop.---
Part 2 — the weekly prompt
Run it straight after the Rundown 02 digest, so the score and the reasons arrive together.
Run my weekly NPS theming pass on <link to my Google Sheet>.
RULES
- Code only comments not already in the Coded tab.
- Use the Codebook tab exactly as written. Do not rename, merge or add themes.
If a comment fits nothing, code it Other.
- Up to two themes per comment. Code what the customer said, not what you
think they meant.
- Quotes must be verbatim. Trim with an ellipsis if needed; never paraphrase
inside quotation marks.
- Counts are for a rolling 4-week window, split by promoters and detractors.
If a theme has fewer than 5 mentions in the window, show the count but don't
describe it as a trend.
OUTPUT - keep it to this, nothing more:
NPS reasons - week ending <date>
Comments coded this week: <n> (<x> had no usable reason)
Top detractor reasons (rolling 4 weeks):
- <theme> - <count> (previous 4 weeks: <count>) - "<best quote>"
(top 5 only)
Top promoter reasons (rolling 4 weeks):
- <theme> - <count> (previous 4 weeks: <count>) - "<best quote>"
(top 3 only)
Moving: any theme whose count at least doubled, with a count of 5 or more.
If nothing qualifies, write "nothing moving".
Other: <count> this week. If Other is above 10% of the window, list the
comments and propose ONE new theme with a definition. Don't add it; I'll
decide.
THEN
Append this week's coded rows to the Coded tab and tell me how many you added.
Don't change the Codebook or the Responses tab.---
Getting more out of it
- Change the codebook on purpose, and date it. When you add or split a theme, note the date in the Codebook tab. Counts from before that date aren't comparable for that theme, and the date tells you where the line is.
- Send the quotes to the people who can fix the problem. A detractor quote about invoicing sent to whoever owns billing does more than a slide of percentages.
- Promoter reasons are your positioning. The words happy customers use for why they'd recommend you are usually better copy than anything in your current messaging.
- When a theme moves, talk to people. A count tells you where to look, not what's going on. Pick three of the customers behind a rising theme, call them, and put the notes through Rundown 01.
---
If you do this more than twice
Save it as a skill in Claude Code, Cowork or Codex alongside the Rundown 02 digest, and run the two together on the same schedule: score first, then reasons. The skill version of this Rundown is [link], with the codebook template included.
The value comes from coding against the same list week after week, which is exactly what a saved, scheduled skill is good at and a prompt pasted from memory isn't.