Your buyers do the work first. Your scoring model decides if your team shows up at the right moment, or shows up late with “just bumping this.” Gartner found 61% of B2B buyers prefer a rep-free buying experience. That means your first sales touch needs to be timed and earned. Not sprayed.
TL;DR
- Run a dual score: Fit (0-100) + Intent (0-100).
- Fit answers: Should we sell to them? Intent answers: Should we sell to them now?
- Add a Next Action matrix so the SDR or agent stops guessing.
- Use the copy-paste templates below to ship a working fit and intent scoring model today. No data science. No “revops project.”
Why single-score lead scoring dies in 2026
A single score mixes two different truths:
- Fit: firmographics, stack, exclusions, “can this account realistically buy?”
- Intent: behavior and change, “are they in a buying window?”
When you blend them, you create the classic failure:
- A perfect-fit account with zero intent becomes a fake “hot lead.”
- A high-intent account outside ICP hijacks the SDR week.
Also, email engagement got less reliable as a primary signal. Bulk sender rules and enforcement pushed teams toward cleaner infra and less tracking-heavy outreach. You still track engagement, you just treat it like a supporting signal, not gospel. Mailgun’s breakdown of the Google and Yahoo bulk sender requirements is a decent operational summary if your team missed the last two years.
The 2026 dual-score standard: Fit (0-100) + Intent (0-100)
Here’s the model:
- Fit Score (0-100) is mostly static. Update weekly or monthly.
- Intent Score (0-100) is volatile. Update in near real time. Decay it fast.
- Priority is not “Fit + Intent.” Priority is the action you take based on both.
Chronic runs this exact system: dual fit + intent scoring and autonomous prioritization, end-to-end till the meeting is booked. Start here if you want the product version: Chronic AI lead scoring.
Fit score template (0-100): copy, paste, ship
Fit scoring should feel unfair. It should say “no” a lot.
Fit score structure
- Firmographics (0-45)
- Technographics (0-25)
- ICP exclusions and penalties (0 to -40)
- Role and buying-center match (0-10)
- Data confidence (0-10)
Cap at 0-100.
0-45: Firmographics scoring (example weights)
Use what matters to your ICP. Here’s a default B2B SaaS layout.
Company size (0-15)
- 1-10 employees: 2
- 11-50: 6
- 51-200: 12
- 201-1000: 15
- 1001-5000: 10
- 5000+: 6 (unless enterprise is your thing)
Revenue band (0-10)
- Unknown: 3
- <$5M: 2
- $5M-$25M: 6
- $25M-$100M: 10
- $100M+: 8
Industry match (0-10)
- Core ICP industries: 10
- Adjacent: 6
- Everything else: 2
Geo and compliance (0-10)
- Sells in your supported countries: 6
- Has required compliance profile (SOC2, HIPAA, FINRA, etc): +4 if relevant
0-25: Technographics scoring
Technographics are fit accelerants. They are not personality tests.
BuiltWith claims it tracks 35,000+ technologies across a massive index of sites, which is why so many teams use it as a starting point for technographic filters.
CRM present (0-10)
- Salesforce present: 10
- HubSpot present: 8
- Pipedrive/Zoho/Close/Attio: 6
- Unknown: 3
- “No CRM” signals: 0
Sales engagement / outbound stack present (0-5)
- Outreach/Salesloft/Instantly/Reply.io: 5
- None: 1
Data enrichment / intent tools present (0-5)
- ZoomInfo/Clearbit alternatives/Lusha: 3-5
- None: 1
Your “wedge” tech (0-5) Examples:
- If you sell to companies running Webflow + Segment: +5
- If you sell to teams on Shopify Plus: +5
- If you sell to companies on Snowflake: +5
0 to -40: ICP exclusions and penalties
This is where scoring becomes useful.
Hard disqualifiers (set Fit to 0, or apply -40)
- Competitor, partner conflict, reseller only
- Students, consultants, agencies (if not your ICP)
- Countries you cannot sell into
- Industries you will not support
Soft penalties (-5 to -20)
- Chronic churn risk patterns (example): “crypto exchange,” “adult,” “lead gen spam shop”
- Unrealistic size band (too small or too large)
- No budget owner function exists (example: IT tool sold to a 12-person company)
0-10: Role and buying-center match
You can score this at lead level even if fit is account-level.
- Target buying roles (VP Sales, RevOps, SDR leader): +10
- Adjacent roles: +5
- Everyone else: +1
If you need tighter definitions, build your ICP first, then score against it: Chronic ICP builder.
0-10: Data confidence multiplier (simple, brutal)
Bad data creates fake precision.
- Verified domain + enriched company + verified contact: 10
- Missing 1 of those: 7
- Missing 2+: 4
- Sketchy free-email domain: 1
Fit score output fields (copy-paste)
Store these fields so scoring isn’t a black box:
- Fit score (0-100)
- Fit tier: A (80-100), B (60-79), C (40-59), D (<40)
- Top 3 fit reasons (text)
- Top 2 exclusions/risks (text)
- Data confidence (0-10)
If you want this to update itself instead of rotting, that’s the point of a self-updating CRM. Here’s the deeper rant: What is a self-updating CRM in 2026.
Intent score template (0-100): copy, paste, ship
Intent is a race. You either show up in the window, or you don’t.
Intent score structure
- Digital behavior (0-35)
- Company change signals (0-35)
- Tech install changes (0-15)
- Outbound engagement (0-15)
Then apply:
- Decay (time-based)
- Spam safety rules (quality gating)
0-35: Digital behavior intent (your properties, your site)
Pricing page and high-commercial pages (0-15)
- Pricing page view: +8
- Visited pricing twice in 7 days: +12 total
- Visited integration docs, security page, ROI page: +5 each (cap 15)
Product usage for PLG (0-12)
- Activated core event (your “Aha” moment): +8
- Invited teammate: +4
- Hit a usage limit: +6 Cap at 12.
Comparison intent (0-8)
- Viewed /vs/competitor page: +8
- Viewed 2 competitor comparisons in 14 days: still cap 8, do not double count
0-35: Company change signals intent
This is where “timing” actually lives.
Job changes (0-15)
- Known champion changes jobs into ICP account: +15
UserGems has published analysis showing deals with “previous champions” can have materially higher win rates. Treat champion moves as a top-tier signal. - New VP Sales / RevOps hire (net new leader): +10
- SDR Manager hire: +6
Hiring signals (0-10)
- Hiring for roles that imply your category problem (example: “Sales Operations Analyst,” “Outbound SDR,” “RevOps Systems”): +6
- Hiring spike in the relevant department (3+ roles in 30 days): +10
Funding, expansion, procurement motion (0-10)
- Funding round announced: +10
- New region expansion press release: +6
- “RFP” / procurement job post: +8
0-15: Tech install change intent
These are “budget moved” signals.
- Added Salesforce or HubSpot recently: +8
- Added sales engagement tool: +6
- Installed your competitor: +10 (they are buying, you are just late)
- Removed competitor: +12 (switch window)
0-15: Outbound engagement intent (email, replies, meetings)
Email engagement is noisy. Replies are not.
Replies (0-15)
- Positive reply (asks a question, asks for pricing, asks for call): +15
- Neutral reply (“not now,” “circle back Q3”): +8
- Referral reply (“talk to Jane”): +12
- Negative reply (“stop emailing me”): -25 and suppress
Clicks (0-3)
- Clicked a link: +3
Keep this low. Click tracking gets messy fast.
Opens (0-1)
- Open: +1
Yes, really. Opens are a rounding error in 2026.
Reply classification rules (copy-paste)
This is the simplest usable set:
- Positive: asks for demo, asks for details, shares pain, loops in buyer
- Neutral: not now, wrong person but gives guidance, timing note
- Negative: remove, unsubscribe, hostile, threat
- Auto: OOO, bounce, automated firewall notice
Intent decay (non-negotiable)
Intent expires. Fast.
Apply this decay to the whole Intent score:
- 0-3 days since last signal: 1.0x
- 4-7 days: 0.8x
- 8-14 days: 0.6x
- 15-30 days: 0.4x
- 31-60 days: 0.2x
- 60+ days: 0.1x
This one change stops your queue from turning into a graveyard.
The Next Action matrix (this is where teams win)
Scoring without actions is astrology. Here’s a practical matrix.
Define tiers
Fit tiers
- A: 80-100
- B: 60-79
- C: 40-59
- D: <40
Intent tiers
- Hot: 70-100
- Warm: 40-69
- Cold: 0-39
Next action matrix (agent or SDR)
| Fit \ Intent | Hot (70-100) | Warm (40-69) | Cold (0-39) |
|---|---|---|---|
| A Fit | Book meeting in 24h. Multi-channel. Personalized opener from signals. | 7-touch sequence. 14 days. Add 1 strong proof point. | Light nurture. Add to signal watch. No heavy outbound. |
| B Fit | Book meeting in 48h. Email + LinkedIn. | Standard outbound sequence. 21 days. | Nurture only. Quarterly re-score. |
| C Fit | Qualify fast. 1-2 touches max. If no traction, drop. | Do not sequence. Wait for intent spike. | Ignore. |
| D Fit | Suppress. Don’t waste cycles. | Suppress. | Suppress. |
“Book meeting” playbook (copy-paste)
When Fit is A and Intent is Hot:
- Touch 1 (same day): short email, 80 words max, 1 signal, 1 question
- Touch 2 (next day): follow-up with a concrete resource (security, ROI, integration)
- Touch 3 (day 3): call if you have a direct line, voicemail optional
- Touch 4 (day 5): “close the loop” message with two time slots
Chronic automates this prioritization and sequencing end-to-end, till the meeting is booked. See: Chronic sales pipeline.
A working “fit and intent scoring model” spreadsheet template
Create a sheet with these columns.
Account columns (fit)
- Company
- Domain
- Employees
- Revenue
- Industry
- Geo
- CRM detected
- Key tech detected
- Exclusion flags
- Fit score (0-100)
- Fit tier
- Fit reasons (text)
Lead columns (intent)
- Contact
- Title
- Last signal date
- Signal types (multi-select)
- Intent score raw
- Intent decay multiplier
- Intent score final
- Intent tier
- Reply classification (if any)
- Next action (auto-generated)
If you want Chronic to do the enrichment automatically, start here: Lead enrichment.
Worked example 1: PLG inbound assist (high intent, mixed fit)
Scenario
- Product: PLG SaaS
- Motion: self-serve signups, sales assists on expansion
- Account: 120 employees, US, SaaS
- Contact: Senior Manager, Ops
- Signals in last 48 hours:
- Hit usage limit
- Invited 2 teammates
- Viewed pricing and security page
Fit score calculation
- Company size (51-200): 12
- Revenue unknown: 3
- Industry (SaaS core): 10
- Geo supported: 6
- Compliance unknown: 0
Firmographics subtotal: 31/45
Technographics:
- HubSpot present: 8
- Sales engagement unknown: 1
- Data tools unknown: 1
- Wedge tech match: 2
Technographics subtotal: 12/25
Role match:
- Ops manager (adjacent): 5/10
Data confidence:
- Verified domain, contact: 7/10
Exclusions: none
Fit score = 31 + 12 + 5 + 7 = 55 (C/B edge)
Intent score calculation
Digital behavior:
- Pricing page: +8
- Security page: +5 (cap still fine)
- Hit usage limit: +6
- Invited teammates: +4
Subtotal: 23/35
Company change: none
Tech change: none
Outbound engagement: none
Raw intent: 23
Decay multiplier (0-3 days): 1.0x
Intent score final = 23 (Cold)
Wait, that feels wrong. Here’s the PLG nuance: product usage should weigh heavier than generic web pages.
So adjust PLG weights:
- Product usage bucket becomes 0-35
- Website bucket becomes 0-15
Re-score quickly:
- Usage limit +6, invite teammates +4, activated core event (assume yes) +8, repeated active days +6, added second workspace +6 (example)
Now we are at 30+. - Pricing +6, security +4
Raw intent: 40
Intent = 40 (Warm)
Next action
Fit C/B edge + Intent Warm:
- Action: “Inbound assist qualification.”
Send a human email in-product style. One question. Then route. - If they confirm budget owner exists, upgrade fit. Then sequence.
Chronic can run this automatically: score the product events, score fit, then prioritize. The scoring engine lives here: AI lead scoring.
Worked example 2: Mid-market outbound (high fit, timing spike)
Scenario
- ICP: 200-1000 employee B2B SaaS
- Account: 650 employees, Series C, hiring 6 SDRs
- Stack: Salesforce detected, Outreach detected
- Signals:
- New VP Sales started this week
- Hiring SDR team
- Visited your “Salesforce integration” page from a branded search
Fit score
Firmographics:
- Size (201-1000): 15
- Revenue (assume $25M-$100M): 10
- Industry core: 10
- Geo supported: 6
- Compliance: 2
Subtotal: 43/45
Technographics:
- Salesforce: 10
- Outreach: 5
- Data tools: 3
- Wedge tech: 3
Subtotal: 21/25
Role match (you target VP Sales and RevOps):
- Contact is RevOps Director: 10/10
Data confidence:
- Verified: 10/10
Exclusions: none
Fit = 43 + 21 + 10 + 10 = 84 (A)
Intent score
Digital behavior:
- Integration page: +5
- Branded search arrival: +6 Subtotal: 11/35
Company change:
- New VP Sales: +10
- Hiring SDR surge: +10
Subtotal: 20/35
Tech change:
- None (already on SFDC/Outreach)
Outbound engagement:
- None yet
Raw intent: 31
Decay: 1.0x
Intent = 31 (Cold/Warm edge)
Now add the reality: multiple signals inside 7 days compound. Create a “signal stack bonus”:
- 3+ different signal categories in 7 days: +15
- 2 categories: +8
They have:
- company change (exec hire)
- hiring
- digital behavior
That’s 3 categories.
Intent = 31 + 15 = 46 (Warm)
Next action
Fit A + Intent Warm:
- Action: 14-day outbound sequence.
- Personalize the opener to the VP Sales start + SDR hiring.
- Don’t “congrats on the new role.” Everyone does that. Say what the role forces: pipeline math, tooling, process.
You can write this faster with an agent-based email writer. Chronic’s is here: AI email writer.
Also, do not blow deliverability by blasting 5 domains with tracked links. If you need the 2026 infra baseline, this is the internal SOP-style breakdown: Cold email infrastructure in 2026.
Worked example 3: Enterprise ABM-lite (high fit, low intent, do not spam)
Scenario
- ICP: enterprise, regulated
- Account: 12,000 employees, banking
- Stack: Salesforce
- Signals:
- 1 anonymous visit to pricing
- 1 G2 review read (if you can track it)
- No champion, no hiring spike, no tech change
Fit score
Firmographics:
- Size 5000+: 6 (unless you weight enterprise higher, you should)
- Revenue $100M+: 8
- Industry core: 10
- Geo supported: 6
- Compliance match: 4
Subtotal: 34/45
Technographics:
- Salesforce: 10
- Other: 6
Subtotal: 16/25
Role match:
- Unknown contact yet: 1/10
Data confidence:
- Medium: 7/10
Exclusions: none
Fit = 34 + 16 + 1 + 7 = 58 (C)
This is a common enterprise trap. Great logo. Weak targeting.
If enterprise is your ICP, change the firmographic weights so 5k+ employees scores higher. You do not “fix” this with intent.
Intent score
- Pricing visit: +8
- Everything else: 0
Raw: 8
Decay: 1.0x
Intent: 8 (Cold)
Next action
Fit C + Intent Cold:
- Action: ABM-lite watchlist.
No sequence. No spray. Build the account. Map buying group. - Triggered outreach only if:
- exec hire in your function
- champion job change into the account
- competitor install detected
- multiple visits to integration/security pages in 7 days
This is where “autonomous sales” actually matters. An agent monitors the account and fires when the window opens. Chronic does that without another dashboard: AI lead scoring + sales pipeline.
Implementation: ship this in 48 hours
Day 1: Define ICP and exclusions (one page)
- 3 must-have firmographics
- 3 must-have technographics
- 5 exclusions
- 5 “yellow flags”
Then codify it in a builder: Chronic ICP builder.
Day 2: Instrument intent signals
Minimum viable intent:
- Pricing, security, integration pages
- Activation and limit-hit product events (PLG)
- Job changes (champions and execs)
- Hiring spikes (role-specific)
- Tech installs and removals
Day 3: Wire Next Action into the queue
If the output isn’t a single field like “NEXT_ACTION = SEQUENCE_14D” then it won’t run.
If your SDRs still triage manually, you built a reporting system. Not a pipeline system.
For a clean prioritization concept, this post lays out the “queue” idea: The modern SDR queue: fit + intent + timing.
Common mistakes that wreck dual scoring
Mistake 1: Treating “fit” as “has money”
Money doesn’t mean they buy your thing. Fit means the problem exists and procurement is plausible.
Mistake 2: Treating opens as intent
Opens are a liar. Replies are the truth. Site paths are the hint.
Mistake 3: No decay
If intent doesn’t decay, your queue becomes a museum.
Mistake 4: No suppression rules
Negative replies must suppress instantly. No “maybe we try again next month.”
Mistake 5: Scoring without enrichment
If half your accounts have missing employee counts and unknown stacks, your model becomes vibes. Fix the inputs: Lead enrichment.
FAQ
FAQ
What is a fit and intent scoring model?
A fit and intent scoring model runs two separate 0-100 scores. Fit measures whether the account matches your ICP. Intent measures whether the account is in a buying window right now. The model outputs a next action so reps or agents execute without manual triage.
What’s a good threshold for “hot” intent in 2026?
Start with 70+ as “Hot” intent if you use multiple signal categories plus decay. If you rely mostly on email engagement, raise the threshold because that data is noisy. The real rule is speed: act within days, not weeks.
How do we handle PLG differently from outbound?
PLG intent should weight product events more than pageviews. “Invited teammate,” “hit usage limit,” and “reached activation milestone” should dominate the intent score. Pageviews are supporting evidence.
Should we buy third-party intent data?
Only if you already do the basics well. First-party intent (site and product) plus public change signals (job changes, hiring, tech changes) usually gets you 80% of the value. Third-party intent often adds noise unless you have strong filtering and fast activation.
How often should we refresh fit and intent scores?
- Fit: weekly or monthly, plus updates on enrichment changes.
- Intent: near real time, with a time-decay multiplier applied daily.
How does Chronic apply dual scoring in real workflows?
Chronic runs dual fit + intent scoring, prioritizes the queue, writes personalized outreach, and pushes sequences forward until the meeting is booked. Start with AI lead scoring, then connect enrichment via lead enrichment.
Put it into production this week
- Copy the Fit template. Add your exclusions. Score 200 accounts.
- Copy the Intent template. Add decay. Score daily.
- Implement the Next Action matrix as a single field that drives sequencing.
- Stop debating lead quality in Slack. The model decides. The agent executes.
If you want the system to run end-to-end, till the meeting is booked, Chronic does the whole loop for $99 with unlimited seats. Salesforce charges per seat and still expects you to duct-tape four tools together. That’s a choice.