Intent Signal Decay vs. Expiration: When Should a Buying Signal Stop Counting?

Intent Signal Decay vs. Expiration: When Should a Buying Signal Stop Counting?

Most intent scoring models only do half the job. They decay a signal's weight a little each week, but they never actually retire it. Decay and expiration are two different rules: decay is a gradual reduction in how much a signal is worth, and expiration is a hard cutoff where a stale signal stops counting toward score or routing at all. Run decay without expiration and your "warm" tier quietly fills with accounts that went cold a month ago. They just faded instead of falling out.

Decay and Expiration Solve Different Problems

Decay answers "how much less should this be worth today than it was worth last week." It's a modeling nuance, and most serious scoring frameworks already do some version of it, ours included: we recommend decaying signal weight weekly instead of leaving it flat for a quarter. But decay alone has a ceiling problem. A signal that started strong can decay for months and still sit above zero, still contribute a few points, still occasionally nudge an account back into a rep's queue. Nothing in a pure decay model ever says "this is done, stop counting it."

Expiration is the rule that says that. It's a per-signal-type shelf life: once a signal crosses its window, its contribution goes to zero and it stops triggering routing or alerts, even if the account's composite score technically still has other active signals holding it up. Decay smooths the curve. Expiration draws the line.

Why Decay Alone Breaks Down in Practice

We saw this play out on a call with an operations and GTM lead at a mid-market industrial supply company. Their identified-visitor Slack channel had become noise; his exact complaint was wanting "not so much noise now in this Slack channel." In the same conversation, he flagged that a funding announcement landing in the next couple of weeks would make incoming traffic unusually worth watching, because "any traffic that we get out there, we're able to optimize and keep an eye on."

Those two statements describe the same underlying gap. A decay-only model treats a funding-triggered visit today and a routine, six-week-old pageview identically once both have decayed into the same score band. Both look like faded versions of a real signal, and neither gets pulled out of rotation. The rep can't tell which one is actually still live without opening the record and checking a timestamp by hand, which is exactly the manual work a scoring model is supposed to remove.

Set Expiration Windows by Signal Volatility, Not One Global Rule

A single expiration window for every signal type is almost as broken as no expiration at all. A pricing page visit and a funding announcement don't describe the same kind of buying reality, and they shouldn't share a shelf life. Rank signals by how fast the underlying condition actually changes, then set the window to match:

  • 🔴 Very High volatility - Pricing or demo page visit, repeat session inside 48 hours - expire in 3-5 days. Buying urgency this concentrated cools fast; if there's no next step within a week, it's gone, not just decayed.
  • 🟠 High volatility - Buying-committee expansion, two or more new stakeholders in the same week - expire in 7-10 days. A widening committee is real, but it's tied to an internal process that either progresses or stalls inside two weeks.
  • 🟡 Medium volatility - G2 or comparison-site activity - expire in 14-21 days. Comparison shopping is a genuine signal, but the evaluation window runs longer than a single page visit.
  • 🟢 Low-Medium volatility - Funding or headcount-growth trigger - expire in 60-90 days. A company in expansion mode stays in that state for a quarter, not a week. Treat it as a standing account-level modifier rather than a point that decays out weekly.
  • Low volatility - Aggregated third-party category research - expire in 30 days on a rolling refresh, since it's continuously re-observed rather than tied to a single event.

The pattern: the more concentrated and person-level the signal, the shorter its shelf life. The more it describes a standing company-level condition, the longer it can stay live.

The CRM Mechanics of Actually Expiring a Signal

Expiration only works if it's built into the system, not into someone's judgment call at review time. The mechanics are straightforward:

  1. Add two properties per signal, not one. A signal-type field and a signal-timestamp field. A single "last activity" date can't support different windows per type.
  2. Build a scheduled job, not a manual sweep. Daily is safer than weekly for the volatile tiers above; a funding trigger can tolerate a weekly check.
  3. Zero the contribution, don't delete the record. When a signal crosses its window, its point value drops to zero and it stops feeding routing or alert triggers. The historical record stays for audit and for backtesting later. You're removing its vote, not its evidence.
  4. Recalculate the composite score immediately after expiration runs. An account sitting at "warm" because of two signals, one of which just expired, needs to drop tiers the same day, not whenever someone happens to reopen the record.
  5. Stop routing and alerting the moment a signal expires, even mid-sequence. If the only reason an account is in an active cadence was a now-expired trigger, pull it out rather than letting momentum carry it forward on stale justification.

What Happens When Nothing Ever Expires

The failure mode isn't hypothetical. A fractional RevOps and GTM engineer who runs automation for agency clients described re-discovering a client's identified-visitor-to-sequence workflow that had been running untouched for months. In his words, "I think it was kind of on autopilot. I don't think he was doing much," confirmed by the client contact, who agreed it had been running "a while back" with no one checking it. Signals from that visitor identification tool had been feeding contacts into outbound sequences the entire time, with no expiration rule and no one reviewing whether the underlying intent was still real. Nobody had turned it off because nothing in the system ever told anyone it should be.

That's what a decay-only, expiration-never model produces at scale: not one bad lead, but a standing pipe of stale signals quietly generating outreach against accounts whose "intent" is a two-month-old artifact. It's the same category of problem a response-time SLA solves on the other end of the timeline. An SLA governs how fast a fresh signal has to be acted on, while an expiration rule governs how long a signal is allowed to stay actionable in the first place. You need both, because a fast response to a stale signal is still wasted motion.

Build This Into Your Model This Week

You don't need to rebuild your entire scoring model to add expiration. Five steps get you there:

  1. Inventory every signal type currently feeding your composite score.
  2. Assign each one a volatility tier using the ranking above as a starting point, adjusted for your own sales cycle.
  3. Add signal-type and signal-timestamp fields to the CRM record if they don't already exist.
  4. Build the scheduled expiration job and confirm it recalculates the composite score, not just a flag.
  5. Review expiration windows on the same cadence you already use to review signal weights: quarterly at minimum, checked against which expired-vs-fresh signals actually correlated with closed-won.

This assumes the identification underneath your scoring model is solid to begin with. Knock2 identifies roughly 93%* of engaged sessions at the account level and 62%* of US engaged sessions down to a named person, so the signals you're decaying and expiring are attached to real accounts rather than guesses. See how account and person-level scoring works, or how the workflow layer handles routing once a signal is live.

*Identification rates measured against engaged sessions. Results may vary by traffic profile, geography, and industry.

FAQ

What's the actual difference between signal decay and signal expiration?

Decay gradually reduces a signal's point value over time. Expiration is a hard cutoff where the signal's value drops to zero and it stops triggering routing or alerts entirely, regardless of what its decayed value would otherwise be. Most scoring models have decay. Few have expiration.

How is this different from a response-time SLA?

An SLA governs how fast a rep has to act on a fresh signal. An expiration rule governs how long a signal is allowed to stay live before it stops counting at all. They sit on opposite ends of the same timeline: one protects speed, the other protects relevance.

Should a funding or hiring trigger expire on the same schedule as a pricing page visit?

No. Behavioral, person-level signals like a pricing page visit reflect a moment that cools within days. Firmographic triggers like funding or headcount growth describe a standing company-level condition that holds for a quarter. Sharing one expiration window under-credits the firmographic signal and over-credits the stale behavioral one.

Does expiring a signal delete it from the record?

No, and it shouldn't. Expiration zeroes the signal's contribution to the live score and stops it from triggering routing, but the historical record stays intact for auditing and for the quarterly backtest that tells you whether your windows are still calibrated correctly.

Decay tells you how much a signal is worth today. Expiration tells you when to stop asking. See how Knock2 scores, decays, and routes identified-visitor signals in one system, instead of maintaining the expiration logic by hand in a spreadsheet nobody remembers to update.

Intent Signal Decay vs. Expiration: When Should a Buying Signal Stop Counting?

John DiLoreto is the founder & CEO of Knock2

Latest articles

Browse all