Account tiering and campaign orchestration for corporate social impact platforms, built on signals a company publishes about itself rather than a third-party intent co-op.
The intent-data budget disappeared. The pipeline problem did not. Signal Desk is what I built instead.
Actual application. Account list with tier chips and composite scores on the left; selected account detail with tier-change log on the right.
Enterprise ABM programs are designed around a premise: that intent signals purchased from a third-party co-op can tell you which accounts are actively researching your category. The leading platforms cost between $50,000 and $200,000 per year. When the budget disappears, the list disappears with it.
But buyers of corporate social impact platforms announce their triggers. A new ESG leader is a public hire. A corporate foundation is a public filing. An impact report is a press release. An M&A deal is an SEC document. The hard part was never the data. It was knowing what to look for and what it is worth.
Signal Desk is the instrument for that judgment. It takes the signals a company publishes about itself, weights them by how reliably they predict a buying event, combines them with what the sales team knows and what HubSpot shows, and produces a tier assignment that is transparent, arguable, and self-maintaining.
Signals flow into a score. The score determines a tier. The tier determines a play. The play produces engagement, which lands back in the score as CRM behaviour. Every tier change is written to the decision record with its cause. The loop is self-documenting.
Public signals tell you that something changed. Field verdicts tell you what the rep found out. CRM behaviour tells you whether anyone is actually engaging. They all matter, and they decay at different speeds because evidence goes stale at different speeds.
Monday sweep · replaced each cycle
Full weight at 30 days · zero at 180 days
Nightly HubSpot pull · full at 30 days, zero at 90
Actual application. Change a weight and the entire account book re-ranks immediately. Weights are editable in the interface, not in code.
Every signal has a stated weight and a stated reason. Both are visible in the interface, so a rep can argue with the scoring instead of just receiving a tier assignment.
Negative signals are first-class citizens. An account that renewed with a competitor scores −25 on that signal alone, which places it below an account with no signals at all. Effort there is worse than wasted, and the model makes that explicit rather than pretending the account is neutral.
The weights shipped with the tool are a calibrated starting point, not a finding. Until two quarters of closed-won data are available to refit them, they are a hypothesis made visible. The quarterly refit is the step that makes them real.
Every ABM tool promotes accounts. Almost none demote them, because demotion requires someone to admit an account is not working. Decay makes that automatic and dated, so the list is honest on a Monday without anyone having to be.
| Tier | Entry | Play | Owner | Promotes when | Demotes when |
|---|---|---|---|---|---|
| 1:1 | 70+ | Named account plan. Personalized page referencing the specific trigger. Executive direct mail. AE and BDR sequenced behind the physical touch, not before it. | ABM + named AE | Meeting booked, deal opened, exits tiering | Below 65 and thirty days in tier, or champion departs |
| 1:few | 40–69 | Cohort by trigger type, not by industry. Shared narrative with a personalized opener. Roundtable or workshop as the conversion moment. | ABM + BDR pool | Crosses 70 on any lane | Below 35 and thirty days in tier |
| 1:many | 15–39 | Programmatic coverage. Nurture on the trigger theme rather than the product. Re-scored monthly. | Demand generation | Crosses 40, or any field verdict logged | Below 10, or no activity for 180 days |
| Monitor | below 15 | No spend. Watched by the weekly sweep for a leadership hire, a published commitment, or an expiring competitor lock. | Nobody, by design | Crosses 15 on the public lane | Terminal, until a signal appears |
| Out | Gate | Not ICP, or an open deal exists, or a competitor renewal is inside its term. No ABM spend of any kind. | Sales, or nobody | Requalified, deal closes lost, or lock decays | Terminal while the gate holds |
Most of these are about what the model does when nothing happens, which is where most account programs quietly break.
Field verdicts decay to zero over 180 days. A verdict logged last year is not evidence this year. The account list self-cleans without anyone having to make the awkward call to demote an account they once cared about.
An account that renewed with a competitor (−40 field verdict) scores below an account with no signals at all. Effort there is worse than wasted, and the model makes that explicit rather than treating the account as neutral.
Promote at the threshold. Demote five points below it. Thirty days minimum in a tier. The five-point gap prevents tier-flipping on accounts near a boundary. The dwell means a play gets to finish before the engine changes its mind.
ABM budget spent on an account sales is already actively working is the most common invisible waste in these programs, and it inflates every influenced-pipeline number reported afterwards. The gate removes the ambiguity.
Every tier states who owns it. Ownership ambiguity between marketing and sales is where account programs die, so it is fixed at tier assignment and not negotiated per account.
Campaign-driven CRM engagement counts at half weight in the CRM lane. Unsolicited activity at full weight. Without that split the score starts measuring your own marketing spend instead of buyer intent, which is the exact bias account scoring exists to correct.
| Suppression rule | Trigger | Effect |
|---|---|---|
| Tier dwell | Thirty days minimum in tier | Prevents a play from being interrupted before it can finish. Score can change; play does not until dwell is satisfied. |
| Play cooldown | 21 days between play changes | Prevents the same account from receiving conflicting campaigns within the same cycle. |
| Channel hold — opt-out | Account-level unsubscribe or hard bounce | Channel is suppressed until resubscription. The rest of the program continues. |
| Channel hold — layoffs | Layoffs or restructuring signal logged | Email suppressed. Direct mail and executive programs continue. Discretionary spending freezes; the relationship does not. |
| Champion departure | Champion left or went quiet verdict | Account demoted one tier and held for thirty days. Score recalculation runs at next sweep with the verdict decaying at the standard rate. |
| Competitor lock | Renewed with a competitor | Account exits the active tier entirely and enters a long-cycle nurture. Returns to tiering when the lock decays at 180 days. |
Signal Desk: A Signal-Based ABM Operating Model
All scoring lanes, tier logic, suppression rules, cohorts, and implementation options in one PDF.
The MVP proves the scoring model works and surfaces where the judgment calls actually live. What it cannot do is as important as what it can.
Actual application. Paste a Fathom or Gong transcript. Statements that map to a verdict come back with the quote and the speaker. Nothing is logged without approval.
Actual application. Every tier change is logged with a date, a cause, and who triggered it. The history makes the scoring auditable and the conversation with sales grounded.
Two banks with different triggers belong in different campaigns. A bank and a hospital with the same trigger belong in the same one. The play matches the reason for buying, not the buyer’s industry.
A new leader has a mandate to show progress inside twelve months and no baseline to show it against. Lead with peer benchmarking, not with product. The urgency is real and the timeline is short.
30-min benchmarking sessionWhen a platform gets acquired — Bonterra bought Deed in March 2026 and already owned CyberGrants — roadmap direction is unresolved and account teams are being asked about it. Lead with migration risk, not features.
Migration assessmentThe US corporate deduction floor of one percent of taxable income took effect in January 2026. Companies are rethinking giving vehicles. Lead with structure and compliance rather than product capability.
Roundtable with foundation leadTwo giving programs, two contracts, one renewal being consolidated. Lead with the cost of running both rather than leading with feature comparison. The conversation the CFO is already having is the one to join.
Consolidation workshopYear one gets reported off spreadsheets and heroics. Year two needs an audit trail and comparable numbers. Lead with what breaks next cycle, not with what worked this one.
Reporting readiness auditParticipation tracking, matching caps, and multi-currency disbursement all fail at a specific size threshold. Lead with the threshold, not the platform. The question is when it breaks, not whether.
Program reviewA different budget holder and a different language from the CSR team, but a warm route into an account where social impact has no owner yet. Lead with the people team’s vocabulary, not the CSR team’s.
ERG engagement teardownMatching inside forty-eight hours. Short window, high urgency, low tolerance for a procurement cycle. Time-boxed to thirty days, then the account returns to its underlying tier. The offer is speed, not relationship.
Fast-track matching setupThe MVP proves the model works. Phase 2 removes the friction that prevents reps from actually using it.
Postgres for the scoring view, pg_cron for real scheduling, server-side Edge Functions with no CORS problem, and row-level security in one place. The score becomes always-current without a recalculation job.
Nightly pull of buying committee breadth, high-intent page views, meetings held, form submissions, and email engagement. Capped at +40 and −20. Solicited activity at half weight.
Tier, score, lane split, and the reasoning line land on HubSpot company properties. The list lives where sales already works, not in a separate tool they have to remember to open.
Right now the field loop depends on someone transcribing what reps said, which is the bottleneck that kills these programs. Auth lets AEs log their own verdicts from a mobile view directly after a call.
Firmographics, headcount trend, and fit-layer enrichment on the way in. Signal Desk stays the scoring and judgment layer; Clay stays the enrichment layer.
Snapshots are append-only. After two quarters, weights can be checked against closed-won data and re-fitted. That is when this stops being a framework and becomes a model.
| Stage | Estimated hours |
|---|---|
| Schema, decay view, score-account function, cron | 16–22 |
| HubSpot read, snapshot table, three-lane scoring view | 16–22 |
| Frontend ported off browser storage onto Supabase | 8–12 |
| HubSpot write-back to company properties | 8–12 |
| Clay enrichment both directions | 8–12 |
| Auth, AE verdict screen, notes approval queue | 14–20 |
| Refit reporting against closed-won data | 6–10 |
The reusable part of Signal Desk is the taxonomy and the tiering logic, not the delivery mechanism. The same model could run as Clay tables plus a HubSpot workflow, which would be cheaper and fit the existing stack better. Choosing between those is the actual judgment call.
What Signal Desk documents is the decision: which signals matter and why, what evidence decays and how fast, where the ownership boundaries sit, and what suppression rules make the list honest without human maintenance. That documentation is the thing that survives the tool.
If you are working on a similar prioritization problem and want to talk through the methodology, the engineering choices, or how to adapt the model to a different category, I am available for a thirty-minute call.