All articles
Template

Dual scoring template: fit + intent, with the minimum signals that actually work

March 22, 2026Updated June 24, 202615 min read3,005 words

A dual scoring model uses two scores: fit (does the account match your ICP) and intent (are they buying now). Keep about 10 signals, decay intent fast, and route with a fit-by-intent grid so the best accounts get worked first.

Dual Scoring Template: Fit + Intent, With the Minimum Signals That Actually Work - Chronic Digital Blog

Pipeline dies in the gap between a signal and the next action. Dual scoring closes that gap. Fit asks whether you should sell to an account at all. Intent asks whether you should sell to them right now.

The trap most teams fall into is treating the scoring sheet as the deliverable. A score that sits in a column does nothing. What matters is the loop: a signal arrives, the score updates, and an action fires, every day. This template gives you the model and the routing that turns it into booked meetings, plus where an autonomous operator runs the loop so the scores never just sit there.

The fit and intent scoring template (copy-paste version)

This is the minimum viable model that still works:

  • Fit score (0-100) = can we win, and is the account worth it
  • Intent score (0-100) = are they showing buying motion

You convert those two numbers into one of three actions:

  • A1 fast lane: call, email, book
  • A2 nurture: sequence, light personalization, wait for the next spike
  • B park or disqualify: stop spending touches

If a signal cannot change one of those three actions, it does not belong in the model.

Definitions (so nobody bikesheds this to death)

Fit

Fit = the account matches your ICP and you can realistically close.

Fit signals fall into four groups:

  • Firmographics: size, industry, revenue, growth
  • Technographics: stack compatibility, competitive installs
  • Org structure: buying committee shape, role coverage, headquarters vs distributed
  • Geo: supported countries, time zones, compliance constraints

Intent

Intent = evidence of active evaluation or problem urgency.

Intent signals fall into:

  • Website behavior: pricing, integrations, security pages, high-intent content
  • Job changes: new VP Sales, RevOps hire, SDR manager
  • Tech installs: new CRM, new outreach tool, new data provider
  • Funding and expansion: new round, hiring spike, new locations
  • Category and third-party intent: searches like "sales engagement", "AI SDR", "lead enrichment"
  • Email engagement: replies and positive clicks, not vanity opens

Buyers shop before they talk to you. 6sense's 2025 buyer report finds buyers initiate contact roughly 80% of the time, and they reach out around 61% of the way through the journey, later than most sellers assume (6sense.com). So your intent score has one job: spot that an account is already evaluating before a competitor gets the meeting.

The rules of a scoring model that does not embarrass you

  1. No more than 12 signals total. If you need 40 signals, your ICP is unclear.
  2. Every signal needs a default action. "Visited pricing twice in 7 days" means "route to A1".
  3. Use weights, not vibes. You can argue weights later. You cannot argue with no weights.
  4. Decay intent fast. Intent is perishable. Older than 14 days and it is mostly a memory.
  5. Separate account intent from person intent. Account intent routes. Person intent personalizes.

Fit score table (0-100): minimum signals that actually work

Pick the rows you can reliably source today. Do not invent data fields you cannot populate.

Fit category Signal Points Notes (keep it strict)
Firmographics Employee size in ICP band +25 Example bands: 50-200, 200-1000, 1000-5000. Pick one.
Firmographics Industry in ICP list +15 Limit to 5-8 industries max.
Geo In supported country/region +10 If you cannot sell there, it is not a lead.
Technographics Uses a compatible CRM (Salesforce, HubSpot, etc) +10 Matters for integrations, reporting, adoption.
Technographics Uses a competitor tool you displace well +10 Only with a clean wedge and proof.
Org structure Has your buying roles (RevOps + sales leader) +15 If you only see "Founder" at 700 employees, good luck.
Penalty Disqualifying vertical or compliance constraint -100 Hard stop. No debate.
Penalty Too small to succeed (below minimum) -25 Do not spend cycles.
Penalty "Student/research" org types (schools, hobbyists) -25 Unless you explicitly sell there.

Fit score math

  • Sum the points
  • Cap at 100
  • If any hard stop triggers, fit = 0

Fit buckets

  • Fit A (80-100): prime ICP
  • Fit B (60-79): workable, needs stronger intent
  • Fit C (under 60): park, unless inbound is screaming

Intent score table (0-100): minimum signals that move pipeline

Intent signals must be observable, recent, and tied to a specific next step.

Intent category Signal (time-bound) Points Decay rule
Website Pricing page visit (1+ in last 7 days) +25 7-day half-life
Website Integrations or API docs visit (last 7 days) +20 7-day half-life
Website Security, SOC 2, DPA, compliance pages (last 14 days) +15 14-day half-life
Email Reply (positive or neutral) +35 No decay for 30 days
Email Click on a proof link (case study, ROI calc) +10 7-day half-life
Third-party Category intent surge (topic threshold hit) +20 14-day half-life
Org change New RevOps or VP Sales hire (last 30 days) +15 30-day half-life
Company Funding event or major expansion (last 90 days) +10 90-day half-life
Negative Unsubscribe or "not interested" -50 No decay
Negative Job-seeker behavior (careers page only, no product pages) -15 14-day half-life

About third-party intent Bombora's Company Surge measures surge intensity using a topic surge score per account (bombora.com). If you do not have Bombora, use a proxy: "3+ category keyword visits across 7 days" or "2+ competitors visited" from web analytics.

Intent buckets

  • Intent A (70-100): buying motion
  • Intent B (40-69): warming up
  • Intent C (under 40): cold

The routing grid: A1 fast lane, A2 nurture, B buckets

This is the whole system. Everything else is decoration.

Fit \ Intent Intent A (70-100) Intent B (40-69) Intent C (under 40)
Fit A (80-100) A1 fast lane A2 nurture A2 nurture
Fit B (60-79) A1 fast lane A2 nurture B2 park
Fit C (under 60) A2 nurture (inbound only) B2 park B3 disqualify

Routing definitions

  • A1 fast lane: immediate outreach, multi-channel, meeting goal
  • A2 nurture: slower sequence, intent monitoring, add signal hooks
  • B2 park: no outbound touches, add to an intent watchlist
  • B3 disqualify: mark unqualified, stop spending

SLA expectations (because speed still prints money)

A1 fast lane SLA (inbound and high-intent outbound)

  • First touch: within 5 minutes
  • Second touch: within 2 hours
  • Same day: up to 6 attempts across channels if contactable
  • Next 5 business days: 12-15 attempts total

InsideSales' lead-response research found conversion rates are more than 8x higher when a lead is worked within the first 5 minutes versus waiting between 5 minutes and 24 hours (insidesales.com). And because buyers usually reach out after they already have a favorite, a one-hour response may be a reply to a decision rather than a chance to shape one. 6sense reports the pre-contact favorite goes on to win the majority of the time (6sense.com).

A2 nurture SLA

  • Touch within 24 hours
  • 6-10 touches over 14 days
  • Trigger-based bumps when new intent arrives

B bucket SLA

  • None
  • Monitor for new intent, then reroute

Three operating modes (pick one, do not mash them together)

Same dual model. Different weights. Different routing.

Mode 1: Lean outbound (small team, no patience, no fluff)

Goal: book meetings with minimum labor. Bias: fit matters more, since you cannot chase everyone.

Recommended weights: fit 60%, intent 40%.

When to run A1: Fit A + Intent B or higher, or Fit B + Intent A only.

Tweaks: add +10 fit for a clear competitor wedge install, drop generic intent like "blog visit" to 0 points, and overweight replies and pricing visits.

Where this runs in Chronic: you set the ICP bands and the agent does the rest. It enriches accounts to fill missing size, industry, geo, and roles, runs the dual score, and writes signal-specific first lines so the message ties to the exact reason the account scored.

Mode 2: Agency outbound (multiple clients, high volume, strict guardrails)

Goal: predictable output, clean reporting, no client drama. Bias: intent matters more because you need fast wins and a clear "why now".

Recommended weights: fit 45%, intent 55%.

Routing tweaks:

  • If Intent A but Fit C, route to A2 and ask the client for an exception list.
  • If Fit A but Intent C, park as B2 unless you have a proven outbound wedge.

What to surface per client: the top one or two intent signals that caused the routing, every time. "Pricing visit" beats "engaged" because it is real.

If you want a reality check on what "agentic GTM" means versus marketing buzz, read Agentic GTM is now a box on the pricing page. Here's the reality check.

Mode 3: Inbound-heavy (demand exists, you just drop the ball)

Goal: convert existing demand before it cools. Bias: intent dominates, but only if fit is not trash.

Recommended weights: fit 35%, intent 65%.

Routing tweaks:

  • Any inbound demo request from Fit A or Fit B is A1.
  • Fit C inbound goes A2 with a qualification gate.
  • If an account hits security and pricing within 14 days, treat it as A1 even without a form fill.
  • If they request a demo, do not nurture them. Book the meeting. That is the point.

For the speed-to-lead side of this, see What is speed-to-lead in B2B sales? (and how to hit a 5-minute SLA with AI without sounding automated).

The minimum signals list (print this, delete the rest)

The bare minimum that still works for mid-market:

Fit (keep 5)

  1. Employee band match
  2. Industry match
  3. Geo match
  4. Compatible CRM present
  5. Buying roles present (RevOps + sales leader)

Intent (keep 5)

  1. Pricing page in last 7 days
  2. Integrations or API docs in last 7 days
  3. Email reply
  4. Third-party category intent threshold hit (or your proxy)
  5. RevOps or sales leadership hire in last 30 days

That is 10 signals total. You can stand this up in a day.

Scoring weights and thresholds you can ship today

Defaults that hold up across most mid-market B2B motions.

Default thresholds

  • A1 fast lane: Fit >= 80 and Intent >= 40, or Fit >= 60 and Intent >= 70
  • A2 nurture: Fit >= 60 and Intent 20-69, or Fit >= 80 and Intent < 40
  • B2 park: Fit 40-59 and Intent < 70
  • B3 disqualify: Fit < 40, or hard stop

One-day implementation checklist

  1. Define ICP bands (size, industry, geo)
  2. Pick your 5 fit signals and map them to fields
  3. Pick your 5 intent signals and map them to events
  4. Set the routing rules
  5. Create three views: A1, A2, B
  6. Set alerting for A1 (Slack, email, whatever you watch)
  7. Decide what gets recorded, what gets summarized, and what gets ignored

If you care about getting cited by AI search and LLM answers, not just ranking, this is worth reading: AI search is eating B2B clicks. Write sales ops content that gets cited anyway.

Routing playbooks in plain English (what actually happens per bucket)

A1 fast lane (meeting booked is the only KPI)

Trigger: Fit A + Intent B, or Fit B + Intent A Actions:

  1. Call within 5 minutes if a phone number exists
  2. Email within 5 minutes with a direct ask
  3. Second call within 2 hours
  4. A same-day LinkedIn touch only if it supports the call and email, not as a coping mechanism

A1 message template (copy-paste) Subject: quick question on {{signal}}

Body:

  • Saw {{specific signal}}.
  • Usually that means {{problem}} is getting expensive.
  • Worth a 12-minute call this week to see if it fits?

Times:

  • Tue 11:00am ET
  • Wed 2:30pm ET

Stop writing novels. Book the meeting.

A2 nurture (stay visible until intent spikes)

Trigger: Fit A with low intent, or Fit B with mid intent Actions:

  • 10-14 day sequence
  • 2 personalization points max: one fit-based (industry, role) and one intent-based (page visited, hire, tech change)

For personalization signals that do not read like AI slop: Personalization that scales in 2026: 12 signals worth turning into a first line.

B2 park (stop touching, start watching)

Trigger: not enough fit, not enough intent Actions:

  • No outbound touches
  • Add to an intent watchlist
  • Reroute if any of these happen: pricing + integrations within 7 days, a reply, or a category intent threshold

B3 disqualify (mercy killing)

Trigger: hard stop Actions:

  • Mark unqualified with a reason
  • Exclude from outbound
  • Keep for reporting only

What to record (so your pipeline stays clean)

Most pipelines become a landfill because teams log everything. Record only what changes a later decision.

Record these fields every time

  • Fit score (0-100)
  • Intent score (0-100)
  • Routing bucket: A1, A2, B2, B3
  • Top fit reasons (max 2): "200-1000 employees", "SaaS"
  • Top intent reasons (max 2): "Pricing page 2x", "VP Sales hired"
  • Next action: call, email, sequence, park
  • SLA due time: timestamp

Record these as activities

  • Calls, replies, meetings booked, and "not now" with a follow-up date

Do not record these unless you are doing real analysis

  • "Opened email", "visited blog", or enrichment changes that do not change routing

If you want guardrails for autonomous systems recording back into your records, read AI writeback CRM: what it is, what can go wrong, and the guardrails that keep pipeline clean.

Common scoring mistakes (and the fix)

Mistake 1: too many soft intent signals

Symptom: everyone looks warm, nobody books. Fix: set low-signal behaviors to 0 points. Blogs do not buy software. People do.

Mistake 2: fit signals that never disqualify

Symptom: reps chase tiny accounts forever. Fix: add hard stops. If you cannot sell there, or they are too small, stop.

Mistake 3: no decay

Symptom: a pricing visit from 3 months ago still routes A1. Fix: decay intent aggressively. Intent without recency is nostalgia.

Mistake 4: scoring that does not route

Symptom: nice dashboards, same behavior. Fix: tie every bucket to a view, an alert, and an SLA.

How an autonomous operator runs this end to end

Most tools own one slice. HubSpot, Salesforce, Apollo, Pipedrive, Attio, Close, Zoho, Clay, and Instantly can store the fields and fire automations, but you are still the loop: you score, you stare, you decide what gets worked, you remember to enforce the SLA. That is exactly the work that slips.

Chronic is an autonomous revenue operator. You set the goal, and the agent runs the dual score as a live loop: it enriches accounts, scores fit and intent, applies decay and stop rules every day, routes each account through the grid, sends signal-matched email from managed, warmed mailboxes, handles replies, and books the meeting, surfacing approvals only for the decisions that need a human. The score does not land in a column you forget to open. It becomes the next action.

If you are comparing stacks:

FAQ

What is a fit and intent scoring template?

It is a two-part lead scoring framework where fit measures ICP match and intent measures buying motion, both on a 0-100 scale. The two scores route each account into an action: A1 fast lane, A2 nurture, or a B bucket.

How many signals should we start with?

Start with 10 total: 5 fit and 5 intent. If a signal does not change the next action, delete it. Add complexity only after you prove lift.

What is a good A1 threshold for mid-market B2B?

A1 if Fit >= 80 and Intent >= 40, or Fit >= 60 and Intent >= 70. Then enforce the SLA. InsideSales reports conversion is more than 8x higher when a lead is worked within 5 minutes versus waiting 5 minutes to 24 hours (insidesales.com).

Should we use third-party intent data like Bombora?

If you have it, yes. It gives account-level category consumption. Bombora's Company Surge scores surge intensity per topic (bombora.com). If you do not have it, use a proxy: repeated category keyword visits, competitor page comparisons, or high-intent page clusters.

How do we prevent lead-score theater?

Tie scores to routing, views, alerts, and SLAs. Record only the fit and intent scores, the top two reasons for each, the routing bucket, and the next action with its SLA due time. If a score does not drive a task, it is decoration.

How often should we recalibrate weights?

Monthly for the first 90 days, then quarterly. Recalibrate against one metric: meeting-booked rate per bucket. If A1 does not outperform A2, your intent signals are weak or your SLAs are fantasy.

Ship the model, then enforce the rules

Copy the tables. Pick one operating mode. Set the routing grid. Enforce the A1 SLA like revenue depends on it, because it does. Then iterate with data, not opinions. The model is the easy half; running it every day without dropping a signal is the hard half, and that is the work an autonomous operator does on its own.

Ready when you are

Put your pipeline on autopilot.

Chronic runs discovery, outreach, and follow-up end to end. You approve the decisions that matter.