Fit + Intent + Timing: The Dual-Scoring Model That Stops SDRs From Chasing Ghosts

One score lies. Two scores confuse. Fit + Intent + Timing gives a clean go, wait, stop call. SDRs quit random check-ins. Pipeline moves when real signals hit.

April 21, 202616 min read
Fit + Intent + Timing: The Dual-Scoring Model That Stops SDRs From Chasing Ghosts - Chronic Digital Blog

Fit + Intent + Timing: The Dual-Scoring Model That Stops SDRs From Chasing Ghosts - Chronic Digital Blog

SDRs chase ghosts for one reason. Your “priority” list mixes two different worlds: accounts that match your ICP, and accounts that want to buy. Then you sprinkle in random “hot” alerts and pretend it’s a system.

It’s not.

Fit + Intent + Timing fixes this. It’s the simplest scoring model that actually works in the real world. No data science team. No dashboards nobody trusts. Just a clear “go / wait / stop” decision.

TL;DR

  • Fit score = “Should we ever sell to them?” (static-ish)
  • Intent score = “Are they showing buying research behavior?” (decays fast)
  • Timing score = “Did something change that makes outreach land now?” (spikes hard, decays fast)
  • Use thresholds and do-nothing rules so reps stop “checking in” like it’s 2016.
  • Route by score: email, call, wait, disqualify.
  • Chronic executes the moment the score says “go” with AI lead scoring, lead enrichment, and an AI email writer. End-to-end, till the meeting is booked.

Why Fit + Intent + Timing exists (and why your current scoring lies)

Most teams run one of these:

  1. Fit-only scoring (firmographics). Great for building a list. Terrible for deciding who to contact today.
  2. Activity-only scoring (opens, clicks). Great for measuring curiosity. Terrible for detecting real buying.
  3. “MQL” scoring (everything plus vibes). Great for internal alignment. Terrible for pipeline.

Meanwhile buyers do more research on their own. Gartner found 61% of B2B buyers prefer a rep-free buying experience, based on a survey of 632 buyers (Aug-Sep 2024). That means your first touch often happens after they already formed an opinion. (gartner.com)

So your model needs three answers:

  • Fit: are they even worth attention?
  • Intent: are they researching the category?
  • Timing: did something change that makes a conversation make sense this week?

McKinsey’s B2B Pulse data also shows buyers split preferences across in-person, remote, and digital self-serve, and use an average of ten interaction channels. Translation: signals scatter. You need a scoring model that can tolerate mess. (mckinsey.com)


Define the model: Fit score, Intent score, Timing score

Fit score (0-100): “Should we ever sell to them?”

Fit is your ICP match. It moves slowly.

Good fit inputs

  • Firmographics
    • Industry
    • Company size (employees, revenue)
    • Geography
    • Growth rate (optional)
  • Role match
    • Titles and functions you actually sell to
    • Seniority bands (Manager, Director, VP, C-level)
    • Buying committee coverage (economic buyer + operator)
  • Technographics
    • Tools they use that indicate maturity
    • Tools that create integration pull
    • Tools that indicate “too small” or “wrong motion”

Fit is not a “today” signal. Fit tells you whether the account belongs in your universe.

Intent score (0-100): “Are they in-market?”

Intent is observed research behavior. It decays.

Good intent inputs

  • First-party
    • Pricing page views
    • Product page depth
    • Docs visits
    • High-intent demo/video completion
    • Reply intent (“what’s pricing?” beats “sounds interesting”)
  • Third-party
    • Topic research spikes (category keywords)
    • Competitor comparison research
    • Review site activity

Intent providers talk about “surge” behavior where research spikes above baseline. Bombora’s Company Surge is one example of third-party intent derived from a large publisher co-op. (bombora.com)

Timing score (0-100): “Will outreach land right now?”

Timing is the trigger layer. It spikes, then fades.

Timing triggers that actually create meetings

  • Job change
    • New VP Sales
    • New RevOps leader
    • New founder-led GTM hire
  • New funding
    • Seed, Series A/B, growth round
  • Tool installs / migrations
    • New CRM
    • New outbound tool
    • New data provider
  • Competitor replacement events
    • “Rip and replace” signals
    • Careers page mentions migration projects
    • Tech stack changes that imply switching costs already paid
  • Hiring patterns
    • Hiring SDRs suggests outbound ramp
    • Hiring RevOps suggests system change
    • Hiring demand gen suggests pipeline pressure

Timing is the piece most scoring models miss. It’s also the difference between “nice product” and “booked meeting.”


fit intent timing scoring: inputs, weights, decay windows, thresholds

Here’s a practical model you can implement in a spreadsheet, Airtable, HubSpot, or any CRM.

Step 1: Choose weights (start simple)

Use a weighted total score.

Recommended default weights

  • Fit: 50%
  • Intent: 30%
  • Timing: 20%

Why this mix:

  • Fit prevents fantasy pipeline.
  • Intent catches in-market accounts.
  • Timing makes the message feel “about them,” not about you.

If your TAM is huge and you sell transactional SMB, shift more weight to timing. If your TAM is tight and you sell enterprise, keep Fit heavier.

Step 2: Add decay windows (this is where the model becomes real)

Fit doesn’t decay. Intent and timing decay hard.

Decay defaults

  • Intent half-life: 14 days
    After 14 days with no new signal, intent weight drops by half.
  • Timing half-life: 7 days
    Triggers go stale fast. That “new VP” email hits different on day 3 vs day 30.

If you want a simple version:

  • Count intent signals only if they happened in the last 30 days.
  • Count timing signals only if they happened in the last 14 days.

Step 3: Define “do nothing” thresholds (the anti-ghost rule)

Most teams fail here. They create a score, then still let reps “just try.”

Set rules that block activity.

Do nothing thresholds

  • If Fit < 60: disqualify or nurture only.
  • If Fit >= 60 and Intent < 40 and Timing < 40: wait.
  • If Fit >= 80 but Intent < 20 and Timing < 20: wait, no manual touches. Put it on a monitor list.

This is how you stop SDRs from “being busy.”

Step 4: Compute total score

Example formula:

Total = 0.5*Fit + 0.3*Intent(decayed) + 0.2*Timing(decayed)

Keep it boring. Boring scales.


Build the scorecards: exact fields and point systems

Fit scorecard (0-100)

Firmographics (0-50)

  • Industry match: 0 / 10 / 20
    (wrong / adjacent / core)
  • Employees band: 0 / 10 / 20
  • Geography: 0 / 5 / 10
  • Revenue band (optional): 0 / 5 / 10

Role match (0-30)

  • Has at least 1 target persona: 0 / 10 / 20
  • Has economic buyer persona: 0 / 10
  • Has ops / implementer persona: 0 / 10

Technographics (0-20)

  • Uses compatible CRM: 0 / 5 / 10
  • Uses outbound stack: 0 / 5 / 10

Fit floor rule

  • Missing a target persona email? Cap Fit at 70.
    No contactability, no pipeline. Just vibes.

Intent scorecard (0-100)

Use only signals you can actually capture consistently.

First-party (0-60)

  • Pricing page view (last 14d): +20
  • Visited 3+ pages (last 7d): +10
  • Returned visit (last 7d): +10
  • Demo request: +40 (cap the category)

Third-party (0-40)

  • Category topic surge (last 14d): +15
  • Competitor comparison topic (last 14d): +25

Then apply decay:

  • If signal age > window, reduce points.

Timing scorecard (0-100)

Timing is about “why now.”

Triggers (pick 6-10 that matter)

  • New VP Sales / Head of Growth hired (last 14d): +35
  • New RevOps hired (last 30d): +25
  • Funding announced (last 30d): +25
  • Installing competitor tool (last 30d): +20
  • Hiring SDRs (last 30d): +15
  • Tool migration job post (last 30d): +25

Cap timing at 100. Don’t overfit.


Routing logic: when to email, call, wait, disqualify

This is where “fit intent timing scoring” turns into pipeline.

The routing matrix (simple and brutal)

1) Disqualify

  • Fit < 60
    Action: disqualify, or push to long-term nurture list. No SDR sequences.

2) Wait (monitor)

  • Fit >= 60 AND Intent < 40 AND Timing < 40
    Action: do nothing, monitor weekly. Add to “signal watch.”

3) Email-first (high intent, normal timing)

  • Fit >= 70 AND Intent >= 60 AND Timing < 60
    Action:
  • Start a 4-6 step email sequence.
  • Add LinkedIn view + connect on touch 2.
  • No calls unless they engage.

Why: they’re researching. Don’t ruin it with random calling.

4) Call-first (high timing, enough fit)

  • Fit >= 70 AND Timing >= 70
    Action:
  • Call within 24 hours.
  • Follow with a tight email referencing the trigger.
  • If no connect, 2 calls max in 7 days, then drop to email.

5) Full-court press (high everything)

  • Fit >= 80 AND Intent >= 70 AND Timing >= 60
    Action:
  • Email day 0
  • Call day 1
  • LinkedIn day 2
  • Email day 4
  • Call day 6

6) Nurture (fit is good, intent is weak, timing is stale)

  • Fit >= 80 AND Intent 20-39
    Action:
  • Monthly value touch.
  • Wait for new intent.

No “checking in.”


Decay windows in practice: the cheat sheet

You need decay because your CRM will happily tell you an account is “hot” based on a click from 9 months ago. That is not hot. That is archaeology.

Default decay windows

  • Pricing view: 14 days
  • Competitor comparison intent: 21 days
  • Funding: 45 days
  • Job change: 30 days
  • Tool install: 60 days
  • Hiring burst: 45 days

Rule: when in doubt, shorten windows. You want fewer “hot” accounts with higher close rates.


Three sample scorecards (agency, SaaS, services)

These are starter templates. Change the numbers. Keep the structure.

ICP #1: Lead gen agency selling outbound services

Fit (0-100)

  • Employees 5-50: 20
  • Industry = marketing/lead gen agency: 20
  • Geography = US/CA/UK/AU: 10
  • Has founder or agency owner contact: 20
  • Uses Apollo or Instantly: 15
  • Uses HubSpot or Pipedrive: 15
    Fit max: 100

Intent (0-100)

  • Visits “cold email” content page: +10
  • Visits pricing page: +20
  • Reads 2+ case studies: +15
  • Third-party topics: “lead generation,” “cold email,” “sales automation”: +25
    Decay: 14-day half-life

Timing (0-100)

  • Hiring SDRs or appointment setters: +20
  • Job change: new Head of Growth: +25
  • Tool install: new email sending platform: +25
  • Funding: rare, ignore or low weight
    Decay: 7-day half-life

Routing

  • Fit 80+, Timing 70+ = call-first. Agencies move fast. They respect speed.

ICP #2: B2B SaaS selling to sales teams (CRM, outbound, RevOps)

Fit

  • Employees 20-500: 20
  • Tech industry: 15
  • Has RevOps / Sales Ops: 20
  • Has VP Sales: 15
  • Tech stack: HubSpot/Salesforce + sales engagement tool: 30
    Fit max: 100

Intent

  • Competitor comparison topic surge: +25
  • Review site activity: +20
  • Pricing page: +20
  • Docs/feature deep dives: +15
    Decay: 14-day half-life

Timing

  • New VP Sales: +35
  • New RevOps: +25
  • Funding (A/B): +25
  • “CRM migration” job post: +25
    Decay: 7-day half-life

Routing

  • High intent + decent timing = email-first with a trigger-based opener.
  • High timing (new VP Sales) = call-first within 24 hours.

ICP #3: Services company selling high-ticket (dev shop, cybersecurity services, consulting)

Fit

  • Employees 50-1000: 20
  • Industry: finance, healthcare, manufacturing (regulated): 20
  • Has CIO/CTO/IT Director: 20
  • Has compliance/security leader: 15
  • Existing tools: cloud + security stack maturity: 25
    Fit max: 100

Intent

  • Consumes “vendor evaluation” content: +10
  • Views case study relevant to industry: +15
  • Searches for “SOC 2,” “pen test,” “MDR,” etc: +25
  • Competitor research: +20
    Decay: 21-day half-life (services deals move slower)

Timing

  • Breach news: +40 (if applicable)
  • New compliance deadline mentioned: +25
  • New CIO/CTO: +25
  • New funding: often irrelevant
    Decay: 14-day half-life

Routing

  • Email-first with proof. Then call.
  • If intent is weak, do nothing. Services outreach without a reason looks like spam with a logo.

How to implement without a data science team (weekend build)

Step 1: Pick your data sources (minimum viable)

You need three buckets.

Fit

  • CRM fields (industry, size)
  • Enrichment provider (employees, revenue, tech stack)
  • Contact title mapping

Intent

  • Website analytics (even basic page view events)
  • Review site activity if you have it
  • Third-party intent if budget exists

Timing

  • LinkedIn job changes
  • Funding announcements
  • Hiring and job posts
  • Tech stack change signals

If you want the system to run without humans playing detective, you need enrichment and scoring automation. Chronic covers the core pieces: lead enrichment, AI lead scoring, and scoring-driven sequences with the AI email writer.

Step 2: Create your fields

In your CRM (or spreadsheet), create:

  • Fit_Score (0-100)
  • Intent_Score (0-100)
  • Timing_Score (0-100)
  • Total_Score (0-100)
  • Score_Updated_At (date)
  • Route (Email, Call, Wait, Disqualify)
  • Reason Codes (multi-select)
    • Example: “New VP Sales,” “Pricing view,” “Competitor surge”

Reason codes matter. Reps trust reasons, not numbers.

Step 3: Set the rules (automation)

Pseudo-logic:

  1. Calculate Fit weekly.
  2. Update Intent daily with decay.
  3. Update Timing daily with decay.
  4. If Total crosses a threshold, trigger routing:
    • Route = Call if Timing >= 70 and Fit >= 70
    • Route = Email if Intent >= 60 and Fit >= 70
    • Route = Wait if Fit >= 60 and Intent < 40 and Timing < 40
    • Route = Disqualify if Fit < 60

Step 4: Attach actions to routes

This is where most teams stop. Don’t.

  • Route = Email
    Start sequence automatically. Personalization anchored to the top reason code.
  • Route = Call
    Create task. Include trigger context in the task title.
  • Route = Wait
    No tasks. No sequences. Just monitoring.
  • Route = Disqualify
    Set lifecycle stage. Stop all outbound.

Chronic’s positioning is simple: once the score says “go,” Chronic runs the outbound end-to-end till the meeting is booked, and keeps the pipeline clean in your sales pipeline.


Weighting and tuning: the practical iteration loop

You don’t need machine learning. You need feedback and discipline.

What to track (weekly)

  • Meetings booked per route
  • Reply rate per trigger type
  • Connect rate for call-first
  • SQL rate by Fit band (60-69, 70-79, 80-89, 90+)
  • Time-to-first-touch after trigger (speed matters)

Woodpecker cites internal analysis showing a single follow-up can lift results materially, and reports that one follow-up can increase reply rates by about 22% in their example framing. (woodpecker.co)
Use that as an operational reminder: sequences matter, but only after scoring stops you from emailing the wrong people.

If your reply rate is bad, it’s usually list quality. Read: Cold Email in 2026: The List Is the Strategy (Not Your Subject Line). Then fix scoring.

How to tune weights (without lying to yourself)

  • If Fit 80+ accounts still never convert, your Fit inputs are wrong.
  • If Intent 70+ accounts never reply, your intent signals are weak or too broad.
  • If Timing drives replies but not meetings, your trigger messaging is off. Your offer does not match the moment.

Common failure modes (and how to avoid them)

“Everything is hot”

Cause: no decay, no do-nothing threshold.
Fix: add decay and enforce wait states.

“Reps ignore the score”

Cause: no reason codes.
Fix: show the top 1-2 reasons next to the score.

“Intent data creates false positives”

Cause: topic list too broad.
Fix: narrow topics to vendor evaluation intent, competitor comparisons, and problem-specific phrases.

“Timing triggers spam outreach”

Cause: triggers fire, messaging stays generic.
Fix: write one sequence per trigger type. Funding email differs from job change email. Obvious, but rarely done.

If you want a clean operational framework for this, steal it from your future self: Precision Selling: The Practical CRM Playbook (Signals, Priorities, Next Actions).


Where Chronic fits: scoring is the brain, execution is the muscle

Most teams duct-tape:

  • a list tool
  • an enrichment tool
  • a sequencing tool
  • a CRM
  • a scoring spreadsheet

Then they wonder why nothing stays consistent.

Chronic runs the system:

If you’re comparing stacks:

For pricing reality, read: AI CRM Pricing: Seats vs Credits vs Pay-Per-Action (The Only Math That Matters).


FAQ

What’s the difference between intent and timing?

Intent is research behavior. Timing is a change event. Intent answers “are they looking?” Timing answers “why now?”

What’s a good starting threshold for outreach?

Start with:

  • Disqualify: Fit < 60
  • Wait: Fit >= 60 and Intent < 40 and Timing < 40
  • Email: Fit >= 70 and Intent >= 60
  • Call: Fit >= 70 and Timing >= 70

Then tune based on meetings booked, not on “activity.”

How long should intent signals stay “active”?

Short. Buyers move. Your data should too. A clean default is a 14-day half-life for intent and 7-day half-life for timing.

Do I need third-party intent data for this to work?

No. First-party intent plus timing triggers already beats most teams. Third-party intent is an accelerant. Not a foundation.

How do I stop reps from overriding “wait” accounts?

Remove the option. No tasks, no sequences, no “just checking in.” Monitor-only. When new intent or timing appears, the route flips automatically.

What if Fit is perfect but Intent is zero?

Then you found a great account that does not care today. Waiting is a strategy. Calling is a hobby.


Build it this week, then enforce it

  1. Define your Fit scorecard and set a hard disqualify line.
  2. Choose 5-8 intent and timing signals you can capture consistently.
  3. Add decay windows so old behavior dies on schedule.
  4. Set do-nothing thresholds so SDRs stop chasing ghosts.
  5. Route automatically and measure meetings booked by route.

When the score says “go,” execution needs to be instant. Chronic runs that execution. Pipeline on autopilot. End-to-end, till the meeting is booked.