Score accounts on three separate axes with fixed maximums: firmographic fit (60 points), independent business signals (25 points) and contact coverage (15 points). Cap every signal category, count distinct evidence rather than repeated events, and flag unknown fields instead of scoring them as zero. That structure gives you an account scoring model your revenue team can read, audit and argue about, which is the point. A number nobody can explain is a number nobody trusts.
Account scoring operates at the company level, which makes it a different instrument from a person-level lead score. Platforms like Marketo document account scoring (Adobe), and Demandbase describes scoring at the account rather than the individual level (Demandbase). The model below is an original rules-based illustration, not a description of either vendor's defaults and not a predictive machine-learning claim. It is arithmetic you control.
Why three axes instead of one blended number
Each axis answers a different question, and collapsing them hides failure modes.
Fit asks: should we ever sell to this company? It is built from firmographic and technographic attributes that change slowly. Industry, employee range, technology stack, geography, business model.
Signals ask: is something happening right now? Hiring in a relevant function, a funding event, intent topic activity, an expansion announcement. Set expiry rules for both signals and fit evidence. Employee bands, operating markets and technology usage can change too.
Coverage asks: can we actually act? An account with strong fit and signals but no verified buying-role contacts needs further contact research or an existing relationship path before direct outreach. Coverage measures verified, reachable people across the roles that matter, plus completeness of the account record itself.
Blend all three into one opaque number and a high-signal, poor-fit account looks the same as a high-fit, zero-coverage account. Those two need completely different next actions: one gets disqualified, the other gets routed to contact enrichment.
The scoring worksheet
| Axis | Component | Max points | Scoring rule |
|---|---|---|---|
| Fit (60) | Industry match | 15 | Exact ICP vertical 15, adjacent 8, other 0 |
| Fit (60) | Employee range | 15 | In target band 15, one band off 12, two bands off 5 |
| Fit (60) | Technology stack | 15 | Two or more relevant tools 15, one 8, none 0, unknown flag |
| Fit (60) | Geography | 15 | Primary market 15, secondary 7, unsupported 0 |
| Signals (25) | Hiring | 8 | Relevant open roles detected, capped regardless of count |
| Signals (25) | Funding | 6 | Round in the last 12 months, decays after |
| Signals (25) | Intent topics | 7 | One or more distinct relevant topics surging strongly, 7 max regardless of volume |
| Signals (25) | News and expansion | 4 | Verified expansion or launch event |
| Coverage (15) | Buying roles covered | 9 | 3 points per covered role, three defined roles |
| Coverage (15) | Record completeness | 6 | 1 point per required account field verified |
Two structural rules make this rubric honest:
- Category caps. Hiring maxes at 8 points whether the account has three relevant openings or thirty. Volume within a category adds confidence, not points.
- Distinct evidence, not repeated alerts. One person triggering the same intent topic twelve times is one piece of evidence. Twelve different people from the account showing the same behavior is stronger, but it still lives inside the 7-point intent cap. Deduplicate by person and evidence type where person identifiers exist; third-party intent data often arrives at the account level only, so in that case deduplicate on source, topic and time window instead.
Worked example: a fictional account scores 67
Illustrative example with fictional data. Northline Fabrication, a fictional 240-person manufacturer.
Fit: 42 of 60. Industry is an exact vertical match (15). Employee range is one band above target (12). One relevant tool detected in the stack (8). Headquarters in a secondary market (7). Sum: 15 + 12 + 8 + 7 = 42.
Signals: 15 of 25. Four relevant engineering openings posted in the last 60 days hit the hiring cap (8). No funding event (0). One distinct relevant intent topic surging strongly, which earns the full component under this illustrative rubric (7). No verified news event (0). Sum: 8 + 7 = 15.
Note what did not happen: the account also logged 31 raw intent events, but 27 of them came from two people hitting the same topic repeatedly. After deduplication that is one topic, one component, 7 points. Without the cap, event volume would have pushed signals past fit and promoted an account on noise.
Coverage: 10 of 15. Verified contacts exist for two of three defined buying roles (6). Four of six required account fields are verified (4). Sum: 6 + 4 = 10.
Total: 42 + 15 + 10 = 67 of 100. Under a suggested tiering policy where 70+ is tier one and 55 to 69 is tier two, Northline is a tier-two account whose fastest path upward is coverage: verifying a contact in the missing buying role adds 3 points and crosses the tier line. That is an actionable diagnosis a blended score never gives you.
Parent-child accounts and the double-counting trap
Corporate hierarchies break naive scoring in two directions. If you score every child subsidiary with the parent's firmographics, ten children of one strong parent flood your tier-one list with the same fit evidence counted ten times. If you score only the parent, a subsidiary with its own budget and its own hiring surge disappears.
A workable policy: score at the level you sell to. Fit attributes inherited from a shared parent count once per selling unit, not once per record. Signals stay attached to the entity that generated them; a child's hiring spike scores at the child and can roll up to the parent only through a capped rollup component, never as raw addition. If your model rolls child signals into the parent, cap the rollup at the same category maximums so five subsidiaries each hiring cannot push the parent's hiring component past 8. Tracking data provenance on each attribute makes it possible to see which entity actually produced the evidence.
Handle unknowns as flags, not zeros
The technology-stack component above illustrates a failure mode: an account with no detected stack data is not an account with a bad stack. Score it zero and it may never surface again. Instead, mark the field unknown, exclude it from the earned score, and report a parallel confidence figure such as "34 points earned of 45 scoreable" (Northline's fit if its stack were unknown rather than detected) alongside the flag count. Accounts with high earned-percentage but multiple unknown flags are enrichment work, not disqualifications. Autonomous enrichment agents that resolve flagged fields from multiple sources, as in a waterfall enrichment workflow, turn that flag queue into a standing process instead of a quarterly cleanup.
Tradeoffs and failure handling
Rules-based versus predictive. This rubric makes no statistical claims. Its weights come from your judgment, not from modeled outcomes, so revisit them when your team disagrees with the tiers it produces. The tradeoff is transparency: anyone can trace 67 back to its components in thirty seconds.
Signal decay. A funding round from 14 months ago should not still contribute 6 points. Build expiry into each signal component and rescore on a schedule, not just on new events. Real-time business signals are only useful while they are current.
Coverage gaming. If reps learn that adding contacts raises scores, unverified contacts will appear. Only verified records with a known source should earn coverage points, and verification of a mailbox is not proof of identity or intent, so keep coverage as an actionability measure, nothing more.
Threshold cliffs. An account at 69 and an account at 70 are nearly identical. Review accounts within a few points of each tier boundary manually rather than letting the cutoff decide alone.
FAQ
How is account scoring different from lead scoring? Lead scoring rates one person. Account scoring rates the company as a buying unit across fit, signals and coverage. You need both: a strong individual lead at a poor-fit account and a perfect-fit account with no engaged people are opposite problems that a single score conflates.
How do I stop repeated events from inflating an account score? Cap each signal category and count distinct evidence types, deduplicated by person where identifiers exist or by source, topic and time keys when they do not, with time decay on older events. Volume inside a category can raise your confidence in the evidence but should never raise the point value past the cap.
Should unknown fields count as zero fit? No. Score only verified attributes, flag unknowns, and route flagged accounts to enrichment before final tiering. A zero silently buries the account; a flag creates a task that can recover it.
Ready to run this model on live data? AstroFabric's autonomous agents can build the fit attributes, verify coverage and watch for the signals that feed each component, then stream scored accounts into your CRM. Start with a scoring dataset.
Sources
Every playbook on this blog ships as a runnable mission.
Open a workspace and the playbook library is waiting - describe the outcome and the agents carry it end to end, on your plan's monthly credits.