# Feedback Tagging Taxonomy & Decision Log

The coding scheme that turns a pile of verbatims into a prioritised list.
From saasfeedback.ai — https://saasfeedback.ai/blog/how-to-use-customer-feedback-saas

---

## Rule zero

**One verbatim can carry more than one tag, but exactly one primary tag.**
Multi-primary tagging is how taxonomies rot: within three months every item is
tagged "UX" and the counts mean nothing.

---

## The two-axis scheme

Every piece of feedback gets coded on two independent axes. Most teams only use
the first, which is why their roadmap arguments never resolve.

### Axis 1 — What is it about? (the topic)

| Tag | Definition | Example verbatim |
|---|---|---|
| `capability-missing` | The product cannot do a thing they need | "There's no way to bulk edit" |
| `capability-broken` | It can, but it fails or is unreliable | "The export times out over 10k rows" |
| `discoverability` | It can, they never found it | "I didn't know that existed until support told me" |
| `effort` | It can, it costs too much to do | "Four clicks every single time" |
| `fit` | Product is not for their situation | "We're an agency, this is built for in-house" |
| `price-value` | Value delivered does not justify cost | "It works, it's just not £200-a-month good" |
| `price-budget` | Value fine, money unavailable | "We lost the budget line in the reorg" |
| `trust` | Reliability, security, support, or vendor risk | "Third outage this quarter" |
| `external` | Nothing to do with you | "We got acquired and moved to their stack" |

### Axis 2 — What kind of change would fix it? (the response class)

| Tag | Owner | Typical fix |
|---|---|---|
| `build` | Product | New capability or rebuilt flow |
| `fix` | Engineering | Bug, performance, reliability |
| `teach` | Lifecycle / docs | Onboarding, in-app guidance, docs |
| `position` | Marketing | Landing page, pricing page, sales qualification |
| `package` | Commercial | Plan boundaries, price, contract terms |
| `none` | Nobody | Genuinely out of scope — log it and move on |

The `discoverability`/`teach` cell is the single most under-counted combination
in SaaS feedback. It is routinely mis-tagged as `capability-missing`/`build`,
which is how teams end up rebuilding features that already exist.

---

## Weighting

Do not count tags. Weight them.

```
theme_weight = Σ (MRR of each account raising it)
             × segment_multiplier
             × recency_decay
```

- **MRR sum, not account count.** Ten accounts at $20 is not the same signal as
  one at $2,000, and the reverse is also true — say which one you care about
  before you look at the data, not after.
- **Segment multiplier.** Apply a multiplier > 1 only for the segment you have
  explicitly decided to win. If you cannot name that segment, use 1 and admit
  you have no strategy filter.
- **Recency decay.** Feedback older than two quarters describes a product you no
  longer ship. Halve it.

Also track **expansion at risk**, not just current MRR. A theme raised by three
accounts about to renew at 3x is a bigger number than it first appears.

---

## The decision log

The taxonomy is worthless without this. One row per theme, reviewed monthly.

| Field | Notes |
|---|---|
| Theme | Topic tag + one-line description |
| Weight | Computed above |
| Accounts | Count and names |
| Best verbatim | One exact sentence, attributed to a real account |
| Response class | build / fix / teach / position / package / none |
| Decision | Doing / not doing / waiting |
| **Reason for not doing** | Required if "not doing" |
| Owner | A person, not a team |
| Ship date | Or "not scheduled" |
| Loop closed | Date you told the people who raised it |

**The "reason for not doing" field is the one that matters.** A feedback system
that only records what you decided to build is a wish list. Recording why you
declined is what stops the same theme being re-litigated every quarter by
whoever heard it most recently.

---

## Closing the loop

Three tiers, all of them cheap:

1. **Shipped** — email every account that raised it. Name the person who raised
   it if they are still a customer. Reply rate on these is unusually high and
   they are the best expansion trigger you have.
2. **Declined** — tell the accounts that raised it, with the reason. Uncomfortable
   once, then it buys you enormous credibility. Customers do not expect a yes;
   they expect to be heard.
3. **Churned users whose issue you fixed** — the win-back list. Return with the
   fix, not a discount. Conversion on this list beats a discount campaign by a
   wide margin because you are arriving with evidence rather than desperation.

---

## Monthly review agenda (30 minutes, no more)

1. New themes since last month (5 min)
2. Top five by weight — what changed and why (10 min)
3. Decisions: doing / not doing / waiting, one line each (10 min)
4. Loop closure — who did we tell (5 min)

Ban slide decks. If a theme needs a deck, it needs a verbatim instead.
