How to score a buying signal

Recency, fit and implication are three separate questions. A scoring model that survives real data, and the two ways most models quietly break.

Scoring a buying signal means answering three separate questions and keeping the answers separate: how recent is the event, how well does the account fit, and what does the event actually imply about budget. Most scoring models blend the three into one number, and that single decision causes most of the ranking problems teams blame on data quality.

The three questions, and why they must stay apart

Recency. When did the event happen? Note that this is not when you found out. Both dates matter, and the gap between them is your competitive position rather than the signal's strength.

Fit. Does this account resemble the ones you actually closed? Not the ones in the pitch deck.

Implication. What does this specific event say about money? A funding round says capacity exists. A job post says headcount was approved. A conference attendance says someone went to a conference.

Blend these and you get a number that cannot be argued with, because nobody can tell which dimension produced it. Keep them apart and a rep can look at a row and say "great fit, stale event, wait for the next trigger", which is an actionable sentence.

The ranking that works

Rank on fit first, recency second within each fit band, and use implication to decide the play rather than the order.

FitRecencyWhat to do
HighUnder 30 daysContact now. This is the whole point of the system
High30 to 90 daysContact, but lead with the problem rather than the event
HighOver 90 daysLeave it. Wait for the next trigger at an account you already like
LowAnyDo not contact. A fresh event at a bad-fit account is still a bad-fit account

That last row is where most pipelines leak. A fresh, dramatic signal is genuinely exciting and it overrides the ICP filter roughly every time, and the deal dies on fit six weeks later after consuming a rep's month.

Failure one: a dimension that does not vary

If every row in your feed already passed your ICP filter before scoring, then fit contributes nothing to the score. Every account scores high on it, the dimension is constant, and your "composite score" is recency with extra steps.

The test is easy. Look at the distribution of each dimension across a week of results. If one of them is flat, it is decoration.

Failure two: fake freshness

This one is subtle and it is worth understanding because it is a design mistake, not a data-quality problem.

Not every row in a signal feed is an event. Some rows are current-state matches: a company that fits your criteria today, surfaced because you asked for companies fitting those criteria. Nothing happened. There is no date.

The tempting shortcut is to stamp those rows with the time you found them. Do that and every match becomes maximally fresh by construction, sorts to the top of a recency-ranked feed, and pushes genuine events below the fold. The feed now ranks noise first and looks like it is working.

Signl handles this by storing no event date on current-state matches at all, and by dropping the recency dimension as not applicable when scoring them rather than substituting a value. A row with no event date is scored on fit alone, which is the only honest thing to say about it.

Stacking, and the version of it that is double counting

Two signals that point at the same conclusion through different evidence are genuinely stronger than either alone. A funding round supplies capacity; open sales roles supply direction. Neither tells you the other, which is exactly why the pair is informative.

Two signals that measure the same underlying thing are not a stack. Open roles and headcount growth are largely the same fact observed twice. Counting both inflates confidence without adding information, and it systematically over-ranks fast-growing companies that were already at the top.

Before you add a signal to a compound trigger, ask what it tells you that the others do not. If the answer is nothing, it is a duplicate.

How to act on the score

A score is a queue order, not a decision. The useful output of scoring is not a number next to an account, it is a sorted list plus a reason a rep can read in four seconds.

Signl scores every search result and every Loop match against the ICP profile you define in the dashboard, so results arrive ranked rather than merely matching. Signals also carry both the event date and the detection date, so the gap is visible instead of asserted, and rows without an event date are honest about not having one.

Defining an ICP is what makes the fit dimension vary. Without one, scoring is recency with extra steps.

The two signals that stack best are covered in funding round signals and hiring surge signals. For defining the ICP the fit dimension depends on, see define your ICP.

Frequently asked questions

How should you weight buying signals in a scoring model?

Score recency, ICP fit and budget implication separately rather than blending them into one number, then rank on fit first and recency second within each fit band. A single blended score lets a perfect-fit account with a nine-month-old event outrank a fresh event at a company you cannot sell to, which is the failure mode almost every scoring model ships with.

Why do most signal scores end up clustered at the top?

Usually because a dimension is constant. If every row in your feed matched your ICP filter before it got scored, then ICP fit contributes nothing and the score collapses to recency wearing a disguise. A scoring dimension only carries information if the rows genuinely vary on it.

Does signal stacking actually work?

Combining signals that point at the same conclusion is genuinely stronger than either alone, because each one covers the other's blind spot: a funding round supplies capacity and a job post supplies direction. Combining signals that measure the same thing twice is not stacking, it is double counting, and it inflates confidence without adding information.

Query these signals from your agent.

Signl runs as an MCP server. Ask for companies, signals and decision-makers in plain English.

Book a demo