Build the Signal-to-Routing Spec: Scoring, Decay, and AE Handoff
Objective: Given a raw signal feed for 5 accounts, build a weighted scoring formula, apply score decay for signal age, and assign each account to an AE, SDR, or nurture routing tier with the correct urgency flag.
You're the GTM engineer at Snowflake building the account scoring and routing spec that will decide who an AE calls today versus who sits in a nurture sequence, before it gets handed to an engineer to wire into Clay and Salesforce.
Design a weighted signal-scoring formula, apply a decay multiplier based on signal age, then route each of 5 sample accounts into an AE, SDR, or nurture tier, flagging any account that needs outreach inside 2 hours.
Before you start
What you'll need
Free path (everything below is enough to finish)
Free and sufficient to design and validate the spec before an engineer wires it into Clay and Salesforce
The process
2 steps
Step 01 of 02
The lesson's automated scoring architecture joins intent data, firmographics, and web activity, then runs an AI column that weights and scores each account, replacing the stale quarterly spreadsheet exercise with a live signal.
Given 5 accounts each with a mix of fired signals (VP+ job change, funding round, tech stack install, pricing page visit, G2 review spike), what weighted formula turns those raw signals into one comparable score per account?
Procedure
- Set signal weights: VP+ job change = 30, funding round = 25, tech stack install = 20, pricing page visit = 15, G2 review spike = 10
- Build a 5-account x 5-signal matrix marking which signals fired for each account
- Sum weighted values per account to get a raw score out of 100
- Rank the 5 accounts by raw score before applying any decay
Account Job Chg Funding TechStack PricingVisit G2Spike Raw Score Bridgepoint Retail 30 25 - 15 - 70 Northwind Logistics - 25 20 - 10 55 Harrow Manufacturing 30 - 20 15 - 65 Cedar Analytics - - - 15 10 25 Vantage Health 30 25 20 - - 75
Healthy
Raw score spreads accounts across a usable range (roughly 20-80) instead of clustering everyone near the same number.
Unhealthy
Two accounts with very different real urgency land on the identical raw score with no way to break the tie.
What this means
Raw score alone tells you relative interest, not urgency — that's what step 2's decay layer is for.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| Raw scoring ranks accounts but two are tied and one signal is 3 weeks stale | Carry raw scores into the decay step before finalizing any routing decision | 5 min |
Step 02 of 02
The lesson's routing logic sends a 70+ score directly to an AE's queue with a Slack alert, 40-69 triggers an automated SDR sequence, and below 40 goes to nurture — and time from signal to outreach under 2 hours consistently outperforms next-day sending by 3-4x in reply rate.
Applying a 20%-per-week decay to each account's raw score and freshest signal age, which accounts move tiers, and which ones need a Slack alert for outreach inside 2 hours?
Procedure
- Record weeks since each account's freshest signal fired: Bridgepoint = 1 week, Northwind = 3 weeks, Harrow = 0 weeks (fired today), Cedar = 2 weeks, Vantage = 0 weeks (fired yesterday)
- Apply decay: decayed score = raw score x (1 - 0.20 x weeks since freshest signal)
- Assign routing tier from the decayed score: 70+ = AE queue, 40-69 = SDR sequence, under 40 = nurture
- Flag any account whose freshest signal fired within the last 24 hours for a <2h AE Slack alert regardless of tier
Account Raw Weeks Old Decayed Tier <2h Flag Bridgepoint Retail 70 1 56.0 SDR no Northwind Logistics 55 3 22.0 Nurture no Harrow Manufacturing 65 0 65.0 SDR yes Cedar Analytics 25 2 15.0 Nurture no Vantage Health 75 0 75.0 AE yes
Healthy
A fresh, high-scoring account (Vantage) clears the AE threshold and gets the <2h flag on the same pass.
Unhealthy
An account with a decent raw score but a 3-week-old signal (Northwind) still gets routed to an AE as if it were fresh.
What this means
Decay is what stops AEs from chasing ghosts — Bridgepoint's raw 70 would have hit the AE queue undecayed, but 1 week of staleness drops it to SDR.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| Northwind's raw score of 55 looks SDR-worthy but its freshest signal is 3 weeks old | Route by decayed score, not raw score, and confirm nurture is correct for anything decayed under 40 | 30 min |
Final deliverable
A scoring and routing spec: the weighted signal formula, the decay multiplier, and a threshold table (AE/SDR/nurture) validated against 5 sample accounts with urgency flags.
See a reference example
Adyen, signal scoring + routing spec (excerpt) Weights: VP+ job change 30, funding round 25, tech stack install 20, pricing page visit 15, G2 review spike 10 Decay: -20% per week since freshest signal Account: Northwind Logistics — raw 78, 1 week old -> decayed 62.4 -> SDR sequence Account: Bridgepoint Retail — raw 85, fired yesterday -> decayed 85 -> AE queue + <2h Slack alert
Success criteria
You're done when you can:
- Weighted formula correctly sums signal values per account
- Decay is applied based on signal age before routing tier is assigned
- Accounts whose freshest signal fired within 24 hours are flagged for <2h AE outreach regardless of score tier