Skip to content
attpro
Book a demo
All resources

Operations3 min read

Why your disposition taxonomy is your collections strategy

Whatever your callers can record is all your analytics can ever know. The disposition list is not admin - it is the resolution of your entire feedback loop.

Every collections conversation compresses into one field: the disposition. If the list offers only 'ringing', 'busy' and 'promised', then every insight downstream - which script works, which cohort needs settlement, which accounts justify field visits - is built on three pixels of information.

Symptoms of a starved taxonomy

  • 'Other' is a top-five disposition.
  • Promises have no date attached, so kept-rate cannot be computed.
  • Refusals do not record a reason, so hardship never surfaces.
  • Wrong-number and unreachable are one code, so trace spend is unguided.

What good looks like

A working taxonomy distinguishes contact outcomes (reached, wrong number, unreachable), conversation outcomes (promise with a date, dispute with a category, refusal with a reason, hardship), and system outcomes (voicemail, network failure). Each code should be actionable: if two codes would trigger the same next step, merge them; if one code hides two next steps, split it.

How many codes is the right number

There is no magic count, but there is a test. Every code has to earn its place by changing what happens next. If two codes always lead to the same next action, they are one code wearing two hats, and the split costs you accuracy for nothing. If one code leads to two different next actions depending on what the caller remembers, it is hiding a decision that should have been recorded. Applied honestly, this usually lands an operation somewhere between forty and eighty codes, grouped so that a caller sees a handful of choices at a time rather than a wall of them.

A worked example: splitting not contactable

One code for everything that is not a conversation is the most common and most expensive mistake, because it merges four situations with four different economics.

  • Ringing, no answer. Cheap to retry, and the right answer is usually a different time of day rather than a different channel.
  • Switched off or unreachable. Worth retrying for a few days, then worth doubting.
  • Number invalid or disconnected. Retrying is pure waste. This is the only one of the four where a trace is the correct next step.
  • Wrong person, number reassigned. Retrying is worse than waste, because the person answering has no relationship with the debt and every reason to complain.

Merged, they produce an unreadable contactability rate and an unguided trace budget. Separated, each has an obvious next step, and trace spend goes only where a new number is the thing actually missing.

Changing the list without losing your history

Taxonomies get better by being revised, and revision is where reporting usually breaks. Retire codes rather than deleting them, so last quarter calls still mean what they meant when they were made. Map old codes to new ones explicitly, keep the mapping next to the data, and date the change, so that a year-on-year comparison can state which side of the change it is reading.

Somebody has to own it

A disposition list with no owner drifts. A code gets added for one campaign, another is quietly repurposed because it was the closest thing to hand, and within two quarters the analytics team is reverse-engineering intent from call recordings. Name an owner, review the list on a schedule, and treat an addition the way you would treat a change to a database column, because that is what it is.

The payoff is compounding. Flows can branch on real outcomes, analytics can attribute cures honestly, and QA can target exactly the conversations where the code and the recording disagree.

New notes, by email

A few pieces a quarter, when there is something worth saying. The address is used for the notes and nothing else - unsubscribe is one reply.

Bring one delinquent cohort. We will run it.

A demo here is not a slideshow. Pick a segment of your book, watch a flow built for it, and hear an agent call a test number in your language.