# How to Calculate TAM, SAM, and SOM Using Top-Down and Bottom-Up Approaches

> Learn to calculate TAM SAM SOM using top-down and bottom-up methods. Phuryn's pm-skills repo offers a 7-step workflow for validated market size estimates. Maximize your insights.

- Repository: [Pawel Huryn/pm-skills](https://github.com/phuryn/pm-skills)
- Tags: how-to-guide
- Published: 2026-06-13

---

**The pm-skills repository defines a seven-step workflow that reconciles top-down industry analysis with bottom-up unit economics to generate validated TAM, SAM, and SOM estimates.**

The **phuryn/pm-skills** repository treats market sizing as a reusable skill that Product Management agents can invoke for investor pitches, roadmap planning, or competitive analysis. According to the source code in [`pm-market-research/skills/market-sizing/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-market-research/skills/market-sizing/SKILL.md), calculating TAM, SAM, and SOM requires executing both top-down and bottom-up methodologies and reconciling the results to produce a triangulated market figure.

## The Seven-Step Market Sizing Workflow

The core methodology lives in [`pm-market-research/skills/market-sizing/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-market-research/skills/market-sizing/SKILL.md), which structures the analysis into seven sequential stages that move from broad definition to specific capture metrics.

### Market Definition

Scope the problem space, target customer segments, and geographic boundaries before running any calculations. This step establishes the guardrails for all subsequent numeric estimates.

### Top-Down Estimation

Start from industry-wide figures, such as total industry revenue reported by analyst firms, and narrow down using segmentation percentages. This approach leverages existing market research but requires careful filtering to avoid inflated figures.

### Bottom-Up Estimation

Build the market from **unit economics**: **customers × price × frequency**. This produces an independent estimate that validates the top-down figure and exposes unrealistic assumptions in third-party reports.

### SAM Scoping

Trim the TAM to the **Serviceable Available Market** your product can realistically serve based on channel constraints, language support, geographic limitations, and pricing tier alignment.

### SOM Estimation

Project the **Serviceable Obtainable Market** you can capture in the next 1-3 years based on competitive positioning, sales capacity, and current brand recognition.

### Growth Projection

Forecast how each metric evolves over a 2-3 year horizon to demonstrate expansion potential and inform resource allocation decisions.

### Assumption Mapping

Document key assumptions, confidence levels, and validation steps. Lines 78-80 of the skill file explicitly mandate reporting currency consistently, providing confidence intervals, and differentiating between revenue-based and unit-based sizing.

## Reconciling Top-Down and Bottom-Up Results

According to lines 37-41 of [`pm-market-research/skills/market-sizing/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-market-research/skills/market-sizing/SKILL.md), the workflow requires both calculation methods to produce independent estimates, then reconciles them to generate a single triangulated TAM figure. If the two approaches diverge significantly, the skill instructs the agent to revisit assumptions or data sources.

The skill also instructs agents to **search the web** for current market data (line 18), ensuring estimates reflect real-time conditions rather than stale annual reports. All sources must be cited in the final output.

## Implementation Examples

The repository exposes the market-sizing skill through a CLI interface that reads the markdown skill definitions and routes prompts to the appropriate handler.

### Command-Line Invocation

Invoke the skill directly via the `pm-toolkit` CLI with product and region arguments:

```bash
$ pm-toolkit market-sizing \
  --product "AI‑powered code review tool" \
  --region "United States" \
  --industry "Software Development Tools"

```

### Programmatic Integration

Embed the skill in a chatbot or automation workflow using the Python SDK:

```python
import pm_toolkit as pm

question = """
Estimate the TAM, SAM, and SOM for a cloud‑based video‑editing platform targeting indie creators in Europe.
"""
response = pm.run_skill("market-sizing", question)
print(response)

```

### CI Pipeline Automation

Generate market-size reports as part of continuous documentation updates:

```bash

# GitHub Actions step

- name: Generate market sizing
  run: |
    pm-toolkit market-sizing \
      --product "Smart Home Energy Monitor" \
      --region "North America" \
      --industry "IoT Home Devices" \
      > market-sizing-report.md

```

Each invocation produces a structured markdown report containing a summary table, growth drivers, and risk analysis suitable for investor presentations or internal strategy documents.

## Summary

- **TAM, SAM, and SOM calculation** requires both top-down (industry narrowing) and bottom-up (unit economics) approaches to produce reliable estimates.
- The **pm-skills** repository encapsulates this logic in [`pm-market-research/skills/market-sizing/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-market-research/skills/market-sizing/SKILL.md) as a reusable seven-step workflow.
- **Reconciliation** of dual methodologies occurs at lines 37-41, ensuring consensus between macro and micro market views.
- The skill mandates **web search** for current data (line 18) and strict **output formatting** including confidence intervals and currency consistency (lines 78-80).
- Integration options include **CLI commands**, **Python SDK**, and **CI pipeline** automation.

## Frequently Asked Questions

### What is the difference between TAM, SAM, and SOM?

**TAM** (Total Addressable Market) represents the entire market demand for your product category. **SAM** (Serviceable Available Market) is the subset of TAM you can realistically serve given your product constraints and geographic reach. **SOM** (Serviceable Obtainable Market) is the share you can capture in the short term (1-3 years) based on current resources and competitive positioning.

### Why use both top-down and bottom-up approaches?

Top-down analysis provides quick benchmarks using published industry reports, while bottom-up calculation validates these figures through unit economics (customers × price × frequency). According to the source code, reconciling both methods prevents over-reliance on potentially inflated third-party data and ensures internal assumptions align with market reality.

### How does the pm-skills repository validate market size data?

The skill explicitly instructs agents to **search the web** for up-to-date market data (line 18 of the skill file) rather than relying on cached or static datasets. Additionally, the **assumption mapping** step requires documentation of confidence levels and validation steps, while lines 78-80 mandate citing sources and reporting currency consistently.

### What output format does the market-sizing skill generate?

The skill produces a structured markdown report that includes a summary table of TAM/SAM/SOM figures, growth projections over 2-3 years, identified growth drivers, risk analysis, and a complete list of assumptions with confidence intervals. This format is designed for direct inclusion in investor pitch decks or product strategy documents.