Share:

Collections — the plan, and the evidence under it

Analysis of 20 August 2026 · https://reports.iconicbyai.com/debt-plan
Collected, all time
42.3%
$53.9M of $127.4M financed
Losing per month
~$1.0M
in contract value, at current rates
Cures at 1st miss
49.7%
falls to 15% by the 5th
Retry within 14d
$581
vs $221 if it waits — per account
The prize
$4.06M
a year, from the retry clock alone
ACH removes
49.7%
of bad debt, outright
New misses
359/wk
about 72 a working day

The whole book turns on one window. An account that misses cures 49.7% of the time on the first miss, 34.6% on the second, and about 15% from the fifth onwards — where it stays forever. Half of all bad debt is created in the first two misses. Almost none of the effort is concentrated there, and 53% of the current chase list is made up of accounts that will not pay.

Actions are ordered by return against effort, not by how important they sound. Action 1 is worth more than everything below it combined and needs no customer contact at all.

1 Fix the retry clock This week

Retry a failed instalment on day 2, day 4, day 7 and day 12 instead of leaving it to the next billing cycle. Cap at four attempts. Stop immediately on a dead-card reason — retrying INVALID_ACCOUNT or CARD_EXPIRED is pointless, those need a new card.

Why
An automated retry inside 14 days collects $581 per account over the following 180 days. Left to the next cycle it collects $221. 939 accounts a month are currently left to the next cycle.
Effort
~20 hrs build, ~1 hr/wk
Worth
$4.06M/yr
Watch: Repeated attempts can get you flagged by issuers — hence the cap of four and the hard stop on dead cards. Run it as a 30-day split test: half of new first-misses on the new clock, half on the old one. The number above is observational, and a split test turns it into a causal one for free.
2 Move the book onto bank debit (ACH) Start now, runs for months

Offer bank debit instead of card-on-file, with an incentive worth having — a discount, or a month off the tail. Push it everywhere: the payment page, the first-miss message, the save-desk call, and at the point of sale for new agreements. This is a migration, not a project with an end date.

Why
The card rails are the problem. ACH removes 49.7% of bad debt outright — TRANSACTION_LIMIT ($2.85M), card restrictions, expiries, reissues, PAN failures — because a bank account has no card limit, never expires and is never reissued. A further 45.4% (GENERIC_DECLINE) is partly addressed. Only 4.9% of bad debt is genuinely no money in the account, and that fails on ACH too.
Effort
contract change + switching campaign
Worth
the structural fix
What has to change at the point of signing up
An authorisation, not just a card boxBank debit needs a signed mandate — amount, frequency, start date and how to cancel. That is a change to the finance agreement itself, so it needs whoever owns your contracts to sign it off. This is the long pole, not the tech.
Verified bank details, not typed onesTake the account through a bank-login flow rather than typing routing and account numbers. Typos are a large share of early bank-debit failures and a verified link removes them at source.
Bank debit as the default, card as the fallbackPresent it as the normal way to pay, with card as the alternative — and still keep a card on file as backup for when a debit comes back unpaid.
An incentive worth switching forA discount, or a month off the tail. Nobody changes payment method to be helpful.
Different failure timingA card declines instantly; a bank debit comes back unpaid several days later. The day 2/4/7/12 retry clock in action 1 is tuned to cards and will need its own timings for ACH.
Existing customers are a campaign, new ones are a form changeThe new-business change is small — a different default on the signing flow. Migrating the 33,644 live agreements is the actual work, and it is the part that pays.
Watch: Adoption is the entire constraint — the maths only pays if people actually switch, and that needs a real incentive. ACH still comes back unpaid when the balance is not there, so it fixes the rails, not affordability. Check what Square can actually do for RECURRING bank debit before committing — in your own history there is exactly 1 BANK_ACCOUNT payment against 25,652 card payments, so nothing about this is proven on your setup. If Square only supports it on invoices rather than on a stored mandate, the options are Square Invoices with autopay, or a specialist rail. This is what the gym and membership industry did, and it is why they collect where card-based operators do not.
3 Segment the chase list by miss number This week

Split the daily list three ways: miss 1–2 worked hard by your best people, miss 3–4 automated with a light human touch, miss 5+ off the human list entirely and onto an automated settlement offer.

Why
3,575 of your 6,760 arrears accounts are at 5+ misses and cure at about 15%. They are 53% of the list and get the same attention as the 1,699 accounts at miss 1–2, which cure at 49.7% and 34.6%.
Effort
~8 hrs
Worth
frees more capacity than a hire
Watch: None. This is a sort order, not a write-off — the 5+ accounts still get automated contact, they just stop consuming the team.
4 Four messages, routed by the Square decline reason Next 2 weeks

Replace the single day-one text with four, chosen by what Square actually returned. Each opens with what the bank did, names the amount and studio, gives one tap, and offers a second way out.

Why
Only 11.9% of first misses are INSUFFICIENT_FUNDS. 50.6% are TRANSACTION_LIMIT — the bank blocking a live card as over-limit. The current message treats all of them as debtors, which is why the reply rate halved.
Effort
~50 hrs build, ~2 hrs/wk
Worth
unlocks the 88% who are not broke
Watch: Needs the decline reason to reach GHL. Today GHL is fed by the Debt AI Google Sheet and never sees it — that routing is the actual build. The payment page itself already exists.
5 Let them pay part of it, and agree a lower amount going forward Next 2 weeks

On the payment page, offer three buttons instead of one: pay it all, pay half now, or set a new lower monthly amount. Whatever they pick is an agreement they made, captured on the spot — and the schedule updates to match rather than failing again next month at the old figure.

Why
After a failed charge, the next attempt at the same amount succeeds 28.8–45.7% depending on the reason. At about half it succeeds 70.3–74.5%. And the payment page is already built — /api/pay/schedule exists alongside charge and lookup.
Effort
~25 hrs
Worth
converts the 88% who are not broke
Watch: Do not read that table as "smaller charges are easier". Charging MORE also succeeds at 71.5%, which gives the game away: what works is that a human arranged it and the customer agreed, not the size. So offer the choice — never quietly halve someone's charge, or you are just discounting the book. Cap how far the monthly can drop, or a 6-month plan silently becomes a 3-year one.
6 A settlement ladder for the people who will not pay Next 2 weeks

Accounts past miss 5 come off the human list and go onto a standing automated offer: settle at 60%, then 50%, then 40%, each with a deadline. One tap to accept on the existing /pay page. No negotiation, no call, no collector time.

Why
Those accounts are worth about 15 cents on the dollar as things stand, and there are 3,575 of them. $52.4M is outstanding across 33,644 agreements. A 50% settlement taken up by even one in five of the tail beats the status quo by roughly $3.7M — and costs no labour at all.
Effort
~30 hrs
Worth
turns a dead list into cash
Watch: Gate it strictly on miss depth. Offer a settlement to someone who is still paying and you have just discounted a full payer. Clear the write-off and tax treatment with the bookkeeper before switching it on, and keep genuine disputes out of it — those need resolving, not discounting.
7 Measure effort and engagement, not dollars collected Next 2 weeks

Percentage of first-miss accounts touched within 24 hours, contact-to-conversation, conversation-to-payment. Per collector, weekly, ranked. Plus a 5pm exception report of what did NOT happen.

Why
Dollars collected tells you about last quarter. These three move first. Every chase-list phone (1,048 of 1,048) already matches a GHL conversation, so texts are measurable today.
Effort
~25 hrs
Worth
this is what makes the plan stick
Watch: goto_call_pull.js already pulls per-call records every morning and discards the phone number, keeping only per-agent counters. Calls need that one script changed — not a new integration.
8 Split save from recovery This month

A save desk on misses 1–2 with a service tone, measured on cure rate. A recovery desk on miss 3+ with a firmer tone, measured on dollars and settlements. Different scripts, different comp.

Why
A retention conversation and a debt conversation are different jobs. After actions 1–3 the human queue is roughly 500–550 accounts a month, which is about 0.75 FTE — against 2.1 FTE if you put people on the phone without fixing the automation first.
Effort
~30 hrs setup, ~95 hrs/mo
Worth
the last 15–20% automation cannot reach
Watch: Do this AFTER the automation, not before. Sequenced the other way it costs three times the labour for the same result.
9 Staged photo delivery Backlog

Release photos against the payment schedule instead of all at once — extra retouched shots, a new crop, a print credit at months 3 and 6.

Why
Clients who never log into the portal pay 45.7% of instalments due; clients who log in pay 64.4%. Right now the product is fully delivered before most of the money arrives, so paying feels like paying for nothing.
Effort
product work
Worth
unquantified — correlation only
Watch: The 45.7/64.4 gap is correlation. Engaged clients may simply be better payers. Worth testing, not worth betting the quarter on.
Order matters more than the list does

Actions 1 and 2 cost about 28 hours between them and need nobody on a phone. Do 5 first, before the automation is fixed, and the same job takes 2.1 FTE instead of 0.75 — because two thirds of the accounts would have cured on their own before anyone picked up the phone.

Three scopes, not three strategies — each one contains the one before it. Option 1 is 20 hours and needs nobody on a phone. The recommendation is Option 2: it captures the structural fix and still never requires a conversation, which matters because most of these people will not have one.

Option 1 — Fix the retry clockcheapest

Retry on day 2, 4, 7 and 12 instead of waiting for the next cycle. Nothing else changes. No contact, no headcount, no customer-facing work at all.

Build
~20 hrs
Run
~4 hrs/mo
Headcount
0.03 FTE
Worth
~$4.06M/yr
Note: Works entirely around the fact that you cannot get people on the phone, because it never tries to.
Option 2 — Automated self-serve ladderrecommended

Option 1, plus the four reason-routed messages pushing the existing /pay link, plus the ACH switch offer, plus the settlement ladder for the tail. Still no conversation required anywhere.

Build
~100 hrs
Run
~9 hrs/mo
Headcount
0.07 FTE
Worth
Option 1 + the ACH structural fix
Note: Measure taps, not replies. The 19% reply rate is the wrong metric — a link needs a tap, not an answer, and a tap converts at 99.4%.
Option 3 — Options 1 and 2, plus a save deskfull

The residual after automation — roughly 500–550 accounts a month — worked by humans, prioritised by remaining balance rather than by date. Three dial attempts at different times of day, then it drops to the settlement ladder.

Build
~130 hrs
Run
~108 hrs/mo
Headcount
0.85 FTE
Worth
the last 15–20% automation cannot reach
Note: Sequencing is the whole point: put people on the phone BEFORE fixing the automation and the same job needs 2.1 FTE instead of 0.85, because two thirds of the accounts would have cured on their own.
The hours, side by side
ScopeBuild (one-off)Run (monthly)FTE
Option 1 — Fix the retry clock~20 hrs~4 hrs/mo0.03
Option 2 — Automated self-serve ladder~100 hrs~9 hrs/mo0.07
Option 3 — Options 1 and 2, plus a save desk~130 hrs~108 hrs/mo0.85

Doing the phone work first, without fixing the automation, means calling all 1,560 first-misses a month: three dial attempts at ~2 minutes each, ~390 real conversations at ~9 minutes, plus admin — 268 hours a month, about 2.1 FTE. Fix the automation first and the identical job takes 0.75 FTE, because two thirds of the accounts cure before anyone picks up a phone. Same outcome, a third of the labour.

This problem has a name — dunning management — and the closest analogues to Studio 1 are gyms and membership businesses: high-volume small recurring instalments, card on file, roughly 50% failure rates. The mature playbook is five things. You have one of them, partly have another, and are missing three.

1 Account Updater (Visa VAU / Mastercard ABU) partly

The card networks push you the new number when a card is reissued, expires, or is replaced after fraud. Zero human involvement once it is on.

Where you stand: Worth switching on in Square, but it is a setting, not a programme. 91.2% of your declined cards have 12+ months left — card decay is a small problem here, not the main one.
2 Smart retry timing missing

Three or four attempts across the first 10–14 days, deliberately avoiding same-day.

Where you stand: Your single biggest lever, and you are not doing it. Your own data reproduces the industry curve almost exactly: day 1–5 recovers 71–78%, day 15+ recovers 18.7%. Action 1.
3 Bank debit (ACH) instead of cards missing

The structural move the gym and membership industry made. Bank accounts do not expire, are not reissued, and have no card limit.

Where you stand: Removes 49.7% of bad debt outright and partly addresses another 45.4%. Only 4.9% of your bad debt is genuinely no-money-in-the-account. Action 2, and the biggest structural change available to you.
4 Pre-dunning missing

Contact before the charge fails rather than after. Cheaper than recovery.

Where you stand: Worth doing, but narrower than it sounds here — the classic trigger is an expiring card and yours mostly are not expiring. The version that pays for you is contacting anyone who has already missed once, before their next due date.
5 Self-service everything already have it

People who intend to pay will tap a link at 9pm rather than have a conversation about it.

Where you stand: You already have this and are barely using it. /pay is a working Square Web Payments page with lookup, charge and schedule endpoints, and chase.csv already emits a per-customer link. Any actively-entered payment succeeds at 99.4%, at any lag. The gap is that the link is not pushed at the moment of failure.
The metric nobody here tracks

Consumer lending measures right-party contact rate — of dials made, how many reach the actual person. It typically runs 15–25%, which is exactly why no serious operation builds its strategy on the phone. The phone is the last layer, not the first. That is the single biggest difference between how this book is worked today and how it would be worked by someone who does this for a living.

Four ideas that were in the first draft of this plan and did not survive the data. They are kept here because each one is plausible enough to be proposed again — three of them were mine.

Raise the deposit / shorten the termruled out
The case for it
Mature cohorts collected 58–60% in 2019–20 against 42–48% since, and deposit % predicts collection better than anything else — 26% at sub-10% deposit up to 78% at 30%+.
Why it fails
A deal you refuse to write collects nothing. The 10–15% deposit bucket has the worst collection rate at 39.8% and yet delivers $1,523 cash per deal — more than the 15–20% bucket ($1,295) and the 20–25% bucket ($1,405), both of which collect at a far better rate. Those deals average a $3,235 sale, the largest of any bucket. A big deal realising 47% beats a small one realising 85%. Raising the deposit floor would have killed the highest-cash segment to improve a percentage.
What it teaches: Collection % is a vanity metric — it penalises exactly the deals that bring in the most money. Manage cash per deal written instead. And note deposits are a roughly fixed $400–500 whatever the deal size, so "deposit %" is largely just an inverse measure of sale size.
Card-refresh campaign for cards expiring in 60 daysruled out
The case for it
GENERIC_DECLINE and TRANSACTION_LIMIT are 84% of bad debt and both look like card-health problems, so refresh cards before they lapse.
Why it fails
Of 1,261 declined cards carrying an expiry date, 91.2% had 12 months or more left. Only 1.3% had already expired and 0.5% expire inside 60 days. A campaign would have targeted about six accounts.
What it teaches: Card decay is not the problem. These are banks declining perfectly live cards, which is why the reason-routed messages matter and a card campaign does not. Square’s automatic card updater is still worth switching on — it catches reissued cards — but it is a setting, not a programme.
Split instalments into smaller paymentsruled out
The case for it
Charges under $100 fail 18.5% of the time; charges of $200–300 fail 52.3%. So smaller instalments should collect better.
Why it fails
Entirely a confound with entry method. Sub-$100 charges are mostly taken in person; recurring card-on-file charges are not. Within automated charges only, the failure rate is flat at 51–59% from $30 to $600.
What it teaches: Would have meant restructuring every contract for no gain. Always segment by how the charge was taken before reading anything into its size.
Move the billing date to match paydayruled out
The case for it
People fail when they are short, so bill them when they are paid.
Why it fails
Day-of-month success runs 40–49% across the whole month and day-of-week 42–48%. A spread of five to eight points, against the 46-point swing available from retry timing.
What it teaches: Real but marginal. Not worth a contract-change programme while action 1 is unbuilt.
Every figure on this page, and what produced it

Three rules were applied throughout, and undoing any of them changes the answers. Recovery windows are maturity-gated — a miss only counts once its window has actually elapsed, or the newest period always looks like a collapse. The 2025 side of the Square payment file is under-pulled (~1,100 rows a month against ~14,000 in 2026), so no year-on-year is offered. And anything of the form "has this happened before" uses a fixed 90-day lookback, because an expanding window manufactures a trend out of nothing but observation time.

FigureSource and basis
Collected 42.3% of $127.4M financedReports/finance_cohort/ledger.json — 59,980 agreements, deposits excluded from both sides
Cure rate by miss number (49.7% → 15%)square_attempts.jsonl, automated charges only, misses aged 120+ days so the window has closed
$581 vs $221 per accountfirst misses with 200+ days of runway; 180-day forward collection, split on whether the next automated attempt fell inside 14 days
Retry curve: day 1–5 = 71–78%, day 15+ = 18.7%automated retries only — human-keyed payments succeed 99% at any lag and were excluded, or they flatter the early window
50.6% TRANSACTION_LIMITfirst misses Feb–Jul 2026, by the reason Square returned
6,760 accounts in arrearsaccounts whose most recent automated charge failed and who have been active in the last 120 days
$1,523 cash per deal at 10–15% depositmatured contracts only (shot before Aug 2024); cash = deposit taken + finance collected
91.2% of declined cards have 12+ months leftReports/square_declines/declines.json, 1,261 rows carrying an expiry date
1,048 of 1,048 chase phones matched in GHLlive join test against US Debt Collection (pcTyOadbzBqZO7v3cbwn), 11,768 conversation phones
What is not proven

The $581-vs-$221 figure behind action 1 is observational. Accounts that happened to get an early retry may differ from those that did not, and that cannot be ruled out from history alone. The effect is large and the mechanism is plausible, but action 1 should run as a 30-day split test — it costs nothing extra and replaces the correlation with a causal number. The same caveat applies to the portal-login gap behind action 6.

Related: https://reports.iconicbyai.com/debt-trend — the live trend this plan was built from.