TAM/SAM/SOM calculator: bottom-up market sizing
What are TAM, SAM, and SOM?
TAM is the annual revenue opportunity if every customer in a clearly defined market bought the product at a defensible price. SAM is the portion the current product and business can serve under explicit geography, segment, regulatory, language, and channel constraints. SOM is the revenue or customer outcome supported by the operating plan for a stated period; it should be calculated from acquisition and delivery capacity, not assumed as a convenient percentage of SAM.
TL;DR
- -Choose one unit before calculating: annual recurring revenue, transaction revenue, gross profit, spend, users, or another measure. Do not mix them across TAM, SAM, and SOM.
- -Build the core estimate bottom-up: eligible customers multiplied by an observed or tested annual price. Use top-down category reports only as a cross-check.
- -SAM is a filtered customer universe, not TAM multiplied by arbitrary percentages. Every exclusion needs a product, legal, geographic, or distribution reason.
- -SOM comes from the operating plan: qualified opportunities, win rate, seller capacity, onboarding capacity, churn, and expansion. The SOM/SAM ratio is an output.
- -Record source, date, geography, unit, transformation, and confidence for every input. Show a range where evidence is weak.
- -AI can organize evidence and challenge assumptions, but it must not invent missing market data or silently combine incompatible definitions.
A market model becomes useful when another person can reproduce it.
“Global category revenue × 1%” fails that test. It does not identify the buyer, explain the price, or show how the company reaches the customer. A polished AI answer can hide the same gap behind more rows and citations.
This guide builds TAM, SAM, and SOM from explicit inputs. The worked numbers are hypothetical so that the method is clear and no invented market fact is presented as research.
Define the unit before the market
TAM is often called total addressable or total available market. The label matters less than the definition written next to the number.
Choose one measurement:
- annual recurring revenue;
- annual transaction revenue;
- gross profit;
- gross merchandise value;
- paid accounts;
- seats or active users.
Keep the unit and period consistent. A marketplace cannot compare GMV for TAM with take-rate revenue for SOM. A subscription business should not compare a five-year contract value with one year of revenue.
For this calculator:
TAM = annual revenue from the full defined customer universe
SAM = annual revenue from customers the current offer can serve
SOM = annual or year-end revenue supported by the operating plan
Write the currency, geography, segment, and as-of date at the top of the model.
Step 1: describe the customer boundary
Start with a customer definition, not a market-report category:
Buyer:
User:
Problem:
Industry classification:
Company or consumer size:
Geography:
Required language:
Regulatory requirements:
Technical prerequisites:
Buying trigger:
Revenue unit:
As-of date:
This should agree with the positioning work. If the customer is still “any company that needs automation,” market sizing is premature.
Be precise about statistical units. An enterprise, company, establishment, location, employee, and user are not interchangeable. The U.S. Census County Business Patterns program, for example, reports establishments with paid employees by industry, geography, and establishment size (CBP methodology). One company can operate several establishments.
Step 2: calculate bottom-up TAM
For a single B2B segment:
TAM = eligible customer count × annual contract value
For multiple tiers:
TAM = Σ(customer count in tier i × annual revenue per customer in tier i)
Segmenting avoids a misleading average. A product priced at $600 per year for a small account and $30,000 for an enterprise needs separate counts and adoption assumptions.
Use the strongest available input for each row:
| Input | Preferred evidence |
|---|---|
| Customer count | Government business register or official industry statistics |
| Segment definition | NAICS, NACE, regulated registry, or explicit firmographic rule |
| Price | Paid contracts, pilots, signed proposals, or tested price |
| Competitor revenue | Public filing, investor report, or audited account |
| Adoption constraint | Customer research or measured product prerequisite |
For U.S. B2B markets, CBP and the Bureau of Labor Statistics QCEW both publish establishment data, but their coverage and timing differ. QCEW covers establishments, employment, and wages by detailed industry and geography (QCEW overview). For Europe, Eurostat Structural Business Statistics includes enterprise counts and size classes by economic activity, with documented coverage and publication lags (Eurostat SBS).
Record the raw table and transformation. Do not write only “Census: 50,000.”
Source:
Table/API:
Reference period:
Retrieved:
Raw measure:
Industry code:
Geography:
Size filter:
Exclusions:
Transformation:
Result:
Step 3: derive SAM with filters
SAM is not automatically a percentage of TAM. It is a list of customers the present offer can actually serve.
Useful filters include:
- supported countries and languages;
- industry or company size;
- compatible platforms and integrations;
- legal or data-residency requirements;
- minimum problem frequency or transaction volume;
- price and procurement fit;
- channels the company can use.
Apply filters to customer records where possible:
SAM customers =
TAM customers
− unsupported geographies
− incompatible segments
− regulatory exclusions
− accounts below the economic threshold
SAM revenue =
Σ(serviceable customers by tier × annual revenue by tier)
Avoid multiplying several guessed percentages. “40% mid-market × 30% e-commerce × 60% region” can look rigorous while hiding correlations and incompatible denominators.
If only aggregate data exists, make the limitation visible. Provide a low, base, and high case rather than forcing precision.
Step 4: calculate SOM from capacity
SOM is where the model meets the operating plan. For a sales-led B2B product:
Demand-limited wins = qualified opportunities × win rate
Capacity-limited wins = min(
demand-limited wins,
seller capacity,
onboarding capacity,
support or supply capacity
)
New ARR = capacity-limited wins × new-logo ACV
Year-end ARR =
opening ARR
+ new ARR
+ expansion ARR
− churned ARR
For a self-serve product, replace seller capacity with traffic, activation, paid conversion, retention, and any service constraint. For a marketplace, model both sides and apply the take rate only after transaction volume.
Tie the inputs to your financial model and unit economics. Market size does not rescue a plan where acquisition cost, gross margin, cash, or onboarding capacity does not work.
Do not start with “we will capture 2%.” Calculate wins and revenue first. SOM divided by SAM is a useful sense check after the calculation.
Worked calculator: hypothetical B2B SaaS
Assume a fictional compliance product with these illustrative inputs:
| Input | Value | Evidence needed in a real model |
|---|---|---|
| Total eligible accounts | 50,000 | Official count plus classification |
| Currently serviceable accounts | 8,000 | Account-level filters |
| Annual contract value | $6,000 | Contracts or pricing tests |
| Qualified opportunities in Year 1 | 800 | Channel plan |
| Win rate | 10% | Cohort or conservative scenario |
| Seller capacity | 96 wins | Reps × ramped wins per rep |
| Onboarding capacity | 72 wins | Implementation plan |
Calculations:
TAM = 50,000 × $6,000 = $300,000,000 annual revenue
SAM = 8,000 × $6,000 = $48,000,000 annual revenue
Demand-limited wins = 800 × 10% = 80
Capacity-limited wins = min(80, 96, 72) = 72
SOM new ARR = 72 × $6,000 = $432,000
SOM / SAM = $432,000 / $48,000,000 = 0.9%
The 0.9% is not a benchmark or target. It is the output of the assumed funnel and onboarding constraint. If the company removes that constraint, demand becomes the next bottleneck. If it has opening ARR, churn, or expansion, add those rows before calling the result year-end ARR.
Reconcile top-down and bottom-up estimates
Top-down research asks whether the result is plausible at category level:
Reported category revenue
× relevant product share
× relevant geography
= top-down cross-check
Use the source’s own definition, reference year, currency, and methodology. Two reports can differ because one measures software revenue while another includes services, hardware, or consumer spending. Taking a median does not repair incompatible definitions.
When estimates disagree:
- align units and reference years;
- compare included products and customers;
- compare company versus establishment counts;
- inspect exchange rates and nominal versus real values;
- identify whether adoption is already embedded;
- keep both ranges if the difference is legitimate.
For public competitors, use filings rather than secondary summaries. SEC EDGAR provides free access to company filings and XBRL data (SEC filing search).
Use AI as a research clerk, not the source
A safer research prompt is:
Build an evidence table for this market definition:
[customer, geography, industry code, size, revenue unit, as-of date]
Use primary sources where available.
For each input return:
- value and unit;
- reference period;
- geography and population covered;
- direct URL;
- exact table, field, or filing section;
- transformation applied;
- exclusions and known limitations.
If a value is unavailable, write NOT FOUND.
Do not estimate a missing value unless I explicitly request a scenario.
Do not combine sources with different units without flagging the conflict.
Open every source yourself. AI can quote the right-looking number from the wrong table, confuse establishments with firms, or attach a citation that does not support the value.
Use a second prompt to challenge the model:
Audit this TAM/SAM/SOM workbook.
Do not recalculate yet.
Find:
- mixed units or periods;
- overlapping or correlated filters;
- unsupported conversion and pricing inputs;
- double-counted customers;
- differences between companies, establishments, users, and seats;
- SOM assumptions not tied to capacity.
For each issue, identify the affected cell and the evidence needed.
Do not ask for a “confidence score from 1 to 10.” Record confidence from source quality, directness, freshness, and sensitivity.
Build three scenarios, not false precision
Change the few assumptions that actually drive the result:
| Driver | Low | Base | High |
|---|---|---|---|
| Serviceable accounts | evidenced range | central case | evidenced range |
| ACV | tested low | expected | tested high |
| Qualified opportunities | committed | plan | upside |
| Win rate | observed low | cohort | observed high |
| Churn/retention | adverse | expected | favorable |
| Delivery capacity | staffed | plan | funded |
Run one-way sensitivity as well. If a 10% change in ACV moves TAM more than every customer-count dispute, pricing evidence deserves more work than another analyst report.
Keep assumptions separate from facts:
- Observed: paid contracts, closed-won rates, public table.
- Derived: sum, filter, conversion, currency adjustment.
- Assumed: future win rate, hiring, adoption.
- Unknown: missing evidence that remains unresolved.
Present the model in one auditable slide
The market slide should contain:
- one-sentence customer definition;
- TAM, SAM, and SOM with the same unit and period;
- bottom-up formulas;
- the two or three assumptions with greatest sensitivity;
- source footnotes and as-of dates;
- the route from SOM to the operating plan.
Do not hide a wide range. Explain why it is wide and what evidence will narrow it. The supporting workbook can carry the full source log and scenarios; the deck should preserve the calculation, not reproduce every row. See the pitch deck narrative guide for the surrounding story.
A defensible market estimate is not the largest number you can cite. It is the smallest model that keeps its definitions, evidence, and operating constraints visible.