Fit score tells you who. It can't tell you when.
A fit score answers whether an account is worth pursuing. It was never built to answer whether this is the moment to call. Four signal families and a simple matrix fix that.
Most B2B teams that run a lead or fit score eventually hit the same wall. The score tells you an account is a good match: the right size, the right industry, the right budget signal. It says nothing about whether this account is ready to talk right now. So reps end up working a list sorted by fit alone, calling well-matched accounts that happen to be doing nothing, while a company that is actively researching a solution sits further down the list, unnoticed.
Short answer: fit and engagement are two different questions and belong on two different axes, never summed into one number. Fit (who) should gate whether an account enters the funnel at all. A second axis, built from engagement, intent and account-wide activity, decides timing. An account only counts as genuinely “hot” when at least two independent signals from different families point the same way, not one signal repeating itself.
Why one score can’t do two jobs
A fit score and an engagement score answer different questions, and blending them into a single total hides both answers. A high-fit account with zero activity and a low-fit account that happens to click every email can land on the same number. Neither case deserves a sales call: the first isn’t ready yet, the second was never going to buy. Keeping the two separate is what lets a model say “nurture this” instead of “call this,” which is the only thing a rep actually needs to know.
Four signal families, not one stream
Instead of one growing pile of points, it helps to think in four distinct families:
- Fit: is this the kind of account that could ever buy? Firmographic and budget signals, decided once and rarely changing.
- Engagement: is this specific contact doing something with your own content or messages, such as opening emails, visiting pricing or service pages, or booking a meeting?
- Intent: is the company researching a problem even before anyone fills in a form, picked up through visitor identification or similar tooling?
- Account: is more than one person at the company showing activity, which usually means a real buying process has started rather than one curious individual?
Fit is the gate. The other three together form what is usually called “heat”: not a new score bolted onto fit, but a separate axis that answers a different question.
The matrix: fit times heat
Laid out as a simple grid, the two axes decide the action, not the score:
| Cold (no signal) | Warming (1 signal) | Hot (2+ signals, different families) | |
|---|---|---|---|
| Low fit | ignore | ignore | marketing nurture only |
| Medium/high fit | nurture track | weekly list for the rep | sales alert, with the reason stated |
The point of the grid is not the labels, it is that an alert only fires in one cell: medium or high fit, with at least two signals from different families. Everything else either waits in a nurture flow or shows up on a list a rep checks on their own time, not a notification that interrupts their day.
Why “hot” needs two signals, not one
A single repeating signal, such as three marketing emails opened in a week, feels like activity but proves little: it could be one person skimming a newsletter. The fix that most B2B teams converge on is requiring at least two signals from different families before anything reaches a rep as an alert: an intent signal plus a later engagement click, or an engagement spike plus a second contact from the same company getting active. One signal still counts, it just stays on a list instead of becoming an interruption. Teams that skip this step train their own reps to ignore alerts within weeks, because most of them turn out to be nothing.
Decay matters, fit doesn’t need it
Fit describes a company, so it barely changes month to month. Engagement and intent describe a moment, and a moment fades. A pricing-page visit from five months ago says little about intent today. Most scoring tools support decay natively, so the fix is a setting, not a rebuild: fast decay on light signals like an email open, slower decay on strong signals like a booked meeting, and no decay at all on fit.
Where to start
Build the visibility layer before the alerts. A single list of accounts at medium-or-higher fit with two or more recent signals from different families, visible to the reps who own those accounts, already tells you more than most teams see today. Watch it for a few weeks, then turn the same rule into an automatic alert once you trust it. Only after that, check whether the accounts the model called “hot” actually closed more often than the ones it didn’t. A model that looks right in theory and wrong against your own won deals needs its thresholds adjusted, not its logic thrown out.