Stop Paying for Leads. Start Predicting Them. Here's the Exact Workflow.13

Stop Paying for Leads. Start Predicting Them. Here's the Exact Workflow.13

Stop Paying for Leads. Start Predicting Them.

The Hidden Cost of Buying Lists

Most B2B sales teams treat lead generation like a utility. You pay a monthly fee, a vendor delivers a CSV file, and sales reps start dialing. Simple, predictable, and expensive. The average company spends $4,000 to $6,000 per month on lead generation tools, yet only 20% to 30% of those leads are actually qualified. The rest go into the CRM as "unworked" or "no response," and the budget keeps growing.


The problem is not that the leads are bad. The problem is that you are paying for a snapshot in time. By the time the vendor scrapes a company's website, checks their employee count, and matches them to your ICP, that company may have just hired a new CTO, lost a key client, or signed a contract with your competitor. You are paying for yesterday's data and hoping it's still relevant today.


Predictive lead scoring flips this model. Instead of buying a list of companies that "look like" your customers, you build a system that predicts which companies are most likely to buy, when they will buy, and what they will need. You stop paying for volume and start paying for accuracy. The workflow below is the exact system I use to build this, and it requires no data science degree. If you can use a spreadsheet and a basic LLM API, you can implement it.

The Three-Layer Prediction Stack

Most teams skip straight to an ML model. That's overkill for 90% of companies. The workflow I recommend is a three-layer stack, and each layer adds accuracy without adding complexity.


Layer 1: The Deterministic Filter. This is your ICP, but made precise. Not "companies in the fintech sector with 50 to 200 employees," but a set of boolean conditions that can be evaluated programmatically. For example: company is in the "B2B SaaS" vertical, has between 50 and 200 employees, uses Salesforce or HubSpot as their CRM, has at least 3 engineers on LinkedIn, and is not already a customer of your top 3 competitors. This layer is simple, fast, and free. You can build it with a spreadsheet or a basic script. It eliminates 60% to 70% of the noise before you even spend money on data enrichment.


Layer 2: The Enrichment Layer. This is where you spend money, but only on the companies that passed Layer 1. You pull in additional data points that are expensive to get but cheap to use: recent job postings, funding announcements, tech stack changes, website traffic trends, and executive hiring patterns. The key insight is that you are only paying to enrich the 30% of companies that are already likely to be interested. If your deterministic filter narrows 10,000 companies down to 3,000, your enrichment cost drops by two-thirds.


Layer 3: The Prediction Layer. This is where the LLM or a simple scoring model comes in. You feed the enriched data into a model that outputs a single number: a probability that this company will request a demo in the next 30 days. This number is not a guess. It is a weighted combination of signals, and you can explain every component of it to your sales team.

Building the Deterministic Filter

The most common mistake in this layer is being too broad. If your ICP says "mid-market SaaS companies," you're going to include companies that are too early-stage, too late-stage, or in a sub-vertical that doesn't match your product. The filter needs to be tight enough that every company in the output list would be a reasonable fit for your product.


A practical way to build this is to take your top 20 customers and list the 5 to 7 attributes they all share. Not the attributes they individually have, but the attributes they all share. If 18 of your top 20 customers use a specific CRM, use that as a filter. If 15 of them are in the "B2B" sub-vertical, use that. You are looking for the intersection, not the union.


You can implement this in a simple script that queries a company database and returns only the companies that match all conditions. The output is a list of company names, and that's all you need for this layer. No scoring, no probabilities. Just a yes/no filter.

The Enrichment Strategy

This is the layer where most teams over-engineer. They want to pull in 50 different data points per company. You only need 8 to 12, and they should be chosen for their predictive power, not their availability.


The signals that matter most for B2B SaaS are:

  • Job postings. A company that is hiring 5 engineers and 2 product managers is in a growth phase. A company that is hiring a single data analyst is in a maintenance phase. The ratio of engineering to non-engineering roles is a strong signal of where they are in their product lifecycle.

  • Funding events. A company that raised a Series B in the last 6 months is in a spend mode. They just got money and need to deploy it. A company that raised 18 months ago is in a conserve mode. They are being more selective with new vendors.

  • Tech stack changes. If a company added a new analytics tool or a new CRM, they are in a "tooling refresh" phase. They are more open to new vendors. If they removed a tool, they might be consolidating, which means they are less open.

  • Executive hiring. A new CTO or VP of Engineering is a strong signal that the company is in a strategic planning phase. They are evaluating tools for the next 12 months. A new CMO is a signal that they are focusing on growth, which means they are evaluating marketing and sales tools.

  • Website traffic trends. A 30% increase in website traffic over the last 3 months suggests the company is in a growth phase. A 20% decrease suggests they might be struggling, which means they are more likely to look for cost-saving solutions.

  • Customer count growth. If you can get this data from a CRM vendor or a public source, it's a direct signal of how the company is doing.

  • Employee count trend. A company that grew from 100 to 150 employees in 6 months is in a different buying phase than one that stayed at 100.

  • Location and timezone. This affects when you should reach out. A company in San Francisco is in a different buying cycle than one in Mumbai.

You don't need to have all of these for every company. You need to have 5 to 8 of them, and the model will fill in the gaps.

The Prediction Model

You don't need a complex ML model. A simple weighted scoring system works well for most companies. Here's the formula:


$$P = \sum_{i=1}^{n} w_i \cdot s_i$$


Where $P$ is the final score (0 to 1), $w_i$ is the weight for signal $i$, and $s_i$ is the normalized signal value (0 to 1).


The weights should be based on how predictive each signal is for your specific product. If job postings are the strongest signal for your product, give it a weight of 0.3. If funding events are the second strongest, give it a weight of 0.2. And so on. The weights should sum to 1.


You can calibrate these weights by looking at your historical data. Take the 20 customers you closed in the last 12 months and the 20 prospects you didn't close. For each signal, compare the average value for the closed customers versus the non-closed prospects. The signals with the largest gap are your strongest predictors.


For example, if closed customers have an average of 12 job postings per month and non-closed prospects have an average of 4, that's a strong signal. If closed customers have an average website traffic growth of 25% and non-closed prospects have 5%, that's a moderate signal. You can use these gaps to set your weights.

The LLM as a Signal Interpreter

This is where the LLM adds real value. You don't use the LLM to generate the score. You use it to interpret the signals.


Here's a practical workflow:

  1. You have a list of 3,000 companies from the deterministic filter.

  2. You enrich the top 1,000 companies with the 8 to 12 signals above.

  3. You feed each company's signal data into an LLM with a prompt like:


    "Given the following signals for Company X, write a 2-sentence summary of why this company is a good or bad fit for our product. Focus on the 2 to 3 most predictive signals."

  4. The LLM outputs something like: "Company X is a strong fit because they are hiring 8 engineers, which suggests they are in a growth phase. They also just raised a Series B, which means they have budget to deploy new tools."

  5. You use this summary as a "narrative score" that your sales team can read and understand. The sales rep doesn't need to understand the weights or the formula. They just need to understand why this company is a good fit.

This is more useful than a single number because it gives the sales rep a reason to believe in the lead. When a sales rep has a reason, they work the lead harder. When they have a number, they work the lead the same way as every other number.

The Output: A Daily Digest

The final output of this workflow is a daily digest that goes to your sales team. It should include:

  • Top 10 leads for the day. These are the companies with the highest prediction scores.

  • A 2-sentence reason for each lead. This is the LLM-generated narrative.

  • The 3 most predictive signals for each lead. This is the data behind the narrative.

  • A recommended next step. For example: "Reach out to the CTO, who was hired 3 months ago. They are likely evaluating new tools."

  • A confidence level. High, medium, or low. This is based on the score and the number of signals available.

The sales team doesn't need to understand the model. They need to understand the leads. The model is the engine, and the digest is the car.

The Economics

Let's do the math. A typical B2B SaaS company spends $5,000 per month on lead generation. That's $60,000 per year. If you can improve the quality of leads by 30%, you get 30% more demos, 30% more opportunities, and 30% more closed deals. If your average deal size is $10,000, that's $18,000 in additional revenue per year. That's a 30% return on a $60,000 spend, which is a 50% ROI.


But the real savings come from not paying for the leads you don't need. If you narrow your list from 10,000 companies to 3,000, you save 70% of your enrichment costs. If your enrichment cost is $1 per company, that's $7,000 per month in savings. Combined with the additional revenue, the total return is over 60% per year.

The Iteration Loop

This workflow is not a one-time project. It's a system that you iterate on every month. Every month, you look at the leads that were in the top 10 and the leads that were in the bottom 10. You compare the signals for the top 10 leads and the bottom 10 leads. You adjust the weights. You add or remove signals. You refine the deterministic filter.


After 3 months, your model is 2 to 3 times more accurate than the vendor's list. After 6 months, it's 4 to 5 times more accurate. And you're not paying a vendor for it. You're paying for data enrichment and an LLM API, which costs a fraction of what a lead generation tool costs.


The workflow is simple. The filter is simple. The enrichment is simple. The model is simple. The output is simple. But the combination of all of them is powerful, and it gives you a system that gets better every month without you having to spend more money.


That's the difference between paying for leads and predicting them. One is a cost center. The other is an asset.