In this article
The question
When a lead search finds no qualified companies, I keep the original brief beside the result. I need to see which part of that search produced the zero before I broaden the market or loosen a rule.
Broadening until a list appears can change the question I asked. A search for a company with a relevant project can become a search for any company hiring a familiar title. The second list may be useful, but I would judge it against its own brief.
My working rule is to make the next run answer one unresolved question. I want Mach to keep the source results, rejection reasons and unfinished work available so a seller can decide what needs changing. Research has to explain the result as well as produce it.
The list does not show what was missed
In an r/LeadGeneration discussion[1], u/Unlucky_Security9365 said the “biggest issue” was “you have no idea if you found everything.” They described finding irrelevant people while missing others they expected to see.
In the same thread, u/FreshProspects[2] said Boolean search “seems to cut out people who would be genuine leads.” These are users’ reported experiences with another product. They are not verified tests of its current behavior or proof that their searches returned nothing.
That completeness concern is what I want an empty-search review to address. A final list cannot tell me whether there were no candidates, a filter excluded them or part of the search failed. I need the work behind the count.
Keep the original question visible
Imagine a software-services team searching for companies that need help with data integration. This example is fictional. The search checks job ads, public posts and news, then returns no companies ready to contact.
The job search might have returned no ads. It might have returned many permanent roles while the seller offers project services. News might have identified companies outside the chosen countries. A source might have failed, or the model might have stopped before trying it.
I would make a different decision in each case. A failed source needs investigation. The wrong kind of work may call for different terms. Relevant companies with no reachable people need a separate ownership search.
If the team decides to include another country or a different kind of project, I would save that as a changed brief. Then the next result has an honest comparison point. Otherwise the team can spend more and get a list while losing track of what the first search was meant to find.
| What the run shows | What to inspect first | A possible next step |
|---|---|---|
| No source results | Query, source availability and time window | Retry the failed source or check the query |
| Many results, none kept | A sample of rejected records and their reasons | Correct a misleading filter if the evidence supports it |
| Companies found, people missing | Company identity and contact sources | Research ownership separately |
| Run stopped early | Tool failures, limits and untried sources | Resolve the interruption before judging coverage |
Four things I want from the report
For each source, I want to be able to answer:
Step 1: What did it return?
Step 2: What was new to the team?
Step 3: What was kept or set aside, and why?
Step 4: What did the search spend or fail to finish?
Open examples from the largest rejection group before changing a filter. If results were labeled as companies selling the same work, I need to know whether they are competitors or might also buy that service. If the search finds permanent roles, I need to check whether the offer includes permanent hiring.
I would also review results that passed. A dated event at a real company can still have a weak connection to the offer. An explanation earns its place when another seller can check it against the source.
This is where a readable ranking matters to me. I need to understand which observation changed the decision. A score without that trail gives me little help deciding what to change next.
Zero kept can have several explanations
One Mach report test makes the distinction concrete. It constructs 21 rejected posts: 11 labeled “seller” and 10 labeled “not an ask.” The assertions expect a warning that nothing was kept. They do not expect a warning about one dominant reason, because neither reason reaches the rule’s 80% threshold.
The same test changes the split to 18 and 3. Now one reason accounts for enough of the group to trigger the second check too. These are constructed test inputs; the editorial review did not execute the test.
My read is that those two cases deserve different reviews. In the first, I would inspect several explanations. In the second, I would start with the dominant reason. In both, I still need to decide whether the labels describe the records correctly.
Reviewing rejected candidates can reveal false negatives: relevant companies a rule set aside. Google’s guide to precision and recall[3] explains that distinction. A manual sample can expose a problem, but I would not call it a complete recall measurement without knowing the full set of relevant companies.
What Mach’s report can flag
The inspected report groups graded leads by source, shows drop reasons and reports spending. Its fixed checks include a group with at least 5 graded results and none kept, one reason covering at least 80% of a group, and a tool returning empty results or problems on at least half of 4 or more calls.
Those checks can point a reviewer toward a source or repeated reason. They cannot establish that the source is bad or the rejection was wrong.
The report can also flag a run that stopped with much of its data budget unspent. A separate model-cap check applies to runs with that kind of cap; scout-team runs using a combined budget do not use it. I want those execution limits beside the result before I draw a conclusion about the market.
Give the next run a job
Before spending on another search, I want a written question for the next run to resolve.
If a source failed, the next job may be to establish whether it can return usable evidence. If the sources work but the terms find the wrong work, the next job may be to test a more specific phrase. If the examples fit but are old, the question is whether an older event could still support a relevant approach.
I would keep the offer and audience stable where possible and record the change. If I choose to change the audience, I want that decision visible too.
The companion piece on testing a lead-search instruction shows how I would compare that change. The Mach AI SDR pilot scorecard puts review effort, costs and later outcomes in a broader evaluation.
How this post was made: AI assisted the research and drafting. Quotes were checked against retrieved public records, and implementation details against a source snapshot dated 5 November 2026. The source review covered code and public writing; live searches and customer outcomes were outside its scope.
What would you need to learn from an empty search before changing the brief?
Common questions
Should I loosen the criteria after a search finds no leads?
Check why it found none first. A failed source needs a different response from a rule that correctly excludes irrelevant work. Review rejected examples and change a criterion only when those examples support the change.
Does a zero-result run mean the market is too small?
Market size is one possible explanation. The result also depends on source coverage, the query, the time window, filters and completed work. Record those limits before drawing a conclusion about the market.
Which numbers should I inspect first?
Separate source results, new candidates, reviewed candidates and accepted leads. Then inspect errors, stopping conditions and spend. A zero at each stage points to a different part of the search.
What is the difference between no results and no qualified leads?
No source results means a query returned nothing. No qualified leads can mean the source returned many candidates and the review rejected them all. The second case needs evidence about the candidates and their rejection reasons.
How can I check whether the search missed good companies?
Manually inspect a varied sample of rejected records and search independently for a few companies you expect to find. This can reveal a filter or coverage problem. It cannot measure complete recall unless you know the full set of relevant companies.
Should I repeat a run that reached its budget limit?
Inspect which sources ran and where the money went before repeating it. A retry of the same instructions may reproduce the same gap. Change the limit, query or source only after identifying what the next run needs to resolve.
Can an empty search still produce a useful next decision?
Yes. It can reveal an unavailable source, an overly narrow filter, stale evidence or a mismatch between the work found and the offer. Record the explanation and one change to test. Keep “nothing qualified in this search” separate from a claim that no buyers exist.
Sources and further reading
- Uncertainty about search completenessu/Unlucky_Security9365, r/LeadGenerationBack to text
- Reported Boolean-search omissionsu/FreshProspects, r/LeadGenerationBack to text
- Classification: Accuracy, recall, precision, and related metricsGoogle for DevelopersBack to text



