The recovery funnel, and the number nobody wants to measure

Delinquent, right party contact, promise to pay, promise kept. What each stage is worth, and why self-cure decides your collections budget.

Collections is the part of a lending business where effort and outcome are least correlated, and where almost everybody measures the wrong thing.

The headline number is usually recovery rate. Recovery rate went up, so collections is working. Except a large share of accounts in the early buckets were always going to pay, and calling them costs money and irritates good customers. Rising recovery with rising cost is not a win, it is an accounting artefact.

This is the second in the KPI series. The first covered first payment default.

The funnel, stage by stage#

Four stages, and each one is a different business question.

Delinquent. The population in the bucket you are working — most usefully 1 to 30 days past due, because that is where cure is still cheap. This is a denominator, not an achievement.

Right party contact. You reached the actual borrower, not a voicemail, not a relative, not a dead number. RPC rate is a data quality metric wearing a collections costume: it mostly measures whether your phone numbers are current and whether you are calling at a time humans answer.

Promise to pay. The borrower committed to an amount and a date. PTP volume is the metric most easily gamed by an incentivised agent, which is why it should never be a bonus metric on its own.

Promise kept. They actually paid. The kept promise rate is the only stage that correlates with money, and the ratio between PTP and kept is your read on whether promises are being extracted or agreed.

A team with high PTP and low kept rate is not underperforming at collection. It is overperforming at getting people to say yes on the phone, which is a different and more expensive problem.

The number nobody wants: self-cure#

Here is the question that changes budgets, and it is uncomfortable enough that most lenders do not ask it.

Of the accounts that cured this month, how many would have cured without any contact at all?

In early buckets the answer is frequently most of them. People forget a direct debit, get paid on the 28th rather than the 25th, or were away. They pay. Whether or not you called.

Measuring this properly needs a holdout — a randomly selected slice of the early bucket that receives no contact for a defined window. Every collections operation resists this, for an understandable reason: it feels like deliberately not collecting money. It is not. It is finding out what your contact is worth, which is the only way to know where to spend it.

Without a holdout, the honest version is a comparison across the natural variation you already have: accounts contacted late, accounts where the number was wrong, accounts in a bucket the dialler skipped. It is dirtier evidence, but it is evidence.

A collections operation that cannot separate cure from self-cure is not managing a portfolio. It is billing itself for the weather.

Define it before you measure it#

Bucket boundaries and snapshot timing. Is an account in the 1–30 bucket based on where it was at the start of the period, at the end, or at any point during it? All three are defensible and they give different numbers. Pick one and write it on the report.

Contacts count only when the client was actually overdue. An inbound call from a customer who was up to date is not a collections contact. Including it inflates RPC and flatters the whole funnel.

Cure means what, exactly. Paid to zero arrears, paid the minimum to roll back a bucket, or entered an arrangement? An arrangement is not a cure and should be reported separately, because arrangements have their own kept rate.

Forward roll against cure. These are complements and should always appear together. Cure rate on its own can be improved by rolling the hard cases forward faster.

The dimensional model underneath#

  • fct_contact at one row per contact attempt, carrying channel, outcome, agent, timestamp and whether the account was overdue at that moment
  • fct_instalment and fct_payment, so cure is derived from payments against schedule rather than from a status field somebody maintains
  • A daily delinquency snapshot fact, so bucket membership is a fact rather than a reconstruction
  • dim_agent, for attribution that survives someone leaving
  • Metrics for rpc_rate, ptp_rate, kept_promise_rate, cure_rate, forward_roll_rate, self_cure_share

The daily snapshot is the piece most often missing, and without it every historical question becomes an argument about how the bucket was defined at the time.

The agent#

Recovery monitor · runs daily at 07:30
SignalKept promise rate for one market fell 6 points week on week while PTP volume held flat.
ReadsReads fct_contact joined to the daily delinquency snapshot and fct_payment, at account-day grain, agent and channel attached.
CheckDid contact volume change? No — attempts within 2% of the prior four weeks.
CheckDid RPC rate change? No. So this is not a reachability problem.
CheckIs the drop concentrated? Yes — two agents account for 71% of the fall, both onboarded within the last month.
CheckIs the incoming book worse? Bucket entry quality flat; FPD 5 for the relevant cohorts unchanged. Rules out a portfolio explanation.
CheckWhat is self-cure doing? Self-cure share unchanged at 84%, so the marginal value of contact has not moved.
VerdictA coaching problem on two new agents, not a book problem. Promises are being extracted rather than agreed.
ActionBrief to the collections manager naming the two agents, the affected segment and the PTP-to-kept ratio for each. No portfolio escalation raised.

The value here is entirely in what the agent ruled out. A headline drop in kept promise rate would ordinarily start a portfolio quality investigation, occupy risk and collections for a week, and end with someone noticing the new joiners. The agent gets there before breakfast because the model lets it check book quality and agent attribution in the same breath.

What good looks like#

You can answer, on any day, without a project:

  • The funnel from delinquent through to promise kept, by market, bucket and agent
  • What share of cures were self-cures, with the evidence behind the estimate
  • Whether the marginal contact is still paying for itself, by channel
  • Forward roll alongside cure, so neither can be improved at the other's expense
  • Which segment moved, and whether it was the book or the operation

Get that far and the collections budget conversation stops being about headcount and starts being about where the next euro of contact goes.

Next in this series: sales pacing, and why a monthly forecast review is three weeks too late.

Want this KPI under watch first?

The Monitoring Pod stands up one agent per KPI domain, on your dimensional model, with the decomposition already done before it interrupts anybody.