Building a Lead Scoring Model That Predicts Revenue, Not Just Activity
By Anindo Neel Dutta

Your lead scoring model is probably lying to you.
Someone opens an email: +5. Hits the pricing page: +10. Downloads a whitepaper: +15. The number climbs, crosses your MQL threshold, Slack lights up for sales, and the "lead" is a student writing a thesis, a freelancer who will never buy, or a competitor mapping your funnel.
That's activity scoring. It measures who is busy with your content. It does not measure who is likely to pay you.
Sales notices. After enough junk MQLs, they stop trusting the queue. Once that trust is gone, no amount of "alignment meetings" brings it back. You end up with marketing celebrating lead volume while revenue stays flat. That's the classic growth-stage failure mode.
Activity scoring vs. predictive scoring
Activity scoring rewards behavior. Predictive scoring weights behavior by how often it showed up before someone actually bought.
Same pricing-page visit. Two very different leads:
- A VP of Ops at a 200-person SaaS company
- A Gmail address with no company attached
One of those deserves a same-day call. The other belongs in nurture until Clay or Apollo can tell you whether they even fit your ICP.
Firmographics (company size, industry, revenue band, geography, title) aren't nice-to-haves. They're the multiplier on every behavioral signal. Without them, you're ranking engagement, not opportunity.
Build it from your CRM (no data science required)
If your attribution and firmographic fields aren't a total mess, the answers are already sitting in HubSpot or Zoho.
- Pull every closed-won deal from the last 18 months.
- For each one, note lead source, company size, title, and the behaviors present when the lead was created, not at close. Close-time data is contaminated by months of sales activity.
- Pull every lead that hit MQL but never became SQL or a customer.
- Put both groups side by side. What shows up more often in the won column?
You don't need ML for this. A cross-tab in Google Sheets will usually surface three to five attributes that actually predict revenue in your business, not a generic SaaS playbook.
Those attributes become your weights. Everything else is noise dressed up as sophistication.
Two tiers, not one magic number
A single score that mixes "opened three emails" with "works at a Series B fintech" is how junk gets into the sales queue.
Split it:
Tier 1: ICP Fit. Company size, industry, geography, title. Scored once at lead creation from firmographic data. Enrich with Clay or Apollo if the CRM is thin.
Tier 2: Intent. Behavioral signals weighted from your historical analysis. Pricing page visits, demo-page views without a form fill, return visits within 72 hours. Those should outrank passive content downloads.
MQL only fires when both clear a threshold: enough fit and enough intent. High intent + low fit? Nurture, don't route. High fit + no intent? Keep warming. Don't burn a sales hour on someone who hasn't shown up yet.
This is how you stop flooding the pipeline with busy tire-kickers who look "engaged" on a dashboard.
Calibrate against revenue, or the model dies quietly
Ship the model, then check it within 90 days. If you don't, it's already drifting.
Look at MQL -> SQL conversion before vs. after, broken out by score band. Top-quartile MQLs should convert meaningfully better than the bottom. Flat rates across bands means your score predicts nothing. It's a vanity metric with a formula.
Also check closed-won vs. closed-lost from the last quarter: what score did each carry at MQL? If winners and losers look the same, your weights are wrong. Fix them.
Rebuild every six months. Your ICP moves. Your product moves. The market moves. A scoring model that hasn't been touched in a year is a museum piece sitting on live pipeline.
The point
Lead scoring only earns its keep when it protects sales time and improves who gets a human conversation. If your model can't tell a Head of Revenue at a growth-stage fintech in Bangalore from a curious stranger with a Gmail login, you don't have a predictive system. You have a points game.
Kill the points game. Score for who buys.
