Back to Intel Index

Reactivating the Dead Customer Database

Service companies spend thousands of dollars on Google Ads and local SEO to capture new leads. Once the job is done, these customers are often forgotten. They sit in a database for years, receiving no communication unless they happen to call again. This is a massive waste of an acquired asset. Your customer database is a compounding source of margin, yet most owners leave it completely inactive.

The Economics of Retention vs. Acquisition

Research from Bain & Company shows that acquiring a new customer is five to twenty-five times more expensive than retaining an existing one. Furthermore, a 5% increase in customer retention can boost business profits by 25% to 95%. Existing customers already trust your brand, know your service quality, and are much easier to schedule. Yet, marketing budgets are almost entirely weighted toward customer acquisition cost (CAC) rather than customer lifetime value (LTV).

Reactivating the Dead Customer Database

A dead database is an unpaid marketing bill. You paid to acquire those contacts; leaving them uncontacted is throwing away profit margin.

Writing a Database Scanning Script

Reactivation requires target-segment queries. Below is a sample PostgreSQL query illustrating how to scan a customer database for clients who have booked in the past, have not scheduled a service in the last 12 months, and do not have an upcoming appointment scheduled. This prevents spamming active users:

SELECT c.id, c.first_name, c.phone, MAX(b.scheduled_time) as last_booking
FROM customers c
JOIN service_bookings b ON b.customer_id = c.id
WHERE c.id NOT IN (
  SELECT DISTINCT customer_id 
  FROM service_bookings 
  WHERE scheduled_time >= NOW()
)
GROUP BY c.id, c.first_name, c.phone
HAVING MAX(b.scheduled_time) <= NOW() - INTERVAL '12 months';

The campaign was sent in staggered batches of 150 texts per day to prevent the office from being overwhelmed. The result: the campaign generated 84 bookings and $45,200 in gross revenue within two weeks. The total cost of the SMS sends was less than $60. The business was able to pause their Google Ads for a month while their schedule remained fully booked.

What we build for this

More on owning the customer record

What lock-in actually consists of, and why the customer record is the asset that outlives every tool. Start at the owning the customer record guide.