# TAM/SAM/SOM calculator: bottom-up оценка рынка

> Как построить проверяемую модель TAM, SAM и SOM из числа клиентов, цены, продуктовых ограничений и capacity. Формулы, пример и AI prompts.
> Author: Roman Belov · Published: 2026-04-13 · Source: https://futurecraft.pro/ru/blog/tam-sam-som-calculator/

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:

```text
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:

```text
Buyer:
User:
Problem:
Industry classification:
Company или consumer size:
Geography:
Required language:
Regulatory requirements:
Technical prerequisites:
Buying trigger:
Revenue unit:
As-of date:
```

Definition должна совпадать с [positioning](/ru/blog/positioning-statement-ai/). Если customer всё ещё описан как «любая компания, которой нужна автоматизация», оценивать рынок рано.

Различайте статистические единицы. Enterprise, company, establishment, location, employee и user — не одно и то же. Например, U.S. Census County Business Patterns публикует данные по **establishments** с наёмными сотрудниками в разрезе industry, geography и establishment size ([CBP methodology](https://www.census.gov/programs-surveys/cbp/about.html)). У одной company может быть несколько establishments.

## Шаг 2. Рассчитайте bottom-up TAM

Для одного B2B segment:

```text
TAM = eligible customer count × annual contract value
```

Для нескольких tiers:

```text
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](https://www.bls.gov/cew/overview.htm)). В Европе Eurostat Structural Business Statistics содержит enterprise counts и size classes по economic activity, а также описывает coverage и publication lags ([Eurostat SBS](https://ec.europa.eu/eurostat/web/structural-business-statistics/information-data)).

Сохраняйте raw table и transformation. Записи «Census: 50,000» недостаточно.

```text
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:

```text
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:

```text
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](/ru/blog/financial-model-ai/) и [unit economics](/ru/blog/unit-economics-calculator-ai/). Большой 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 |

Расчёты:

```text
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 проверяет правдоподобие результата на уровне категории:

```text
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.

При расхождении:

1. выровняйте units и reference years;
2. сравните включённые products и customers;
3. проверьте company против establishment counts;
4. проверьте exchange rates и nominal против real values;
5. выясните, встроен ли adoption в исходную цифру;
6. сохраните оба ranges, если различие обосновано.

Для public competitors берите filings, а не вторичные пересказы. SEC EDGAR даёт бесплатный доступ к company filings и XBRL data ([SEC filing search](https://www.sec.gov/search-filings)).

## Используйте AI как research clerk, а не source

Безопасный research prompt:

```text
Собери 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:

```text
Проверь этот 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 должен содержать:

1. customer definition в одном предложении;
2. TAM, SAM и SOM в одинаковых unit и period;
3. bottom-up formulas;
4. два-три самых чувствительных assumption;
5. footnotes с sources и as-of dates;
6. путь от SOM к operating plan.

Не скрывайте широкий range. Объясните его и укажите evidence, которое сузит интервал. Supporting workbook хранит source log и scenarios; deck сохраняет расчёт, а не повторяет каждую строку. Контекст для slide разобран в [гайде по pitch deck narrative](/ru/blog/pitch-deck-narrative-ai/).

Защищаемая market estimate — не самая крупная доступная цифра, а минимальная model с видимыми definitions, evidence и operating constraints.
