Client caseConstruction · turnkey apartment renovation

How we pulled 584 qualified leads out of a dead database

A CRM audit, segmentation of 22,297 records, a win-back script for each segment and calls by a voice AI agent. The sales team did not make a single call to the archive.

Project overview

Industry
Turnkey apartment renovation
CRM
Bitrix24
Task
Reactivating lost deals
Tool
Voice AI agent
calls made by the agent
26,700
conversations with a live person
20,000
qualified leads passed to reps
584
calls made by reps
0

Context

Where it started

The company's Bitrix24 had a stage called “Rejected by head of sales”: every deal reps had ever closed as a poor fit. Over the years it collected more than 22,000 records: people who sent an inquiry, talked to a rep and did not buy.

Reps never touched this database. They work inbound leads, and digging through an archive of lost deals is slow, dull and it is unclear where to start. The database just sat there.

Stage 1 · 5–7 daysFoundation

CRM audit

We signed an NDA, got access to Bitrix24 and went through the database record by record

Calling 22,000 contacts blind is expensive and pointless. First you need to know who is in there, why they dropped off and who can still be reached. The audit report came in 11 sections.

  • 1 · Summary
  • 2 · Database map
  • 3 · Data quality
  • 4 · Lifecycle
  • 5 · Compliance
  • 6 · Segments
  • 7 · Loss reasons
  • 8 · Who they are
  • 9 · Economics
  • 10 · Work plan
  • 11 · Long-term work

What we found in the database

  • 4,092Leads never contacted18% of the database. The inquiry came in, and nobody ever reached out.
  • 1,703Duplicate records1,504 numbers appear more than once. Without cleanup, customers would get two calls.
  • 60%Contacts with no loss reasonThe rep closed the deal without saying why. Segmenting that by hand is impossible.
  • 7,963Leads with an unknown source36% of the database: no record of where the person came from or what they were promised.
  • 1,868Real estate agents in the databaseThey do not need a renovation, but they are a ready referral channel. Moved to a separate segment.
  • 21,624Numbers fit for calling97% of the database. The rest were broken or nonexistent numbers, filtered out right away.

We also checked where each lead came from. Every record got an origin tag: 4,427 with a traceable source, 17,113 needing review and 757 with signs of hijacked traffic. The last group was excluded from calling until cleared, since calling them was a risk for the client.

Stage 2 · 2–3 daysAnalysis

Database segmentation

AI read every rep comment and sorted the database by the real reason for the loss

The main obstacle: reps write loss reasons however they like. The same “not considering a purchase” showed up in 49 different wordings. You cannot merge that by hand; it takes reading free text by meaning, not by exact match.

Loss reasonContactsWordings
Not interestedThe most common and least informative reason1,04912
Not considering a purchaseThe record holder for inconsistent wording45749
Agent / real estateNot a fit for renovation sales, but a fit for referrals1,208—
No answerThe rep could not reach them and closed the record4054
Already boughtRenovation done: candidates for repeat work, not a first sale34211

Final calling segments

SegmentTotalTo callForecast qualified leads
Rejected by head of salesThe main block: deals closed by the head of sales19,74719,161624
Never reachedNobody ever spoke to them: the highest qualification rate68266140
Real estate agentsExcluded from sales calls: a separate referral script1,8681,8020

The revenue forecast was not a guess. We ran 10,000 simulation iterations on segment conversion rates: pessimistic $70K, median $140K, optimistic $260K. The client had a range of expectations before the first call.

Stage 3 · 7–10 daysPreparation

Win-back scripts

Five calling waves, each with its own reason to call and its own qualification logic

Calling everyone the same way is a sure way to burn the database. A person who said “too expensive” three years ago and a buyer whose new building is handed over next month need different reasons to talk. Each wave was worked out with the client's head of sales: opening, offer, objection handling and the criteria for passing a lead to a rep.

  1. 01

    Owners and pre-construction buyers

    2,943 contacts

    Top priority. They own the property; the only question is timing. The agent checks the construction stage and handover date and puts first the people with keys in hand or handover in the coming months.

  2. 02

    Came in on their own

    1,750 contacts

    These people once sent an inquiry themselves, so the interest was real. The opener goes back to that first request: is the project still on, what has changed, are they ready for an estimate.

  3. 03

    Current clients

    1,281 contacts

    Already bought. The warmest audience: repeat work, other properties, referrals. A separate, very soft script.

  4. 04

    Partner leads

    5,596 contacts

    The largest block. They came from partners, and quality varies. The agent's job is to update: is the contact live, is a renovation needed, what is the status of the property.

  5. 05

    Real estate agents

    1,802 contacts

    No renovation pitch. A separate partnership script: the agent offers a referral fee for recommending the contractor to their clients.

Stage 4 · CallingResult

Calling funnel

Calls from AXIS telephony, with automatic retries on no-answers

  1. Calls made

    Including retries on no-answers

    26,700100%
  2. Connected

    Including answering machines and voicemail

    23,10086.5%
  3. Conversations with a live person

    A real conversation, not rings or voicemail

    20,00074.9%
  4. Passed to reps

    Qualified leads with confirmed interest

    5842.9%

2.9% of completed conversations · 2.2% of all calls made · one in every 34 conversations ended with a lead passed to sales

What the 584 leads are made of

  • Hot

    131

    A direct request here and now. The person says they need a renovation; all that is left is a site visit and an estimate.

    Conversion from conversation: 0.66%

  • Warm

    453

    Planning a renovation in the near future and ready for an estimate. They need more touches, but the interest is confirmed by voice.

    Conversion from conversation: 2.27%

Nothing else was lost either. The agent gave every record a current status: who already renovated, who does not own the property, who asked not to be called again, who changed numbers. An archive of lost deals became a tagged asset, and the next round of calls will cost a fraction because dead contacts are already filtered out.

Check

Audit forecast vs actual

Before the first call, the audit gave the client a concrete number: 644 qualified leads in the median scenario. Not a marketing promise, but a calculation from segment conversion rates.

Forecast before launch
644
Median of 10,000 simulation iterations
Actual after calling
584
Qualified leads passed to reps

The forecast came 91% true. For the client this means the audit numbers are a planning tool: you can know in advance how many leads will come in and whether the sales team can handle the load.

Outcome

What the client got

Qualified leads with reps, interest confirmed by voice
584
Hot requests: people who need a renovation right now
131
Records tagged: the archive became a working asset
22,297

The main point

The sales team did not make a single call to the archive. They kept working inbound leads while the records of people who had already said “yes, I need an estimate” landed in their pipeline.

A database that sat for years in the “Rejected by head of sales” stage produced 584 new conversations about renovation, without a dollar spent on ads.

Let's see what is sitting in your database

Send a request

We reply within one business day.