Skip to content
All articles

ENGINEERING8 MIN READ

A PQL Scoring Model You Can Ship in a Day

In short: A PQL score doesn't need machine learning. Combine a firmographic fit score (0-50 points, from company data) with a usage score (0-50 points, from product events) into a single 100-point scale, set routing bands, and re-tune every 30 to 60 days against real conversions.

Most PLG teams treat PQL scoring like it needs a data science team and a quarter of runway. It doesn't. It needs a spreadsheet, eight to ten signals, and an afternoon. The model that gets you 80% of the value is a weighted point system you can build today and tune next month.

Here's the version that actually works.

The mistake: scoring usage alone

A PQL score built only on product usage has a blind spot. A university student running your analytics tool five hours a day looks identical, behaviorally, to a VP at a 400-person company doing the same thing. One of them will never buy anything. This is the "power user with no budget" problem, and it's the single most common reason PQL scores misfire: they measure engagement without measuring whether the account could ever become a customer.

The fix isn't complicated. Score two things separately, then combine them: fit (does this account match your ICP) and usage (are they getting value from the product). A account that scores high on both is a real PQL. High usage with low fit is a power user, not a lead. High fit with low usage just signed up and hasn't done anything yet. Different problems, different treatment, and a single blended score hides the difference.

Building the fit score

Fit comes from firmographic data: company size, industry, funding stage. Pull it once at signup (this is exactly what company enrichment is for) and keep it static; it doesn't change day to day the way usage does.

Keep it to four or five signals. More than that and the model gets noisy without getting more accurate.

SignalPointsWhy it counts
Employee count in your ICP range20The single strongest fit predictor for most B2B tools
Industry matches your ICP list15Filters out accounts that will never need the product
Company has raised funding (seed through Series C, or your equivalent)10Proxy for budget authority and growth stage
Domain isn't a free consumer email provider5Cheap signal, catches personal-project signups early

That's 50 points max for fit. Adjust the point values to match what actually predicts conversion for your product, not what predicts it for someone else's.

Building the usage score

Usage comes from product events, and it should weight the actions that are hardest to fake and closest to real value.

SignalPointsWhy it counts
Hit the free-tier limit20Direct signal they're getting enough value to run into a wall
Invited a teammate or created a second API key15Multi-user adoption is the strongest expansion signal in B2B
Active 3+ days in the first week10Consistency beats a single burst of activity
Visited the pricing page5Closest behavioral signal to buying intent

Also 50 points max. Combined with fit, that's a 100-point scale, which makes the bands below easy to reason about without a lookup table.

If your product has an obvious category-specific signal, weight it in. Collaboration tools should weight team invites more heavily since single-user adoption rarely turns into an enterprise deal. Data and integration products should weight connected integrations, since a data tool with no integrations is providing limited value regardless of how often someone logs in.

Setting the routing bands

A score means nothing until it triggers an action. Here's a starting set of bands:

ScoreBandAction
0-29Not yetSelf-serve only, no outreach
30-59WarmAdd to a lifecycle email sequence
60-79PQLIn-app nudge, or a lightweight async check-in
80-100Hot PQLDirect outreach, same-day if you can manage it

These numbers are a starting point, not a target to hit. Set them, run them for 30 to 60 days, then compare which bands actually converted and adjust. A model that never gets revisited after launch is a worse guess than the one you started with, because it accumulates false confidence instead of accuracy.

Shipping it

You don't need a scoring platform to start. A weighted sum is a weighted sum whether it runs in a spreadsheet or a script. Here's the whole model as code, using EnrichLoops for the fit half and your own event data for the usage half:

javascript
async function scorePQL(domain, usageEvents) {
  const company = await fetch('https://api.enrichloops.com/v1/company', {
    method: 'POST',
    headers: { Authorization: `Bearer ${process.env.ENRICHLOOPS_API_KEY}` },
    body: JSON.stringify({ domain })
  }).then(r => r.json());

  let fit = 0;
  if (company.employee_count >= 11 && company.employee_count <= 500) fit += 20;
  if (icpIndustries.includes(company.industry)) fit += 15;
  if (company.funding_stage && company.funding_stage !== 'bootstrapped') fit += 10;
  if (!freeEmailDomains.includes(domain)) fit += 5;

  let usage = 0;
  if (usageEvents.hitFreeTierLimit) usage += 20;
  if (usageEvents.invitedTeammate) usage += 15;
  if (usageEvents.activeDaysThisWeek >= 3) usage += 10;
  if (usageEvents.visitedPricingPage) usage += 5;

  return { fit, usage, total: fit + usage };
}

Run this on signup for the fit half (one API call, cached against the domain), and on a nightly job or event trigger for the usage half. You don't need real-time scoring for a v1. Daily is fine.

Checklist

  • Pick four or five fit signals and four or five usage signals. Stop there for version one.
  • Assign point values based on what you believe predicts conversion, not what feels comprehensive.
  • Set routing bands and connect each one to an actual action, not just a label in a dashboard.
  • Ship it, even with your best-guess weights. A live model beats a perfect model still in a spec doc.
  • After 30-60 days, pull which bands actually converted and which signals showed up in every conversion versus none of them. Drop the signals that aren't predictive. Reweight the ones that are.

FAQ

What is a PQL scoring model?

A PQL (product qualified lead) scoring model is a weighted point system that combines firmographic fit (does the account match your ICP) with product usage (are they getting real value) into a single score used to route leads.

How many signals should a PQL scoring model use?

Stick to four or five fit signals and four or five usage signals for a first version. More than eight to ten signals total tends to make the model noisier without making it more accurate.

What's the difference between fit and usage in PQL scoring?

Fit measures whether an account could ever become a customer: company size, industry, funding stage. Usage measures whether they're actually getting value from the product right now. A high score on only one of the two isn't a real PQL.

How often should a PQL scoring model be re-tuned?

Review it every 30 to 60 days against actual conversion outcomes, drop signals that aren't predictive, and reweight the ones that are.

Where EnrichLoops fits

The fit half of this model needs firmographic data on every signup, not just the ones that already look promising. EnrichLoops covers exactly that: employee count, industry, location, on the free tier at 100 enrichments a month, self-serve with no sales call. The usage half is already sitting in your own product analytics. Combine them and you have a working PQL model before the end of the day.

Keep reading.

02 MORE ARTICLES

Make a little data
go a long way.

Get your API key and put enrichment to work. Start with 100 free credits a month. No card. No sales call.

Get your free API key