TAM/SAM/SOM calculator: bottom-up оценка рынка
Что такое TAM, SAM и SOM?
TAM — годовая revenue opportunity при покупке продукта всеми клиентами чётко определённого рынка по обоснованной цене. SAM — часть рынка, которую текущий продукт и бизнес способны обслужить с учётом географии, сегмента, regulation, языка и channels. SOM — число клиентов или revenue, подтверждённые operating plan на указанный период; SOM нужно считать из acquisition и delivery capacity, а не брать как удобный процент SAM.
TL;DR
- -До расчёта выберите одну единицу: annual recurring revenue, transaction revenue, gross profit, spend, users или другую measure. Не смешивайте единицы между TAM, SAM и SOM.
- -Основную оценку стройте bottom-up: число eligible customers × наблюдаемая или проверенная annual price. Top-down category reports используйте для cross-check.
- -SAM — отфильтрованная customer universe, а не TAM, умноженный на произвольные проценты. Каждое исключение должно иметь product, legal, geographic или distribution reason.
- -SOM выводится из operating plan: qualified opportunities, win rate, seller capacity, onboarding capacity, churn и expansion. SOM/SAM — результат, а не исходное assumption.
- -Для каждого input запишите source, date, geography, unit, transformation и confidence. При слабых evidence показывайте диапазон.
- -AI может организовать evidence и проверить assumptions, но не должен придумывать отсутствующие market data или молча объединять несовместимые definitions.
Market model становится полезной, когда другой человек способен её воспроизвести.
«Global category revenue × 1%» эту проверку не проходит. Формула не называет buyer, не обосновывает price и не объясняет путь к customer. Красивый AI-ответ может скрыть тот же пробел за большим числом строк и citations.
Ниже TAM, SAM и SOM строятся из явных inputs. Цифры примера намеренно гипотетические: метод остаётся понятным, а выдуманные market facts не выдаются за research.
До рынка определите единицу
TAM расшифровывают как total addressable или total available market. Важнее не вариант названия, а definition рядом с цифрой.
Выберите одну measure:
- annual recurring revenue;
- annual transaction revenue;
- gross profit;
- gross merchandise value;
- paid accounts;
- seats или active users.
Сохраняйте одну единицу и один период. Marketplace нельзя сравнивать GMV для TAM с take-rate revenue для SOM. Subscription business не должен сопоставлять five-year contract value и годовую revenue.
В этом calculator:
TAM = annual revenue от полной определённой customer universe
SAM = annual revenue от customers, которых обслуживает текущий offer
SOM = annual или year-end revenue, подтверждённая operating plan
Вверху model укажите currency, geography, segment и as-of date.
Шаг 1. Опишите customer boundary
Начните с customer definition, а не с категории analyst report:
Buyer:
User:
Problem:
Industry classification:
Company или consumer size:
Geography:
Required language:
Regulatory requirements:
Technical prerequisites:
Buying trigger:
Revenue unit:
As-of date:
Definition должна совпадать с positioning. Если customer всё ещё описан как «любая компания, которой нужна автоматизация», оценивать рынок рано.
Различайте статистические единицы. Enterprise, company, establishment, location, employee и user — не одно и то же. Например, U.S. Census County Business Patterns публикует данные по establishments с наёмными сотрудниками в разрезе industry, geography и establishment size (CBP methodology). У одной company может быть несколько establishments.
Шаг 2. Рассчитайте bottom-up TAM
Для одного B2B segment:
TAM = eligible customer count × annual contract value
Для нескольких tiers:
TAM = Σ(customer count в tier i × annual revenue per customer в tier i)
Segmentation не даёт средней цене вводить в заблуждение. Продукту за $600 в год для small account и $30,000 для enterprise нужны отдельные counts и assumptions.
Для каждого input берите максимально прямое evidence:
| Input | Предпочтительное evidence |
|---|---|
| Customer count | Government business register или official industry statistics |
| Segment definition | NAICS, NACE, regulated registry или firmographic rule |
| Price | Paid contracts, pilots, signed proposals или tested price |
| Competitor revenue | Public filing, investor report или audited account |
| Adoption constraint | Customer research или measured prerequisite |
Для B2B в США доступны CBP и Bureau of Labor Statistics QCEW, но их coverage и сроки различаются. QCEW публикует establishments, employment и wages по detailed industry и geography (QCEW overview). В Европе Eurostat Structural Business Statistics содержит enterprise counts и size classes по economic activity, а также описывает coverage и publication lags (Eurostat SBS).
Сохраняйте raw table и transformation. Записи «Census: 50,000» недостаточно.
Source:
Table/API:
Reference period:
Retrieved:
Raw measure:
Industry code:
Geography:
Size filter:
Exclusions:
Transformation:
Result:
Шаг 3. Получите SAM фильтрами
SAM не обязан быть процентом TAM. Это список customers, которых current offer действительно обслуживает.
Полезные filters:
- supported countries и languages;
- industry или company size;
- compatible platforms и integrations;
- legal или data-residency requirements;
- minimum problem frequency или transaction volume;
- price и procurement fit;
- доступные company channels.
По возможности применяйте filters к customer records:
SAM customers =
TAM customers
− unsupported geographies
− incompatible segments
− regulatory exclusions
− accounts ниже economic threshold
SAM revenue =
Σ(serviceable customers по tiers × annual revenue по tiers)
Не перемножайте несколько угаданных процентов. «40% mid-market × 30% e-commerce × 60% region» выглядит точно, но может скрывать correlations и разные denominators.
Если доступны только aggregates, покажите limitation. Сделайте low, base и high cases вместо ложной точности.
Шаг 4. Рассчитайте SOM из capacity
В SOM market model встречается с operating plan. Для sales-led B2B product:
Demand-limited wins = qualified opportunities × win rate
Capacity-limited wins = min(
demand-limited wins,
seller capacity,
onboarding capacity,
support или supply capacity
)
New ARR = capacity-limited wins × new-logo ACV
Year-end ARR =
opening ARR
+ new ARR
+ expansion ARR
− churned ARR
Для self-serve product замените seller capacity на traffic, activation, paid conversion, retention и service constraint. Для marketplace смоделируйте обе стороны и применяйте take rate только после transaction volume.
Свяжите inputs с financial model и unit economics. Большой market не спасает plan с неработающими acquisition cost, gross margin, cash или onboarding capacity.
Не начинайте с «мы возьмём 2%». Сначала посчитайте wins и revenue. SOM/SAM полезен как sense check после расчёта.
Пример calculator: гипотетический B2B SaaS
Предположим, fictional compliance product с такими иллюстративными inputs:
| Input | Value | Evidence для реальной model |
|---|---|---|
| Total eligible accounts | 50,000 | Official count плюс classification |
| Currently serviceable accounts | 8,000 | Account-level filters |
| Annual contract value | $6,000 | Contracts или pricing tests |
| Qualified opportunities in Year 1 | 800 | Channel plan |
| Win rate | 10% | Cohort или conservative scenario |
| Seller capacity | 96 wins | Reps × ramped wins per rep |
| Onboarding capacity | 72 wins | Implementation plan |
Расчёты:
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%
0.9% — не benchmark и не target, а результат заданных funnel и onboarding constraint. После снятия этого constraint bottleneck сместится к demand. При наличии opening ARR, churn или expansion добавьте эти строки до того, как называть итог year-end ARR.
Сверьте top-down и bottom-up
Top-down research проверяет правдоподобие результата на уровне категории:
Reported category revenue
× relevant product share
× relevant geography
= top-down cross-check
Используйте definition источника, reference year, currency и methodology. Два reports могут расходиться, потому что один считает software revenue, а другой добавляет services, hardware или consumer spending. Median не исправляет несовместимые definitions.
При расхождении:
- выровняйте units и reference years;
- сравните включённые products и customers;
- проверьте company против establishment counts;
- проверьте exchange rates и nominal против real values;
- выясните, встроен ли adoption в исходную цифру;
- сохраните оба ranges, если различие обосновано.
Для public competitors берите filings, а не вторичные пересказы. SEC EDGAR даёт бесплатный доступ к company filings и XBRL data (SEC filing search).
Используйте AI как research clerk, а не source
Безопасный research prompt:
Собери evidence table для market definition:
[customer, geography, industry code, size, revenue unit, as-of date]
Используй primary sources, где они доступны.
Для каждого input верни:
- value и unit;
- reference period;
- geography и covered population;
- direct URL;
- exact table, field или filing section;
- applied transformation;
- exclusions и known limitations.
Если value нет, напиши NOT FOUND.
Не оценивай missing value без отдельного запроса на scenario.
Не объединяй sources с разными units без явного warning.
Откройте каждый source сами. AI способен взять правдоподобную цифру не из той таблицы, спутать establishments с firms или приложить citation, не подтверждающий value.
Второй prompt нужен для challenge:
Проверь этот TAM/SAM/SOM workbook.
Пока не пересчитывай его.
Найди:
- mixed units или periods;
- overlapping или correlated filters;
- unsupported conversion и pricing inputs;
- double-counted customers;
- различия между companies, establishments, users и seats;
- SOM assumptions без capacity.
Для каждой проблемы укажи affected cell и нужное evidence.
Не просите «confidence score от 1 до 10». Оценивайте confidence по source quality, directness, freshness и sensitivity.
Постройте три scenario без ложной точности
Меняйте несколько assumptions, которые действительно двигают результат:
| 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 |
Добавьте one-way sensitivity. Если изменение ACV на 10% двигает TAM сильнее любого спора о customer count, важнее проверить pricing, а не покупать ещё один report.
Разделяйте facts и assumptions:
- Observed: paid contracts, closed-won rates, public table.
- Derived: sum, filter, conversion, currency adjustment.
- Assumed: future win rate, hiring, adoption.
- Unknown: отсутствующее evidence.
Покажите model на одном проверяемом slide
Market slide должен содержать:
- customer definition в одном предложении;
- TAM, SAM и SOM в одинаковых unit и period;
- bottom-up formulas;
- два-три самых чувствительных assumption;
- footnotes с sources и as-of dates;
- путь от SOM к operating plan.
Не скрывайте широкий range. Объясните его и укажите evidence, которое сузит интервал. Supporting workbook хранит source log и scenarios; deck сохраняет расчёт, а не повторяет каждую строку. Контекст для slide разобран в гайде по pitch deck narrative.
Защищаемая market estimate — не самая крупная доступная цифра, а минимальная model с видимыми definitions, evidence и operating constraints.