Take the Market

Pipeline arithmetic in the open, for the people who own the number.

Sections

Templates

Account scoring model template: Fit, intent and engagement, weighted from your own win data

An account scoring model ranks companies by fit, intent and engagement on a 0 to 100 scale, weighted from 12 to 24 months of your own win data.

Document
Template
Funnel stage
Whole funnel
Published
Written by
Take the Market Desk
Edited by
Lila Odinaev

An account scoring model ranks companies, not people, by how likely they are to buy, combining fit, intent and engagement into one number per account, often on a 0 to 100 scale. Set the weights from your own closed-won and closed-lost deals from the last 12 to 24 months. Then cut tiers by team capacity and back-test the model on later deals the weights never saw.

What is an account scoring model?

An account scoring model ranks companies, not people, by how likely they are to buy. Demandbase defines account scoring as the data-driven approach used by B2B revenue teams to evaluate, rank, and prioritize target accounts by their likelihood to become high-value customers. The output is one number per account that tells sales and marketing which companies to work first.

Reps split their average week across three prospect tasks: 9% researching prospects, 8% prospecting and 8% prioritizing leads and opportunities.

Share of an average rep week spent on prospect work
Researching prospects9%Prospecting8%Prioritizing leads and opportunities8%
Share of an average rep week spent on prospect work
ItemValue
Researching prospects9%
Prospecting8%
Prioritizing leads and opportunities8%

Source: Salesforce, State of Sales Report, 2025

The shift from lead scoring is the unit of analysis. A lead score rates one contact. An account score moves the approach from the individual to the account level, adding up signals from everyone at the company. That matters when several people share the buying decision and no single one of them looks active enough to cross a lead threshold.

The three parts

PartWhat it measuresTypical inputs
FitHow closely the account matches your ideal customer profile (ICP)Industry, company size, revenue, technology stack
IntentWhether the account is in-market nowThird-party research activity, first-party site visits and downloads
EngagementHow the buying committee interacts with your brandAd clicks, webinar attendance, event visits, sales conversations

The Demandbase definitions behind each row: fit is how closely the account matches your ICP. Intent is whether the account is actively in-market for solutions like yours. Engagement is how the buying committee at the account interacts directly with your brand.

Fit comes first because it is the filter. If an account sits outside your market, intent and engagement do not make it a good opportunity. Build fit from your ideal customer profile template before you add the other two layers.

Where the weights come from

The title of this piece promises weights from your own win data, and that is the method Demandbase describes: fit attributes are given weights based on historical win data. CaptivateIQ notes that most organizations use a 0-100 scale for simplicity and splits that total across categories in proportion to their predictive power. The later sections walk through how to set those splits from closed-won and closed-lost records.

Why reps need it

Prioritization takes real selling time. In our reading, an account score aims at that share of the week: it does the ranking once, in a model, instead of each rep doing it by hand every Monday.

Account scoring also gives an account-based marketing program its target list. Sales and marketing work from the same ranked accounts, with the same definition of what makes an account worth pursuing.

How is account scoring different from lead scoring?

A lead score asks whether one person is worth a sales call. An account score asks whether the whole company is worth a coordinated campaign, and it pools signals from everyone you know there. The questions differ, so teams that sell to a buying committee usually run both.

ScoreWhat it scoresRecords it lives onWhen to run it (our reading)
Lead scoreOne prospect's fit and activity before sales accepts themLead or contact recordInbound volume is high and reps need a call order
Contact scoreOne known person inside an account: role, seniority, recent actionsContact record, often reading associated company propertiesYou need to pick who at a target account gets the first touch
Company scoreThe account as a whole: firmographic fit plus the combined activity of its contactsCompany recordYou choose accounts before people, for outbound and targeted ads

Run both when the account is the unit you target and the person is the unit you call. The company score picks the account. The contact score picks the first conversation.

How a CRM keeps the scores apart

HubSpot's scoring tool is one example of how a customer relationship management (CRM) system stores this. On company records it supports engagement scores, fit scores, or combined engagement and fit scores. Deals get combined scores only.

A combined score does not overwrite its parts. It populates a combined score value while also keeping the individual engagement and fit scores for teams that want to read them separately.

The company engagement score is built from people. For companies and deals, engagement evaluates associated contacts' actions. You choose how those points roll up: Sum adds the points from each qualifying contact, while Max takes the highest single contact. In our reading, Sum suits committee buying and Max suits deals driven by one champion.

The link runs the other way too. A contact score can score based on associated record property values, such as the associated primary company, so account fit can lift a person's priority.

We keep fit, engagement and combined as three named properties on the company record. That lets you sort by fit alone when building a target list, by engagement alone when timing outreach, and by combined for routing. HubSpot also lets you create multiple scores per object for different teams or regions, so label each one clearly.

Company record: score properties
account_fit_score          firmographic rules only (industry, size, region)
account_engagement_score   contact activity rolled up (Sum or Max)
account_combined_score     fit + engagement, used for routing
Contact record: score properties
contact_fit_score          role and seniority, plus associated company fit
contact_engagement_score   this person's own actions

For the person-level build, start from our lead scoring model template.

The account scoring template to copy

Copy the three tables below into a sheet, then replace each placeholder (F1, I1, E1 and so on) with points you set from your own closed-won and closed-lost accounts. Each table maps to one score group in your CRM, with its own cap.

Fit attributes from the ICP

Pull the rows from your ICP. Operatix lists the firmographic core as industry, company size, location, and revenue, plus tech stack.

AttributeCRM fieldPoints if it matchesNegative points (our reading)Cap
IndustryIndustry+F1-F1 for excluded industriesFit cap
Company sizeNumber of employees+F2-F2 below your floorFit cap
RevenueAnnual revenue+F4-F4 below your floorFit cap
Tech stackTechnology installed+F5-F5 if a competitor is already in placeFit cap

One mechanic matters for fit rows. In HubSpot, a fit rule that uses the Contains any of operator scores once: whether one or multiple criteria is met, the rule will add or subtract points only once. Split values into separate rules if you want them to stack.

Intent topics

Intent comes from signals such as web searches and content consumption. Keep topics to a short list your sellers recognize.

TopicCRM fieldPoints when surgingNegative points (our reading)Cap
Your product categoryIntent topic: category+I1NoneIntent cap
The problem you solveIntent topic: problem+I2NoneIntent cap
Competitor namesIntent topic: competitor+I3-I3 after a confirmed lossIntent cap

Engagement actions

Points can either be added to or subtracted from the score, and a group limit caps what one group can add or subtract. HubSpot's own example splits engagement into a sales group with a limit of 60 points and a marketing group with a limit of 40 points.

ActionCRM field or eventPointsNegative points (our reading)Cap
Meeting completedMeetings+E1NoneSales group cap
Pricing page visitPage views+E2NoneMarketing group cap
Webinar attendedMarketing events+E3NoneMarketing group cap
Unsubscribe or bounceEmail eventsNone-E4Marketing group cap

Turn on score decay, which automatically reduces a score based on how long ago a scored event occurred, so last quarter's activity fades.

The combined score

Fit        = min(sum of fit rule points, fit cap)
Intent     = min(sum of intent rule points, intent cap)
Engagement = min(sum of engagement rule points, engagement cap)

Combined   = (w_fit x Fit) + (w_intent x Intent) + (w_eng x Engagement)
where w_fit + w_intent + w_eng = 1

HubSpot's score limit options include -500 to 500. For example, and not as a benchmark, an account whose engagement group sits at 500 with a weight of 0.2 adds 100 to the combined score. In this example, the same 500 at a weight of 0.1 adds 50.

How do I weight fit, intent and engagement?

Weight from your own outcomes, not from a vendor default. Generic models carry weights that came from aggregated data across thousands of companies. In UserGems' words, "They reflect what works on average, which means they don't reflect what works for you."

The method, step by step

  1. Export the history. Pull every closed-won opportunity from the last 12-24 months, plus the closed-lost and no-decision ones. Without the losses you cannot see how often a signal shows up in deals you did not win.
  2. Flag each signal as present or absent at the date the opportunity was created.
  3. Compute two win rates per signal: with the signal and without it. The lift is the difference.
  4. Apply the small-sample rule. A signal with too few opportunities on its "present" side gets zero points until more deals close.
  5. Convert lift to points on a 0 to 100 scale, which most organizations use for simplicity.
  6. Sum points by category to get the fit, intent and engagement split. CaptivateIQ's guidance is that the allocation should reflect the predictive power each category has shown in your historical sales data. This step produces exactly that.

The worksheet below uses illustrative inputs, not benchmarks.

RULES
  lift(signal)   = win rate with signal - win rate without signal
  points(signal) = lift / sum of eligible lifts x 100   (round to whole points)
  minimum count  = 30 opportunities with the signal present, else 0 points
  signals with zero or negative lift get 0 points (or a penalty, see earlier)

ILLUSTRATIVE INPUTS: 500 opportunities, 50 won (10% overall)

Signal                     Cat.   With      Win%   Without   Win%   Lift   Points
Industry match             Fit    30/150    20.0   20/350    5.7    14.3   21
Tech stack match           Fit    18/60     30.0   32/440    7.3    22.7   34
Surge on core topic        Int.   15/75     20.0   35/425    8.2    11.8   17
Competitor research topic  Int.   8/50      16.0   42/450    9.3    6.7    10
Pricing page visits        Eng.   20/100    20.0   30/400    7.5    12.5   18
Webinar attended           Eng.   6/25      24.0   44/475    9.3    14.7   0  (below minimum)

Split: Fit 55 | Intent 27 | Engagement 18   (total 100)

The webinar row shows why the minimum count matters. Its lift looks strong, but six wins can come from one rep's good quarter. Recheck it at the next refresh.

Additive, weighted formula or predictive

MethodHow weights are setWhen it fits (our reading)Data it needs (our reading)
Additive pointsTeam assigns points by judgmentNew motion with few closed dealsAgreement on the ICP, no history
Weighted formula (above)Lift from your own wins and lossesEnough closed deals for several signals to clear the minimum12 to 24 months of outcomes
Predictive (machine learning)A model finds lookalikes of accounts that advancedLarge deal history and many data fieldsVolume well beyond the formula's

Predictive models can include many more dimensions and data points in the analysis, often in the hundreds or even thousands. We think the weighted formula is the practical middle for most teams because every point traces to a row a reviewer can check. If your data is thin, UserGems notes that the last 12 months of closed-won deals is enough for a baseline. Compare your overall rate against business-to-business win-rate benchmarks before trusting any lift.

How intent signals fit into the score

A third-party intent score measures research behavior, not interest in your product. In the Bombora Company Surge feed, the method looks for sustained intent on a given topic in the past 3 weeks, compared with that account's typical level over the past 12 weeks. A surge means an account is reading more about a topic than it usually does. It does not mean the account has read anything about you.

The scale is narrow. The data is updated each Sunday on a weekly cadence, so recalculate your intent component weekly, not daily. For the general concept, see intent data.

Pick topics before you assign points

Bombora says it tracks tens of thousands of topics. Your entitlement sets how many you can use: the default is 12 topics, with larger tiers above it. Choose topics in this order:

  1. Pull the full topic list, which downloads as an Excel sheet with all Bombora Topics.
  2. Keep topics that name the problem you solve and the category you sell in.
  3. Drop broad topics that every company in your ICP reads about whether or not it is buying.
  4. Change the list rarely. Edits can take up to 24 hours to show across the platform, and frequent changes break week-over-week comparison.

Convert surge levels into points

Treat each surging topic as an event and give it points, then cap the total. Here is a worked example with round inputs, not a benchmark: on a 500-point model with intent capped at a 0.2 share, intent can contribute at most 500 × 0.2 = 100 points. In this example, if each surging topic is worth a 0.1 share, one topic adds 500 × 0.1 = 50 points, so two surging topics reach the cap.

intent_points = min(surging_topics x topic_points, intent_cap)
topic_points  = total_scale x topic_share
intent_cap    = total_scale x intent_share
surging_topic = latest weekly surge score at or above the vendor threshold

Why intent carries its own cap

We think intent needs a ceiling because it is the noisiest of the three components. A surge reflects activity across a whole domain, refreshed weekly, and it can come from people outside the buying committee. Without a cap, an account that is a poor fit could outrank a strong-fit account on research volume alone. In our reading, intent works best as a tiebreaker among accounts that already score well on fit, and the cap keeps it in that role.

How do I tier accounts for one-to-one, one-to-few and one-to-many?

Operatix describes the risk plainly: "Choosing too many high-touch accounts can strain resources, so balancing the number of accounts with your available bandwidth is key." A capacity rule turns that advice into a number you can defend.

What each tier means

Operatix defines three tiers. Tier 1 is "High-value, strategic accounts requiring the most effort and personalized engagement." Tier 2 is "Accounts with potential for significant ROI, but with slightly lower priority." Tier 3 is "Lower-touch accounts that can be scaled through programmatic ABM tactics." ABM here means account-based marketing.

We map those to delivery motions: one-to-one for Tier 1, one-to-few clusters for Tier 2, one-to-many programs for Tier 3.

The capacity rule

  1. Sort every scored account by its combined score, highest first.
  2. Count how many named accounts your sellers and marketers can personally cover with tailored plays this quarter. That count is your one-to-one band.
  3. Count how many accounts your team can serve through shared cluster plays, grouped by industry or use case. That count is your one-to-few band.
  4. Read the score of the last account inside each band. Those scores are your cut-offs.
  5. Everything below the second cut-off goes to one-to-many.
one_to_one_cutoff  = score of account at rank (one-to-one capacity)
one_to_few_cutoff  = score of account at rank (one-to-one capacity + one-to-few capacity)
one_to_many        = all accounts scoring below one_to_few_cutoff

Worked example

This is an example, not a benchmark. For example, take 500 scored accounts where one-to-one capacity covers 0.1 of the list, which is 50 accounts. In this example, one-to-few capacity covers 0.2 of the 500, which is 100 accounts.

TierMotionExample account count
Tier 1One-to-one50
Tier 2One-to-few clusters100
Tier 3One-to-many programs350

If the list shifts next quarter, the score moves and the account counts stay tied to capacity.

Tie-breaks at the boundary

Accounts that score close to a cut-off need a rule. Demandbase notes that with a long list, "your quickest path to traction with ABM is the companies that have existing activity." In our reading, that makes the engagement component the fair tie-break: when two accounts sit at the boundary, the one with more recent engagement takes the higher tier.

Re-run the cut-offs whenever headcount changes, since capacity is the input. For running the middle band, see the one-to-few playbook, and track each tier separately with the ABM metrics guide.

Worked example: scoring and back-testing last year's deals

This example is hypothetical. The inputs are round numbers chosen to show the arithmetic. They are not benchmarks.

Take the template from earlier, fit its weights on one period of closed deals, then score a later period the weights never saw. That split is a vanilla backtest: it divides the data into in-sample deals that design the model and out-of-sample deals that evaluate it. The same source warns that if one set does both jobs, "we would obtain spectacular but unrealistic performance results" because the model overfits.

The numbers

Suppose your top tier held 500 accounts in the fit period. In this example, the tier won at 0.2 when scored against the same deals used to set the weights, so 500 accounts at 0.2 gives 100 wins. Now score the held-out later period. Suppose the top tier again held 500 accounts but won at 0.1, so 500 accounts at 0.1 gives 50 wins.

TestTop-tier accountsWin rateWins
Fit and test on the same deals5000.2100
Fit early, test on held-out later deals5000.150

The gap between the two rows is the inflation. We think the held-out row is the one to plan against, because it is the only one that resembles scoring accounts you have not closed yet. Read pipeline created by tier the same way, out of sample, before you set tier capacity or feed a pipeline velocity calculation.

Walk-forward instead of one split

A vanilla split still means a single historical path is evaluated. The walk-forward backtest improves on it by redesigning the model as new data becomes available. One variant is the expanding window, which uses all prior data at each step. For account scoring, that means refitting at each period on every deal closed to date, then scoring the next period's accounts.

Guard against leakage, which the source describes as "a form of look-ahead bias where future information leaks and is incorrectly used." In scoring, the usual leak is a signal timestamped after the opportunity opened or closed. Cut every signal at the opportunity creation date.

For the readout, UserGems suggests you track closed-won rate by score tier over a 90-day window.

Walk-forward back-test, account score
1. Sort closed opportunities by creation date.
2. Period 1: fit weights on deals in the fit window only.
3. Freeze weights. Score accounts in the next period.
4. Drop any signal dated after each opportunity's creation date.
5. Record by tier: accounts, wins, win rate, pipeline created.
6. Add the scored period to the fit window. Refit. Repeat from step 3.
7. Compare in-sample and held-out win rate by tier.
   Plan on the held-out figures.

How often to refresh account scores, and the traps to avoid

Each component of the score goes stale at a different speed, so each needs its own refresh rule. Fit changes slowly. Intent moves every week. Engagement fades the moment an account goes quiet.

ComponentRefresh cadence (our reading)What triggers a change (our reading)
FitQuarterly, plus on any firmographic update in the CRMHeadcount, industry or tech stack changes
IntentWeekly, timed to the provider's weekly refreshA topic starts or stops surging
EngagementDaily, with decay applied to inactive accountsNew activity, or a stretch with none
WeightsEvery two quarters, against new closed-won dealsTier win rates drift from the back-test

Decay for engagement, rolling windows for intent

Engagement points should shrink when an account stops engaging. Otherwise a webinar burst from last spring still reads as hot today. For example, and not as a benchmark, an account holding 500 engagement points under a decay rate of 0.2 per inactive month loses 100 points (500 times 0.2) in its first quiet month.

engagement_score_next = engagement_score_now * (1 - decay_rate)
apply when: no tracked activity in the last month
example: 500 * (1 - 0.2) = 400
reset decay clock on any new activity

Intent should not decay this way. Replace it. Each week, overwrite the intent component with the latest surge result rather than adding to last week's, so the window rolls forward and old topics drop off.

The traps

One model across several products. Each product sells to a different buyer. A single model averages those buyers into a profile that matches none of them.

High-engagement, low-fit accounts. A student, a competitor or a consultant can rack up engagement points without ever buying. Fit scoring exists partly to stop the time drain of high-engagement, low-fit prospects. Cap engagement so it cannot carry an account into Tier 1 on its own.

No negative points. HubSpot's scoring builder lets teams assign negative point values to lower a lead's score based on undesirable actions or attributes. Use them: subtract for careers-page visits, free email domains, existing customers in a new-logo model and excluded industries.

Weights never re-checked. The guide notes that your ICP will change as markets, technology, and competition change. Rerun the back-test from the worked example on the latest closed-won and closed-lost deals. If the top tier's win rate falls toward the middle tier's, the weights have drifted, and we would rebuild them from the new win data rather than adjust one or two by hand.

Write the refresh rules into the marketing and sales SLA so both teams know when a score was last updated.

What this page does not cover

This page does not compare intent data providers or CRM platforms, and it does not cover how to build a predictive machine learning model. It also leaves out the contact-level build, which our lead scoring model template covers. All worked numbers are illustrative inputs, not benchmarks, and nothing here is financial or legal advice.

Questions

What is an account scoring model?
An account scoring model ranks companies by how likely they are to buy. It produces one number per account that tells sales and marketing which companies to work first. The score has three parts: fit with your ideal customer profile (ICP), intent that shows the account is in-market, and engagement from its buying committee. Fit comes first because it filters out accounts outside your market.
What is the difference between account scoring and lead scoring?
A lead score rates one contact and asks whether that person is worth a sales call. An account score pools signals from everyone you know at the company and asks whether the whole company is worth a coordinated campaign. Teams that sell to a buying committee usually run both: the company score picks the account, and the contact score picks the first conversation.
How do you weight fit, intent and engagement in account scoring?
Export every closed-won, closed-lost and no-decision opportunity from the last 12 to 24 months. Flag each signal as present or absent at the opportunity creation date, and compute lift as the win rate with the signal minus the win rate without it. Give zero points to signals with fewer than 30 opportunities on the present side, convert the remaining lift to points on a 0 to 100 scale, and sum by category. In the illustrative worksheet, this produced a split of Fit 55, Intent 27 and Engagement 18.
How do you tier accounts for ABM?
For account-based marketing (ABM), sort every account by combined score. Count how many accounts your team can cover one-to-one and how many it can serve one-to-few, then read the score at those ranks to set the cut-offs. Everything below the second cut-off goes to one-to-many. In the example, 500 accounts split into 50, 100 and 350, and accounts near a boundary go to the higher tier if they have more recent engagement.
How do you test if an account scoring model works?
Back-test it. Fit the weights on one period of closed deals, freeze them, and score a later period the weights never saw. In the hypothetical example, the top tier won at 0.2 on the same deals used for fitting but at 0.1 on held-out deals, and the held-out figure is the one to plan against. A walk-forward test repeats this by refitting on all deals closed to date. Cut every signal at the opportunity creation date to avoid leakage.
How often should account scores be updated?
Each component has its own cadence. Fit refreshes quarterly and on any firmographic update in the customer relationship management (CRM) system. Intent refreshes weekly to match the provider, since Bombora Company Surge data updates each Sunday, and each week's result replaces the last one. Engagement updates daily with decay for inactive accounts, and the weights get rechecked every two quarters against new closed-won deals.

Sources

  1. B2B Account Scoring: Models, Strategies & Examples, Demandbase, 2026-01-23.
  2. The Definitive Guide to Account Scoring, captivateiq.com, 2026-10-08.
  3. Overview of the lead scoring tool, knowledge.hubspot.com, 2024-10-31.
  4. Build lead scores to qualify contacts, companies, and deals, knowledge.hubspot.com, 2024-11-06.
  5. A Guide to Target Account Selection for ABM - Operatix, Operatix, 2024-09-06.
  6. Why generic scoring fails (and what custom scoring fixes), usergems.com.
  7. How to ABM Like a Boss: ABM Strategies to Select Your Targets | Demandbase, Demandbase, 2024-11-06.
  8. FAQ: Using Bombora Company Surge Data in 6sense, support.6sense.com.
  9. Bombora Company Surge® | The gold standard in B2B Intent data, Bombora, 2026-09-30.
  10. 8.4 Backtesting with Historical Market Data | Portfolio Optimization, portfoliooptimizationbook.com, 2025-05-01.
  11. Lead Scoring Software | Prioritize Your Best Prospects, hubspot.com.
  12. Lead Scoring: How to Find the Best Prospects in 4 Steps, Salesforce, 2025-05-14.