DEAN/gtm.sys
← Back to home
Writing · Signal architecture

Signals decay. Most GTM systems just don't know it yet.

A framework for building a feedback loop that tells you when a signal is dead, when it's real, and how to get smarter about the next one.

By Dean De Dios
~9 min read
Framework · Perpetual Signal Validation

The problem nobody's solving

B2B companies aren't short on data anymore. Every team has firmographic profiles, technographic footprints, behavioral trails, and a growing pile of trigger signals pointing at accounts that might be ready to buy. The problem isn't collection. It's that most of this data lives in silos, owned by different departments, understood through tribal knowledge that never gets written down anywhere.

There's no shared view of how a signal that fired three weeks ago connects to what a rep is doing today. So teams end up guessing, running plays off a hunch, or off information that was accurate a month ago and just isn't anymore.

That last part is the piece most signal systems miss entirely. Signals don't just exist, they decay. A hiring surge from last quarter doesn't mean the same thing today. A tech stack change from six months ago may already be absorbed and forgotten. Most workflows treat a signal as true the moment it fires and never revisit that assumption.

What's missing isn't more data. It's a way to keep checking whether the data is still telling the truth.

From data to signal to something that self-corrects

Data tells you what a company is. A signal tells you what a company might be about to do. Firmographic data (industry, employee count, funding stage) and technographic data (tools in the stack, tech adopted or removed) describe a company's shape. Behavioral data (pricing page visits, demo requests, content downloads) describes movement. Combine shape with movement and you finally get something worth acting on.

FIG.01 · shape + movement
data → signal
shape movement FIRMOGRAPHICindustry · size · funding TECHNOGRAPHICstack · adopted · removed BEHAVIORALvisits · demos · downloads COMBINEweighted SIGNALworth acting on · has a shelf life

But even a good signal isn't permanent. It has a shelf life, and almost nobody builds a system that tracks that shelf life or learns from whether the signal turned out to be right. That's what I want to teach here: a Perpetual Signal Validation System, a closed loop that doesn't just detect signals but checks whether they're still alive, validates whether they were accurate based on what happened when a rep acted on them, and uses that outcome to make the next round of scoring smarter.

The framework, layer by layer

01

Three separate inputs

Firmographic, technographic, and behavioral data come in as distinct streams rather than blending immediately, because each type decays on its own clock.

02

Trigger signal formation

The three streams combine into a single weighted trigger score, instead of treating any one event as sufficient on its own.

03

Tiering against a thesis

Each trigger is tiered by a thesis about what actually predicts buying behavior for that ICP.

04

Two staleness gates

Data decay and action decay are checked separately. A signal can fail either one, and each failure points to a different problem.

05

Action, scoring, and the loop back

Plays run until exhausted, AI scores which signal actually landed, and that confidence update feeds back into tiering.

Weighting the trigger

No single event carries the signal. Weighted together, they produce one score:

Series B raise
40%
3+ SDR postings in 30 days
35%
Pricing page visit
25%
combined trigger score100%

A strong thesis vs. a weak one

A strong thesis names a specific, countable trigger, ties it to a concrete business reason, and implies a timeframe.

✓ tiers high
"3+ SDR roles in 30 days signals a company scaling outbound that will need tooling to support it."

Countable, reasoned, and time-bound. Expiration is built in.

✗ too vague
"Job postings are a signal."

Nothing to act on and no expiration, which is often the root cause of stale-signal problems later.

The two staleness gates

A tiered signal has to clear two separate checks before anyone acts on it. The first is a data decay check: has the underlying signal itself aged past relevance? A job posting is treated as stale after 30 days; a technographic change stays relevant for roughly six months. The second is an action decay check: even if the data is still fresh, did a rep act within the internal window required to reach the prospect while the signal still applies?

Why two gates, not one

A signal can fail either gate on its own, and each points to a different problem. One is a data-freshness issue. The other is a team-speed issue. Collapsing them into a single check hides which one you actually have.

FIG.02 · the two staleness gates
data decay · action decay
TIERED SIGNALready to check gate 1DATA DECAYstill fresh? gate 2ACTION DECAYacted in time? ACTplay runs DATA-FRESHNESS ISSUEsignal aged out TEAM-SPEED ISSUEacted too late

Action and the exhaustion loop

A signal that clears both gates gets acted on. If a first play, referencing one signal, gets no response, the rep doesn't abandon the account. They try a different play referencing a different signal already on file, and keep cycling until they're genuinely out of options. Only after that exhaustion does the system move to scoring, because "nothing worked after every play we had" is still a real data point worth keeping.

AI scoring against the thesis

This is the layer doing the real work, and it's not just logging whether a response came in. Since each play tested a different signal, the AI reads the email thread, call transcript, or meeting notes to figure out which specific signal the prospect actually reacted to: an explicit mention, a topic raised on the call, something referenced in the meeting. The goal is finding the correct play among the ones tried, not just confirming that something positive happened.

The validation score, and what it's actually about

This is the detail that matters most. The score isn't a label on that one account. It's a confidence update on whether a specific signal predicts buying intent across the whole ICP. If "aging tool nearing renewal" turns out to be what actually moved this account, while a funding-round signal and a hiring-surge signal were present but ignored by the prospect, only the renewal signal's weight goes up in the tiering logic. That update applies to every future account in the same ICP, not just the one that was just validated.

That's the feedback loop running from scoring back into tiering, and it's what makes the system perpetual instead of a one-time scoring exercise.

FIG.03 · the perpetual signal validation loop
full loop · archive paths
FIRMOGRAPHICindustry · size · Series B TECHNOGRAPHICstack · adopted · removed BEHAVIORALpricing visit · demo request 01 · trigger signal formationWEIGHTED COMBINATIONSeries B 40% · 3 SDR postings 35% · pricing visit 25% 02 · tiering · signal thesis scoringTIER: HIGHspecific trigger · tied to a reason · time-bound 03 · gate 1DATA DECAY CHECKis the signal itself still fresh? decayed ARCHIVEdata stale valid 04 · gate 2ACTION DECAY CHECKdid a rep act inside the window? too late ARCHIVEaction stale acted in time 05 · actionRUN PLAYplay 1 references signal A RESPONSE?did anything come back? no TRY A DIFFERENT PLAYsignal B, then C…each play tests a different signal plays remaining plays exhausted yes 06 · AI scoringWHICH SIGNAL LANDED?reads thread · transcript · meeting notesfinds the correct play, not just a positive outcome VALIDATION SCOREnot an account label · confidence that signal X predicts intent for this ICP feedback loop
The loop is closed: a signal can archive at either gate, plays cycle until exhausted, and what finally lands changes how the next signal is tiered.

Making it concrete: a sales tooling example

Take a hypothetical sales engagement platform selling into mid-market companies. Three signals are tiered for this ICP and all present on one target account: a funding round (Signal A), a hiring surge of 3+ SDR postings in 30 days (Signal B), and an aging sales tool approaching renewal, picked up technographically (Signal C). All three clear both staleness gates.

PLAY 1
References Signal A · funding round
no reply
PLAY 2
References Signal B · hiring surge
no reply
PLAY 3
References Signal C · renewal window
reply → call → meeting

The AI scoring layer reads the thread and the call notes and finds the prospect brought up their renewal timeline and their frustration with their current tool's reporting, never mentioning the funding round or the hiring push at all. That points to Signal C as the correct play.

The output

The validation score isn't "this account is validated." It's "aging tool nearing renewal is confirmed as predictive for this ICP." Signals A and B don't get credited even though they were present. Signal C's weight goes up for every future account in this ICP showing the same technographic pattern.

The same framework, two other verticals

Project management tool

20%+ quarterly headcount growth + a newly hired VP of Operations

Thesis: operational complexity is outpacing current process. That data decays slowly enough to re-check quarterly. A validated response nudges confidence in the combination up for every similar account in the ICP.

AP automation tool

A recent funding round + a new Controller or AP Manager posting

Thesis: the finance function is being formalized. The funding half decays slowly; the job-posting half decays fast. A validated response nudges confidence in that specific combination for future accounts.

Both run through the identical five-stage loop. Only the signals, decay windows, and touchpoints change. That portability is the point. This isn't a sales-tool framework or a fintech framework. It's a structure for how any B2B team can stop treating signals as permanent facts and start treating them as claims that need to be checked.

What's still unresolved

Being honest about the rough edges: the exhaustion loop assumes a team has more than one play ready per signal, which isn't always true for smaller teams. And the AI scoring layer is only as good as the transcripts and notes it's reading. A rep who logs a call badly produces a bad validation score no matter how well the framework is designed. Those are real constraints, not solved problems.

Why this matters now

Every B2B team already has more signal data than they know what to do with. The bottleneck isn't access to data anymore. It's the absence of a feedback loop that tells you which signals were ever actually true.

A system that only detects signals will always guess at the same rate it started. A system that validates and feeds outcomes back into its own scoring is the difference between a team reacting to data and a team actually learning from it.