# Building a Defensible Bottom-Up TAM From an ICP Definition

*You will produce a bottom-up TAM with a defensible account count, MECE ICP filters, an ARPU-derived dollar figure, and a documented cross-check.*

- Canonical URL: https://www.refolk.ai/guides/bottom-up-tam-from-icp
- Pillar: Market and talent intelligence
- Format: Playbook
- Published: 2026-09-24
- Last reviewed: 2026-09-24
- Reading time: 17 min

This guide turns an ideal-customer-profile definition into a counted account universe and a dollar TAM figure that holds up when an executive or an investor pushes on it. It is written for strategy and research teams, talent-intelligence analysts, and operators sizing a market who need a number they can defend line by line, not a slide with three circles on it. You will end with a bottom-up account count, MECE ICP filters, an ARPU-derived dollar figure, a documented cross-check, and a clear view of which numbers will survive questioning.

Most market-sizing writing gives you a definition and a formula and stops. That is where the real work starts. The formula (accounts times ACV) is trivial. The defensibility lives in three decisions the formula hides: what unit you count, which source you pull the count from, and how tight your filters are. Get those wrong and you will present a confident number built on sand. This is the procedure for getting them right.

## What a defensible bottom-up TAM actually requires

A defensible bottom-up TAM is a counted universe of firms that fit your ICP, multiplied by a realized average contract value, cross-checked against an independent top-down estimate, with every filter and assumption written down. The word that matters is "counted." You are not estimating a market; you are enumerating a buyer population from a primary register and pricing it.

The bottom-up method beats a top-down carve-up because each number traces to something checkable. In its simplest form, a bottom-up TAM takes the number of potential accounts and multiplies it by the annual price of your product. That simplicity is a feature: a reviewer can attack the count, attack the price, or attack the filters, and you can answer each attack with a source. A top-down number ("the market is worth $40B, we'll take 2 percent") has nothing to defend.

Three properties separate a TAM that holds from one that collapses under a single sharp question:

- **A fixed unit of analysis.** Firm, establishment, or user-seat. One choice, made before any number is pulled.
- **MECE filters.** Mutually exclusive, collectively exhaustive filter axes so nothing is double-counted and nothing is missed.
- **A cross-check inside threshold.** An independent estimate that lands within 15 to 20 percent of the first.

**279:1 - US-to-Germany VP of Sales ratio in Refolk's index**

37,122 matches in the US versus 133 in Germany, a gap that reflects English-title language bias, not real demand.

## Build MECE filters from your ICP definition

The four filter axes that practitioners converge on are industry classification code, employee band, geography, and a technographic install signal. Together they are MECE (mutually exclusive, collectively exhaustive) when each axis is fixed to one basis and none of them overlaps another. MECE is the discipline that stops you counting the same company twice or leaving a whole segment uncounted.

Take each trait in your ICP definition and rewrite it as a filter on a fixed axis. "Mid-market industrial companies" is not a filter. "NAICS 333 (machinery manufacturing), 100 to 1,000 employees, United States, running SAP" is four filters, each mapping to a field that exists in a named public source. The technographic install signal ("running SAP," "using HubSpot") does double duty: it narrows fit and it proves budget maturity, because companies that have bought one enterprise tool tend to buy others.

Two rules keep the axes clean. First, fix the industry code level: pick 6-digit NAICS and use it everywhere, never mixing 4-digit and 6-digit segments in the same count. Second, fix the geography basis: a country register basis is not the same as a headquarters basis, and mixing them lets a multinational appear in two segments.

The technographic axis is not just a refinement. In Refolk's index, swapping Salesforce for HubSpot on the same US Revenue and Marketing Operations role changed the matched population by 3.87x. The install-base filter you choose largely determines the size of your SAM, so treat it as a deliberate segmentation decision, not a tidy-up at the end.

> **Rule:** One axis, one basis, before you filter
>
> Fix the industry code level, the geography basis, and the unit of analysis before pulling any number. Changing any of these mid-count invalidates the whole estimate, because you can no longer add segments without double-counting.

## Fix the unit of analysis before you count

Decide firm versus establishment versus user-seat before you pull a single number, because this choice moves the count more than any filter you apply afterward. An establishment is a single physical location; a firm (or enterprise) may consist of one or more establishments. Counting establishments treats every branch of a multi-site company as its own account.

This is not a rounding error. US Statistics of U.S. Businesses holds more than 6 million single-unit establishments and more than 2 million multi-unit establishments. If your ICP includes multi-site firms and you count establishments, you inflate every one of those accounts by its site count. A 500-branch bank becomes 500 accounts. The fix is a source choice, not a formula change: use firm counts, not establishment counts.

There is a third option worth naming. While an enterprise software company could base its TAM on the average contract value of an enterprise customer, an alternative built on total potential users and average revenue per user license might paint a more accurate picture. If you sell per seat, the firm is the wrong unit and you should count seats. Pick the unit that matches how you actually charge, then justify it in one sentence in your assumptions log.

#### Choosing your unit of analysis

Horizontal axis runs from Sells to the whole firm to Sells per location. Vertical axis runs from Priced per seat to Priced per contract.

| Quadrant | What it means |
| --- | --- |
| Firm, per-seat | Count firms, then multiply by seats per firm; use ARPU per seat. |
| Site, per-seat | Count establishments and seats; rare, verify you truly bill per site. |
| Firm, per-contract | Count firms with SUSB; multiply by blended ACV. The default B2B case. |
| Site, per-contract | Count establishments with CBP; each site is a real account. |

*Match the counting unit to how the product is bought and billed.*

## Pull the count from a primary register

Pull your account count from a named statistical register, not from a vendor estimate you cannot reconstruct. In the US, that means the Census business programs; in the UK, ONS and Companies House; in the EU, Eurostat business demography built on national statistical registers. Each answers a slightly different question, and using the wrong one is the most common way a count goes soft.

County Business Patterns (CBP) is an annual series giving sub-national economic data by industry, tabulated by 2- through 6-digit NAICS, legal form of organization, and employment size class, and it is queryable via API at every NAICS level and multiple geographies. But CBP is fundamentally an establishment series. Statistics of U.S. Businesses (SUSB) reports the number of firms as well as establishments, which is why SUSB is the correct source when you need firm counts by enterprise size and want to avoid the multi-site inflation baked into CBP.

Two scope facts save you from silent errors. CBP excludes crop and animal production, rail transport, postal service, private households, and public administration, spanning nineteen in-scope NAICS sectors. And since 2007, CBP uses noise infusion and cell suppression to protect individual employers, so a small-cell figure is approximate and a blank is withheld data, not an empty market.

| Source | What it counts | Figure | Basis to know |
|---|---|---|---|
| US SUSB | Firms and establishments | 6M single-unit + 2M multi-unit establishments | Use firm counts to avoid multi-site inflation |
| UK Companies House | Register companies | 5,516,377 (Jun 2026) | Register, not active trading |
| UK BPE / ONS | Active private businesses | 5.7M (Jan 2025) | Economically active basis |
| UK ONS IDBR | Registered businesses | ~2.7M | Registered, excludes ~2.9M unregistered |

The UK rows show why the register you pick matters. Companies House lists 5,516,377 companies, but ONS estimates about 2.7 million registered and 2.9 million unregistered businesses, and Business Population Estimates put active private-sector businesses at 5.7 million. Around 75 percent of UK private-sector businesses employ no one but their owners. Size off the wrong register and you either over-count dormant shells or miss unregistered traders.

> **Watch out:** A zero may be a suppressed cell
>
> CBP and SUSB suppress and add noise to small cells to protect employers. A "0" or a blank can be withheld data, not an empty market. Read the disclosure flags (D, S, G, H, J) before you conclude a segment is empty.

When your ICP is defined by buyer role rather than firmographics alone, a register gives you companies but not the decision-makers inside them. That is where counting the actual people who match your persona becomes the faster path.

I ran this search: `US discrete manufacturing companies with 100 to 1,000 employees that use SAP` - [see the full result list](https://www.refolk.ai/s/3gsj8zyber).

*Returns a countable ICP account universe with the industry, employee band, and technographic install already applied, so you can check it against your register-derived count.*

## Derive ACV from what you actually collect

Convert the count to dollars with realized average contract value, pulled from your own billing system, not list price from a pricing page. For an existing business this is your single biggest credibility advantage. You know your real ACV because it is in your billing system; a startup has to guess at price, but you can pull the actual blended number from your own customers. That makes your bottom-up TAM more credible than almost anyone else's in your category.

For a pre-revenue product, derive ACV from public pricing pages or willingness-to-pay interviews, and flag it as an estimate in the assumptions log. Either way, use blended collected price, not list price. List price overstates TAM because it ignores discounting, and an inflated ACV is one of the easiest numbers for a sharp reviewer to knock down.

Keep penetration out of the ACV step entirely. TAM is the whole counted universe times ACV. The capture rate belongs at the SOM stage, applied once, with justification. Mixing a penetration assumption into your ACV hides it and makes the number impossible to sensitivity-test cleanly.

> The bottom-up formula is trivial. The defensibility lives in the unit you count, the source you pull from, and the price you actually collect.

## The procedure end to end

Run these eight steps in order. Each has an owner, a rough duration, and a definition of done. Do not skip the cross-check; it is what turns a plausible number into a defended one.

#### From ICP definition to reconciled TAM

1. **Define the ICP as countable filters** - Convert each ICP trait into a filter on a fixed axis (NAICS 6-digit, employee band, country, technographic install). Done when every filter maps to a field in a named public source with no overlapping axes. Owner: strategy or RevOps analyst, 2 to 4 hours.
2. **Fix the unit of analysis** - Decide firm versus establishment versus user-seat before pulling any number, because that choice moves the count more than any filter. Done when one unit is chosen and justified. Owner: analyst, 1 hour.
3. **Pull the account count from a primary register** - Query the count per segment from SUSB (US firms), ONS BPE (UK), or Eurostat (EU). Done when you have a defensible count per segment with the source table IDs recorded. Owner: analyst, 2 to 6 hours.
4. **Derive ACV or ARPU** - Pull blended realized ACV from billing or closed-won, or from public pricing for a pre-revenue product. Done when you have a sourced dollar figure per segment, not a list price. Owner: finance and RevOps, 2 to 4 hours.
5. **Compute TAM, then narrow to SAM and SOM** - TAM equals count times ACV; SAM applies serviceability filters; SOM applies a 5 to 15 percent capture rate with justification. Done when you have three nested numbers, each traceable to a filter. Owner: analyst, 1 hour.
6. **Log assumptions and run low base high sensitivity** - Record every assumption and re-run TAM and SOM across low, base, and high values for count, ACV, and penetration. Done when a table shows how the outputs move. Owner: analyst, 2 hours.
7. **Run the top-down cross-check** - Rebuild the number independently from an industry analyst figure narrowed to your ICP. Done when you hold two independent estimates. Owner: analyst, 2 to 4 hours.
8. **Reconcile to threshold** - Compare the two estimates and confirm they land within 15 to 20 percent. Done when they agree; if not, revisit filters and ACV before publishing. Owner: analyst and reviewer, 1 hour.

Run the bottom-up count first. Sources disagree on ordering, but starting bottom-up forces you to make the unit and filter decisions explicit before an anchor number from a top-down report biases your judgment.

## Narrow to SAM and SOM without inflating the story

SAM narrows TAM to the slice you can actually serve; SOM is the share of SAM you can realistically capture near term, and for early-growth B2B companies that is typically 5 to 15 percent. TAM is the full counted universe. SAM applies serviceability filters (geography you sell into, segments you support, languages you cover). SOM applies a capture rate, and this is where most decks lose credibility.

The credible SOM band is narrow. For very early startups, even successful companies rarely capture more than 5 to 10 percent of their SAM in the early years, so a 1 to 5 percent figure is often more honest. A SOM above 20 percent of SAM generally requires competitive data showing low incumbent concentration and high switching activity to be credible. Above 20 percent, the burden of proof flips to you: bring incumbent-share data or drop the claim.

#### From counted universe to near-term capture

| Stage | Figure | Note |
| --- | --- | --- |
| TAM (all firms fitting ICP) | 37,122 | Broad buyer-title universe, US |
| SAM (serviceable slice) | 15 | Narrow exact-title RevOps segment |
| SOM (5-15% capture) | 2 | Near-term reachable at the credible band |

*Each stage narrows the previous one by a filter you can name and defend.*

The funnel above uses real Refolk-index figures to show the spread. A broad buyer title returned 37,122 while a narrow exact-title RevOps query returned 15, a gap of more than 2,000x. That spread is not a market shrinking; it is filter tightness. Log filter breadth as its own assumption with its own sensitivity row, because it can dominate every other input.

## How this goes wrong: failure modes and false positives

The most valuable part of any sizing method is knowing where it lies to you. These are the documented failure modes, each with the false positive it produces and the check that catches it.

| Failure mode | False positive it produces | Check |
|---|---|---|
| Establishment vs firm double-count | A 500-branch bank counted as 500 accounts | Use SUSB firm counts, not CBP establishments |
| Register vs active-trading gap | Sizing off dormant or dissolving shells | Use Business Population Estimates for active counts |
| Title-language bias | A market looks empty (279:1 US:DE gap) | Add localized titles before counting |
| Over-narrow exact-title filter | A "tiny" SAM that is a filter artifact | Widen title variants and re-run |
| ACV inflation | An overstated TAM from list price | Pull realized ACV from billing |
| Single-method reliance | A number nobody stress-tested | Enforce the 15-20% triangulation gate |
| SOM aspiration | An unbelievable >20% capture claim | Require incumbent-share data first |

Two of these deserve extra weight because they are invisible until someone catches them.

**Title-language bias** systematically undercounts non-English markets. In Refolk's index, English-title matching returned 37,122 VP of Sales in the US but only 133 in Germany, a 279:1 gap that no real buyer population supports. The demand is there; the English title is not. Any ICP count run in English will underestimate DACH, LATAM, and APAC unless you add localized titles. If your TAM includes non-English geographies, this failure mode alone can hide most of your market.

**The register vs active-trading gap** is the UK's classic trap. Companies House shows 5,516,377 companies, but active trading is far fewer, and around 75 percent of private-sector businesses employ only their owners. Size off the register and you count dead shells and one-person entities that will never buy enterprise software. The check is to move to Business Population Estimates for the economically active count.

#### Before you publish the number

- [ ] One unit of analysis is fixed (firm, establishment, or seat) and justified in the log.
- [ ] Every filter maps to a named public source field, with no overlapping axes.
- [ ] The count comes from a firm-level register (SUSB, ONS BPE, Eurostat), not an establishment series where firm-level fits.
- [ ] Localized titles were added for every non-English geography in scope.
- [ ] Suppressed and noise-infused cells (D, S, G, H, J flags) were read as data, not zeros.
- [ ] ACV is blended realized price from billing, not list price.
- [ ] SOM sits in the 5-15% band, or has incumbent-concentration evidence if higher.
- [ ] A low, base, and high sensitivity table exists for count, ACV, and penetration.
- [ ] An independent top-down estimate lands within 15-20% of the bottom-up figure.
- [ ] Every assumption is written down with its source and reference year.

## Cross-check, log assumptions, and keep the number current

Validate the bottom-up number by rebuilding it independently top-down and confirming the two land within 15 to 20 percent. If the two results are within 15 percent of each other, you can feel confident in the estimate; a looser VC rule of thumb accepts about 20 percent. Triangulation works because the methods err in opposite directions: top-down typically tilts high, bottom-up typically tilts low, so convergence is meaningful signal rather than coincidence.

To run the top-down check, take a published industry figure and narrow it to your ICP using the same filters you used bottom-up. If the estimates diverge more than 20 percent, do not average them and move on. Go back to your filters and your ACV, because the gap is telling you one method is wrong, not that the truth is in the middle.

Document every assumption, test scenarios, and cross-check the numbers rather than shipping a single point estimate. Run low, base, and high on the three inputs that move the answer: count, ACV, and penetration. There is a concrete trigger for when a swing matters. If adoption rates cause more than a 10 percent variance in SOM, revisit and validate that assumption before you rely on it.

**Assumptions and sensitivity log**

```
Unit of analysis: firm (SUSB firm count) | reason: sold per contract to the enterprise
Industry filter: NAICS 6-digit 333xxx | source table: SUSB [record ID]
Geography basis: United States, firm HQ | reference year: [YYYY]
Technographic filter: install of [tool] | source: [technographic index]
ACV basis: blended collected, trailing 12 months | source: billing system

Sensitivity (SOM):
Input      | Low        | Base       | High
Account #  | -15%       | counted    | +15%
ACV        | -10%       | blended    | +10%
Penetration| 5%         | 10%        | 15%

Cross-check: top-down estimate = [ ]; bottom-up = [ ]; gap = [ ]% (gate: <=20%)
```

*One row per assumption; fill low, base, high for the three inputs that move TAM. Keep it beside the deck, not buried in an appendix.*

A TAM is not a one-time artifact. SUSB data are released about 2 to 2.5 years after the reference year, so your count is always somewhat lagged; note the reference year and refresh when a new vintage lands. UK Business Population Estimates update annually. Re-run the whole procedure when your ICP changes, when you enter a new geography (and must add localized titles), or when your blended ACV moves materially. Because the numbers decay at different rates, keep the assumptions log versioned so a reviewer can always see which figure is fresh and which is due for a refresh.

Where the public evidence is thin, say so. No single canonical sensitivity band beyond the 10 percent SOM-variance trigger and the 15 to 20 percent reconciliation gate is publicly established, so the low/base/high spread you choose is a judgment call you should state, not hide. A TAM that names its own limits survives scrutiny. One that claims false precision does not.

## Frequently asked questions

### What is the difference between top-down and bottom-up TAM?

Top-down starts from a published market figure and narrows it to your ICP; bottom-up counts the individual accounts that fit your ICP and multiplies by ACV. Bottom-up is more defensible under questioning because every number traces to a filter and a source. Run bottom-up first for the primary estimate, then use top-down as the cross-check, since the two methods err in opposite directions.

### Should I count companies or establishments when sizing a market?

Count firms (enterprises), not establishments, unless your product sells per site. An establishment is a single location; a firm may own many. US SUSB holds roughly 6 million single-unit plus 2 million multi-unit establishments, so counting establishments treats a 500-branch bank as 500 accounts and silently inflates the universe. Use SUSB firm counts rather than CBP establishment counts.

### What SOM percentage of SAM is credible?

For early-growth B2B companies a realistic near-term SOM is 5 to 15 percent of SAM, and for very early startups 1 to 5 percent. Anything above 20 percent needs external evidence of low incumbent concentration and high switching activity to be believed. Present SOM as a justified capture rate with a sensitivity row, not a single confident number.

### How close do my two estimates need to be?

Within 15 percent signals a sound model; a looser VC rule of thumb accepts about 20 percent. Because top-down typically tilts high and bottom-up typically tilts low, convergence inside that band is meaningful rather than coincidental. If the two estimates diverge more than 20 percent, revisit your ICP filters and your ACV figure before publishing anything.

### Where do I get a public count of companies matching my ICP?

In the US, use Statistics of U.S. Businesses for firm counts by industry and enterprise size, drawn from the Census Business Register and queryable alongside County Business Patterns via API. In the UK, use ONS Business Population Estimates and the IDBR for active businesses, and Companies House for the register. In the EU, use Eurostat business demography built on national statistical registers.

### Why does my ICP count look tiny?

Over-narrow exact-title filters and English-only title matching are the usual culprits. A strict title match collapsed a RevOps population to 15 to 58 people in Refolk's index, and English titles returned 37,122 VP of Sales in the US against only 133 in Germany. Widen title variants, add localized titles, and check for suppressed cells flagged D, S, or G before concluding a market is empty.

---

*From the Refolk guide library. I revise these guides rather than replacing them, so the current version is always at https://www.refolk.ai/guides/bottom-up-tam-from-icp*
