River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Lead Disqualification and Recycle Pack

Send your disqualified lead export and notes, get reason codes derived from what reps wrote and a timer set for each one.

Free download  ·  No account needed

Reason Codes

Thornecroft Software, a fictional B2B SaaS company. 500 leads, all logged with the same generic "Disqualified" status until the note field got read.

Reason (from the note)LeadsCategory
Bad timing, not a priority right now145Recyclable
Budget cycle, next fiscal year98Recyclable
Evaluating a competitor61Recyclable
No response after multiple attempts84Recyclable
Wrong ICP: too small or no budget authority67Permanent
Invalid contact or spam45Permanent
Recyclable total38877.6% of the book

Six reason codes came out of notes that all sat behind one generic status. Only the last two are permanent; the other four earn a timer.

Recycle Queue

Every recyclable reason gets its own wait period, not one shared number.

ReasonTimerPast timer nowStill waiting
No response after multiple attempts45 days68 of 8416
Bad timing, not a priority right now90 days79 of 14566
Budget cycle, next fiscal year120 days33 of 9865
Evaluating a competitor270 days4 of 6157
Total resurfaced now-184204

A shorter timer clears faster: 81% of no-response leads are already due versus 7% of competitor losses, exactly as the different causes predict.

Reactivation Log

What happened to the 184 leads the queue already resurfaced to a rep.

OutcomeLeadsShare of resurfaced
No response13875.0%
Responded, no opportunity3016.3%
Converted to a new open opportunity168.7%

16 new opportunities averaging $34,000 each, $544,000 in pipeline a blanket "disqualified means gone" status leaves at exactly zero.

Most CRMs require exactly one thing when a lead gets disqualified: a status. "Disqualified" covers everything from a rep noting "check back next quarter" to one noting "too small, never a fit," and once that status is set, both get treated identically: gone. Most B2B buyers who are not ready today will be ready within 12 to 18 months, and treating a disqualification as permanent is an expensive mistake. The real reason already exists, sitting in whatever note a rep typed next to that status.

This pack reads those notes first. Every disqualified lead's freeform text gets clustered into a small set of reason codes, and each one is marked recyclable, a cause that plausibly changes on its own, or permanent, one that will not. Only the recyclable ones earn a timer. Each timer is set to that specific reason's own likely change window rather than to one company-wide number: a timing objection clears in weeks, a budget objection waits for a fiscal year, a competitive loss waits for a renewal.

On a worked run for Thornecroft Software, a B2B SaaS company, 500 disqualified leads sorted into six reason codes, and 388 of them, 77.6% of the book, were recyclable. Of the 184 already past their own timer and resurfaced to a rep, 16 converted into a new open opportunity worth $544,000 combined, pipeline a blanket "disqualified" status would have left at zero. It pairs with the account assignment register a resurfaced lead's new opportunity ultimately lands against.

What's in the pack

01

Reason Codes

Every disqualified lead's freeform note clustered into a consistent set of codes, each marked recyclable or permanent.

02

Disqualification Criteria

The minimum bar for each reason code to apply, so a rep's judgment call is checked against a written standard.

03

Recycle Policy

The timer set per recyclable reason, with the reasoning behind each number, plus what happens the moment a lead resurfaces.

04

Recycle Queue

Every recyclable lead's own timer computed against today, split into already due and still waiting.

05

Reactivation Log

What happened to every resurfaced lead, response or not, rolled up by reason code rather than one blended rate.

06

Reason Trend

Each reason code's share of the book compared across periods, so a rising cause gets flagged by name.

07

Recycle timer automation

The timer that watches every recyclable lead and surfaces it to a rep the moment its own wait period elapses.

How to use it

  1. 1

    Send the disqualified lead export

    Every disqualified lead with whatever note or reason text exists next to it, even if it's informal.

  2. 2

    Derive reason codes and set timers

    The actual note language clustered into codes, each marked recyclable or permanent, with a timer set per recyclable reason.

  3. 3

    Build the recycle queue

    Every recyclable lead's timer computed against today, so a rep sees exactly which leads are due now.

  4. 4

    Log outcomes and track trend

    Every resurfaced lead's outcome recorded by reason code, and each code's share of the book tracked over time.

Frequently asked questions

How is this different from just setting a "review again in 90 days" reminder?

A single reminder treats every disqualified lead identically regardless of why it was disqualified. On the worked example, a no-response lead is typically worth checking again in 45 days, a competitive loss in 270. A shared 90-day rule would recycle one too early and sit on the other for months past when it mattered.

What if our CRM has no note field, just a status?

Check wherever reps actually write things down: a call log, an email thread, a Slack channel. The reason rarely disappears entirely, it just isn't in the field built to hold it. If genuinely nothing exists, the pack starts by getting a note field into the disqualification workflow going forward.

Won't reps resent leads they already disqualified coming back?

Only if the lead comes back with no context. Every resurfaced lead carries its original reason and disqualification date forward, so the rep knows immediately whether the opening line is about timing, budget, or a named competitor, rather than starting the conversation cold a second time.

How many times should a lead get recycled before it's permanent?

Two attempts under the same reason code is the default this pack uses. A third attempt at the identical objection usually means the reason code itself was wrong, not that the lead deserves a third timer, and it should be re-diagnosed rather than resurfaced again on the same clock.

Does this replace our lead scoring or routing rules?

No. Lead scoring and routing both apply before a lead is ever disqualified. This pack governs what happens after a rep decides a lead isn't ready, which is a separate, later decision neither one makes.

What if a reason code is growing every quarter?

That's Reason Trend's job to catch, and it points outside the recycle process itself. A rising "evaluating a competitor" share is a pricing or positioning signal for someone in product or competitive intelligence, not something a longer or shorter timer can fix on its own.

Find out how many of your disqualified leads are actually recoverable

Send your disqualified lead export and notes. The first thing back is a reason code for every one of them.

Build my reason codes