Retention · Named Framework
Your Maintenance Plan Didn't Lose That Customer. Their Card Did — and Nobody Told You.
In This Article
Your plan list shows 60 names. In January, a man calls, no heat, voice tight: "I'm on your plan." You check. His card expired last spring. He never canceled. You never charged him again after that. Nine months of a "member" who wasn't one — and nothing on your screen ever said so.
Nobody fired him. Nobody even noticed he was gone. By the end of this page you'll know why that happens without a sound — and you'll have a 15-minute monthly check, the Roll Call, that finds him before the furnace does.
Cancellations make noise. Declined cards don't.
When a customer cancels, something happens. A phone call. A form. An awkward conversation you at least get to have. When a card declines, nothing happens — not to you. The failure gets written down somewhere, sure: a line in a report, a notice in an inbox. But that notice reaches a screen, not a person who acts on it. The charge just stops. You think the member is paying. The member thinks they're still covered, or they forgot the plan exists entirely. Each side assumes the other one has it handled.
Call it what it is: a dark account. Not canceled. Not paying. Just sitting there, quiet, until something forces the question — usually a cold house in January.
(If you don't have a recurring plan running yet, start here — this whole page assumes you already do.)
So: how many dark accounts are sitting on your list tonight?

What it's costing you
Run the napkin math. Say you've got 60 members on a maintenance plan at $25 a month. Three cards quietly fail this year — cards expire on their own schedule, with zero regard for yours. That's $75 a month you think is coming in and isn't: $900 a year, gone without anyone deciding it should go.
Now push it one step further, because the money isn't the worst part. A dark account doesn't get the fall tune-up visit either — the one where you'd usually catch the problem before it becomes an emergency. So when the furnace actually quits in January, that member doesn't call you first. They call whoever shows up first on Google, because in their head they're still "your customer" just calling in a repair, not shopping around.
That's the real cost: not just a missed $25 a month, but a lost customer who thought they never left. An often-cited estimate (Harvard Business Review, 2014, citing Bain & Company) puts replacing a customer at 5 to 25 times the cost of keeping one — and a dark account is the cheapest kind of "keeping" there is, if you catch it in time. Want to see what one member like that is actually worth over the years? Run it through the Customer Lifetime Value Calculator.
Why nobody catches it
"Automatic" feels like "handled." That's the whole trap. The office checks the payments that came in — nobody's job is to go looking for the ones that didn't. The customer, for their part, assumes that if something were wrong, you'd tell them. You assume that if something were wrong, your software would tell you. Both of you are waiting on the other, and the software isn't built to force the conversation — it's built to quietly stop trying.
Automation fixed remembering. It didn't fix watching. (The Renewal Leak covers the remembering half — the customer who's due and hears nothing. And if members are drifting off on their own instead of getting dropped by a card, that's The Slow Goodbye.)
Here's the part nobody tells you: this is the only customer loss you can see coming years ahead. The date is printed right on the card.
The Roll Call
Four steps, 15 minutes a month, no new software required.
Ask what your software actually does on a decline
Does it retry the charge? How many times, and over how many days? Who gets the email when it fails — you, or just the customer? Does your payment processor auto-update expired cards in the background? Find out before you assume the worst. Some tools already catch more of this than you think; the gap is usually that nobody's watching what they catch.
Route the failure alert to a person's phone
Not a customer's inbox. Not a report sitting in a dashboard nobody opens. A text or a task that lands in front of someone whose job is to act on it that week.
Do the two-number match on the 1st of every month
Count members on your plan list. Count members your software actually charged this month. Those two numbers match. Anyone in the gap is a dark account — found, not guessed at.
Run a 30-day expiry sweep
Once a month, pull every card on file expiring in the next 30 days. Reach out before it dies, not nine months after.
The line to actually say
No blame, one easy next step:
"Hey, it's [name] from [shop]. Your card on file for the plan bounced — totally normal, they expire. Want me to text you a link to update it so your fall tune-up stays on the books?"
Notice what it's doing: it hands them a reason that isn't their fault, and it ends with one physical action — tap a link — not a lecture about autopay.

Before the next one goes quiet
Imagine your plan list and your bank deposit actually matching every single month — every name on the roster is a name that paid. Now take that away: tonight, there may be names on that list who haven't paid in months, and your plan list still says they're covered. They think they're covered too. Neither of you finds out until a cold house forces it, or until the conversation gets awkward instead of easy.
That's the kind of leak that never shows up on a revenue report, because the account doesn't look gone — it looks like a member, right up until someone needs it to actually be one. The Roll Call plugs this one tonight. But a leak this quiet rarely travels alone — the calls you miss and the searches that never find you go dark the same way.
Want a second set of eyes on where else customers are slipping out quietly?
Frequently Asked Questions
Most of the time, nothing happens that anyone sees. The charge just fails. Your billing software logs it somewhere — a report, a notification email — but that notice usually reaches a screen or an inbox, not a person who acts on it. The charge stops going through, the member isn't told in a way they'd notice, and you keep assuming they're covered because nobody canceled anything.
Start by asking your payment processor what it already does — many retry automatically a few times or run a card-updater service in the background, so find that out before assuming the worst. Then close the real gap: route every decline to a person's phone, not just an inbox, and run a monthly two-number match (members on your list vs. members actually charged this month) so a missed charge can't hide for long. If a member goes unpaid long enough that it becomes a real invoice problem, here's how to handle that conversation too.
Keep it short and no-blame: "Hey, it's [name] from [shop]. Your card on file for the plan bounced — totally normal, they expire. Want me to text you a link to update it so your next visit stays on the books?" It names the reason (cards expire, it's not their fault) and gives them one easy next step.
Run a 30-day expiry sweep: once a month, pull every card on file that expires in the next 30 days and reach out before it dies instead of after. Paired with the monthly two-number match, you catch members on both ends — the ones about to go dark and the ones who already have.
Compare two numbers once a month: the total members on your plan list, and the total members your software actually charged that month. Anyone in the gap between those two numbers has a dark account — a member who never canceled but hasn't paid. It takes about 15 minutes and it's the clearest signal you've got.