mmitech
Hero illustration for the Recurring Service Recall solution

The renewal that books itself before they go shopping

Sold the Worcester service plan in 2023. Of the twenty-four renewals due, I’ve taken six. The rest drifted to British Gas’s national plan, or quietly fell out of contract.

The boiler you serviced in March 2022. The EICR on a 200-property letting agent’s book. The MOT recall on a thousand cars you serviced last year. The dental six-month recall. The annual booster on every cat and dog in the practice’s book. The weekly dog-walk round that should be on a Direct Debit. The lapsed gym member who left in March and would re-join in September if you asked. The regular-giver donor whose DD was cancelled by her bank last month and you didn’t notice.

Every business with a recurring obligation to its customer has the same problem: nobody on the team owns the “is the next one due Tuesday or this Tuesday” question, the renewal proposal isn’t drafted until two days before the lapse, and revenue that should be a structural certainty turns into a if we get to it problem. This is the build that owns the recurring side of every customer relationship - the anniversary, the recall, the renewal, the lapse - captured as a structured per-customer cadence, with the renewal proposal drafted at -90 days, the customer-facing nudge running at -60 / -30 / -7 days, and the dashboard telling you who’s about to lapse before they do. The shape is sealed against HC Electrical - the live EICR recall annuity running across the agent-portfolio book, where the pre-build recall conversion sat around 40% and the build is shaped around closing it to the 75-85% range the book actually supports.


What gets lost between one cycle done and next cycle confirmed

The shape repeats; the lost revenue is always the same in a different costume:

These aren’t problems for a generic calendar reminder. They’re the bit between one cycle done and next cycle confirmed - which is where the structural recurring revenue actually lives.

A Friday-afternoon view of the November CP12 round - 200 properties, the calendar booking itself

What solved looks like

1. Every recurring obligation lives on a structured per-customer record

The “I’d know if I had a moment to look” moment: the obligation lives in your head, in the install paperwork from 2022, in a spreadsheet on a laptop that died last year, in the customer’s email confirmation she binned. You’d reconstruct the recall list if you had a Saturday. You don’t have a Saturday.

Solved looks like: each customer’s recurring obligation is structured - the service type (boiler annual, EICR 5-year, MOT 12-month, vaccination annual, retainer monthly, contract annual), the install / start date, the next-due date, the agreed price, the customer’s preferred channel, the customer’s preferred timing window (Tuesday evenings / Saturday mornings / weekday-daytime). The record is the source of truth; every cadence runs against it. Back-catalogues import - most trades have 2-5 years of paperwork in email / Drive / a folder, and we bulk-load it on day one so the recall starts working from cycle one.

2. The renewal proposal drafts itself at -90 days

The “we just put it up 8%” surprise: the renewal lands at day -3 with a price the customer hasn’t seen until that moment. She’s already shopping. The conversation is about the increase, not the renewal.

Solved looks like: ninety days before the next-due date, a renewal proposal drafts automatically with last year’s price plus your stored inflation rule (or per-vertical rule - trade work indexed against materials inflation, subscription work against your retention model). The proposal sits as a draft you sign off in fifteen seconds or edit if the customer warrants a custom number. The customer never sees the “we just put it up 8%” surprise because the proposal arrived three months ahead with the rationale visible. Per-customer rules sit on the record - the 200-property letting agent gets indexed one way, the small-landlord customers a flat percentage, the long-relationship retainer customers no increase by default.

3. The customer-facing cadence runs at -60 / -30 / -7 days

The “your boiler service was due last week” moment: the recall doesn’t fire until the cycle’s already lapsed. The customer’s already booked with someone else, or annoyed at being chased late, or about to lose the warranty.

Solved looks like: per vertical, the customer-facing nudge runs on the right channel - “hi Sarah, your boiler service is due September 14th - happy to confirm Tuesday morning 9-11 or Saturday morning 8-10?” - with one-tap accept that books the slot, fires the en-route ETA on the day, and queues the Booking & Review Loop cascade behind it. For DD-based recurrings (pet-services round, gym membership, charity regular giving, tutor or nursery term fee), the cadence reads the DD-failure event from your payment provider and fires the “your DD didn’t go through, tap to renew the card” recovery flow the same hour the bank told the provider, not three weeks later when you noticed the missing line on the BACS report.

4. Lapse detection fires earlier than the customer thinks it should

The “I’d have stayed if you’d asked” moment: the gym member who left in March, the dental patient seven months past her last hygienist visit, the charity donor whose mandate the bank cancelled when her card expired - all of them would have stayed in the relationship for a £0 ask at the right moment, and none of them got asked.

Solved looks like: per customer-type, the lapse rule is configured - a gym member who hasn’t used the facility in 28 days is at-risk; a charity donor whose mandate’s been cancelled is at-risk; a dental patient who’s 7 months past their last hygienist visit is at-risk; a CP12 cert that’s 30 days past the year mark is out-of-compliance. The at-risk dashboard surfaces them with the suggested re-engagement action and the historical recovery rate so you know which to chase. The win-back voice is not the same conversation as the new-customer sale - the cadence carries per-vertical voice and per-segment routing so the lapsed gym member doesn’t get “join now for £19/mo!” (she was already a member).

The “she didn’t want to be chased” moment: a customer who’s not coming back gets the -60 / -30 / -7 cadence anyway because nobody’s listening to the “thanks, not this year” she replied to the -60. PECR / GDPR exposure stacks up.

Solved looks like: every nudge carries a “not interested for now” option that moves the customer to a longer-cycle suppression list (12-month with an opt-back-in option). Service messages run on soft-opt-in; marketing on explicit consent only. Full audit of consent state per customer so the “why did you message me” question has a verifiable answer in the same screen the customer is in. PECR-clean by default, not as a retrofit when the ICO writes.

6. The dashboard tells you what’s at risk and what’s confirmed

The “did I do the November round” moment: Friday afternoon. The November CP12 round was supposed to start two weeks ago. You think you sent the first wave. You’re not sure. You’d check Xero but the round doesn’t show as invoices until the certs are issued.

Solved looks like: every recurring obligation by current state (booked, confirmed, at-risk, lapsed, recovered, terminated), sorted by ticket × probability × days-to-action. The November CP12 round shows 167 of 200 properties booked into the November diary, 22 confirmed for early-December, 11 with the access-coordination flag because the tenant hasn’t responded yet (the trainable AI agent is on it). The Worcester service-plan renewal cohort shows 18 of 24 confirmed for September-November, with the -90-day nudges accepted within a week; the 6 outstanding have the suggested re-engagement action queued. Total time on the dashboard: nine minutes. The round runs itself.


The at-risk dashboard - lapsed dental patient surfaced before the relationship is gone

How the cadence runs, by default

The default trade-shape annual cadence (boiler service plan, EICR five-year, plant-room PPM, grounds-maintenance contract) runs:

Per-vertical tuning lives on top - the dental six-month recall runs on a shorter cycle with a recall-week-batched dashboard, the vet annual booster runs against the patient’s vaccination history with the kennels-refuse-lapse flagged early, the gym at-risk cadence runs on attendance frequency rather than calendar date, the charity DD lifecycle runs on the mandate-failure event from the payment provider, the MTD-ITSA quarterly chases run on the regulator-clock with the client-records-due cadence running backward from the deadline.


Who this is for

The shape repeats across every UK SME with anything that should come back round.

Reactive trades and installers - gas engineers, plumbers, MCS installers, roofers, landscapers, decorators, EICR specialists. Sub-trade specifics: boiler-care service plans (10-year-guarantee with annual servicing), landlord-CP12 seasonal rounds (Nov-Dec batch on a 200-property book = a quarter’s revenue), MCS annual surveillance, plant-room PPM, commercial-maintenance rounds, grounds-maintenance contract renewals.

Independent garages - the MOT recall annuity. Every vehicle serviced has a known next-MOT date; the customer gets the recall cadence; the system books the slot, captures the cert, schedules the next year.

Clinics - dental (the six-month recall ladder), vet (annual booster and wellness-plan engine).

Gym, fitness and pet services - gym & fitness (lapsed-member retention), pet services (cash-to-DD conversion and weekly-walk recurring round).

Charities, tutors and nurseries, accountants - charities (regular-giver DD lifecycle with at-risk recovery), tutors and nurseries (term-fee + PAYG + sibling-discount + September enrolment surge), accountants (MTD-ITSA quarterly chase + engagement-letter annual refresh + AML re-check per risk tier).

Same engine; different recurrence; different conversion conversation; different lapse rule.


The closest thing we’ve already built

HC Electrical - live EICR recall annuity running across the agent-portfolio book. Cert filed → next-due date set five years out → renewal cadence at -90 / -60 / -30 / -7 days → cert renewed → cycle resets. Pre-build the annual recall on the book was around 40% conversion; the build is shaped around closing it to the 75-85% range the book actually supports. (Named pull-quote + final-£ outcome figures hold behind the permission checklist; see Hc Electrical for the build detail.)

RepairMinder - our own workshop-side software running at repair shops. The recurring-customer logic at the heart of an inbound-items business is the same shape; the per-customer recurring record is the spine.

mendbuddy is the multi-channel platform behind the customer-facing nudge cadence at -90 / -60 / -30 / -7 days - voice + SMS + WhatsApp + web chat, trained per business so the “your boiler service is due September 14th” lands in your voice.

planpost runs the marketing-cadence side for clinical practices, gyms, and charities - the regular-giver welcome cascade, the lapsed-member September re-engagement, the booster-season campaign for vet practices. Service messages on soft-opt-in; marketing on explicit consent only.


-90-day renewal proposal - drafted, signed off in fifteen seconds, sent in your voice

Tell us what your recurring book looks like

What you do, what your recurring book looks like (number of customers, modal cadence - annual / 6-month / monthly / weekly, what triggers a renewal), what your current recall process is (you and a spreadsheet, your front-desk, nobody, an existing tool that doesn’t quite work). Tell us the recurring customer relationship that’s most quietly lapsing in your business and we’ll come back with a sketch of what we’d build to catch the next one before it does. No demo, no calendar widget. Email reply, scoped sketch, you decide.


FAQ

Will it work with our existing system (Xero / Karbon / Dentally / Cliniko / RepairMinder / PayProp / Stripe / GoCardless)?

Yes for all of those. The recurrence engine reads customer-and-service records from your system of record (or, where there isn’t one, creates its own structured record), reads next-due dates from the integration where it exists, and writes cadence events back as tags. We integrate; we don’t replace.

What about the customer who wants to opt out - the dental patient who’s not coming back, the gym member who’s not re-joining?

The opt-out is one tap from the customer-side. Every nudge carries a “not interested for now” option that moves the customer to a longer-cycle suppression list (12-month + opt-back-in option). PECR-clean by default - explicit opt-in for marketing, soft-opt-in for service messages, full audit of consent state per customer.

Can the renewal-proposal at -90 days apply different rules for different customers?

That’s the default. Per-customer (or per-customer-segment) inflation rules - the 200-property letting agent indexed one way, the small-landlord customers a flat percentage, the long-relationship retainer customers no increase by default. The rule sits on the customer record; the proposal drafts against it.

What’s the at-risk detection actually doing - is it just “days since last visit”?

For some verticals yes, but most use a composite. A gym at-risk member is days-since-attendance ≥ X AND DD-status = active AND no opt-out flag. A charity at-risk donor is DD-mandate-status = cancelled OR last-payment-date > 35 days ago. A dental at-risk patient is recall-date-due AND no-booking-made AND no-opt-out. The rule is per-vertical-per-customer-type; we tune as we see your real lapse patterns.

Does it integrate with our payment providers for the DD failures and the one-tap renewals?

Yes - whichever provider you’re already on. DD failures fire the recovery flow the same hour the bank told the provider; one-tap renewals route the deposit or first payment to the right provider; recurring payments reconcile against the customer record. We don’t bring you onto a new payment stack.

Will it work for accountants doing MTD-ITSA quarterly chases - that’s a regulator clock, not a service-renewal cycle?

Yes - same engine, regulator-clock cadence. The MTD-ITSA quarterly deadline drives the records-due-from-client cadence; the engagement-letter annual refresh runs on the firm-anniversary cycle; the AML re-check on the per-client risk-tier cycle. Same engine, regulator-clock-shaped per cadence.

What happens when a customer terminates - do they fall out of the system?

They move to a terminated state with the historical record retained. After the configured retention window (usually 12-24 months, GDPR-aligned) the at-risk re-engagement cadence stops firing; the record retains for audit but doesn’t generate work. The reactivation route is one tap from your dashboard if the customer comes back.

Does this replace our diary / our CRM / our practice-management software?

No. It sits on top. The recurring-record engine talks to your existing diary (Tradify, ServiceM8, Dentally, Cliniko, Google Calendar, whatever) and your existing CRM if you’ve got one. The cadence runs in the gap those tools don’t fill - the per-customer recurring obligation, the renewal draft, the cadence, the lapse detection, the at-risk dashboard.

Tell us what's slowing the business down

Send an enquiry - what you do, what's slowing you down, what you've already tried. We'll come back with a sketch of what we'd build and what it would cost. No calendar, no demo to sit through.

No calendar widgets. Email reply, scoped sketch.

Tell us what's slowing the business down

Email reply, scoped sketch, you decide. No calendar widgets, no demo to sit through.

No calendar widgets. Email reply, scoped sketch.