<!-- TAM, SAM and SOM calculator | install: npx skills add prosyo-ai/gtm-skill --skill tam-calculator | source: https://github.com/prosyo-ai/gtm-skill/tree/main/skills/tam-calculator -->

---
name: tam-calculator
description: "Use this skill when you need a credible market size for a B2B product: a board or investor deck, territory planning, deciding which segment to attack, or checking whether outbound has enough accounts to sustain a quota. Builds a bottom-up TAM, SAM and SOM from countable accounts and real prices instead of top-down analyst numbers, shows every assumption, and turns the result into an account count per segment that sales can actually work."
license: MIT
metadata:
  title: TAM, SAM and SOM calculator
  category: research
  tags: "Founders, Sales Leaders, Marketing, RevOps"
  author: prosyo
  version: "1.0.0"
  keywords: "tam sam som calculator, bottom up market sizing, b2b market size, claude tam skill, total addressable market"
  inputs: "ICP and segments, Pricing and average deal size, Account counts per segment"
  outputs: "Bottom-up TAM SAM SOM, Assumption table, Accounts per segment, Coverage check"
---

Use this when someone asks "how big is the market?" or "do we have enough accounts?". It produces a bottom-up size that survives questions, because every number traces to a count or a price.

## Inputs

- ICP and the segments you sell to.
- Pricing and the average first-year contract value per segment.
- Account counts per segment from a company database, industry registry or association data. Estimates are acceptable if labelled.

## The play

### 1. Count accounts, do not quote reports
Top-down numbers ("the sales software market is $X billion") cannot be worked and rarely survive diligence. Start from countable companies: headcount band × industry × region.

### 2. Define the three layers
- **TAM**: every account that could use the product at full price, globally.
- **SAM**: accounts you can serve today: regions, languages, integrations and segments you support.
- **SOM**: accounts you can realistically win in 3 years given team size, win rates and sales capacity.

### 3. Price each segment
Accounts × annual contract value. Use real deal data per segment; a blended average hides that enterprise accounts are 10x the value and 3x the cycle length.

### 4. Pressure-test SOM with capacity
SOM must be reachable by the go-to-market you have or plan to fund. Capacity check: reps × accounts each can work per year × win rate. If capacity reaches 400 wins and SOM says 4,000, SOM is wrong. Read [references/sizing-worked-example.md](references/sizing-worked-example.md) for the full table.

### 5. Check outbound coverage
Divide SAM accounts by the number of reps and by contacts touched per rep per quarter. If a team will exhaust its SAM in under 4 quarters, flag it: list fatigue is coming and the ICP needs widening or new channels.

## Output format

```
Segment table: segment | accounts | ACV | TAM $ | in SAM? | SOM share | SOM $
Totals: TAM $X (N accounts) | SAM $Y (N) | SOM $Z (N) in 3 years
Assumptions: <each with source or "estimate">
Capacity check: <reps x accounts x win rate = wins/year>
Coverage: <quarters until SAM is fully touched at current volume>
Biggest uncertainty: <one line + how to reduce it>
```

## What good looks like

- Every number in the deck can be traced to a row in the assumption table.
- SOM is constrained by capacity, not by ambition. "1% of a huge market" is the classic red flag investors look for.
- Segments are separated, because the decision the sizing supports is usually "which segment first".
- The best version ends with an account list size, not just a dollar figure, so sales can act on it.

## Rules

- MUST build bottom-up from account counts and prices.
- MUST label every estimate as an estimate.
- NEVER present a top-down analyst figure as your TAM without the bottom-up check.
- NEVER let SOM exceed what the sales capacity check supports.

## Example prompts

- "Size the market for our payroll tool for restaurant groups in the US and UK."
- "Build TAM, SAM and SOM for our seed deck, bottom-up, with every assumption shown."
- "We have 6 SDRs. Do we have enough accounts in our SAM for the next two years?"


---

<!-- references/sizing-worked-example.md -->

# Sizing worked example

Product: scheduling software for multi-location dental groups. Illustrative numbers.

## Segment table

| Segment | Accounts | ACV | TAM | In SAM | SOM share (3 yrs) | SOM |
| --- | --- | --- | --- | --- | --- | --- |
| US groups, 5-20 locations | 3,100 | $18,000 | $55.8M | Yes | 8% | $4.5M |
| US groups, 21-100 locations | 640 | $60,000 | $38.4M | Yes | 6% | $2.3M |
| US groups, 100+ locations | 85 | $220,000 | $18.7M | No (needs SSO, not built) | 0% | $0 |
| UK groups, 5+ locations | 520 | $16,000 | $8.3M | Yes | 4% | $0.3M |
| Rest of world | 4,000 (estimate) | $15,000 | $60.0M | No | 0% | $0 |
| **Total** | **8,345** | | **$181.2M** | **$102.5M** | | **$7.1M** |

## Assumption table

| Assumption | Value | Source |
| --- | --- | --- |
| US group counts | 3,100 / 640 / 85 | Industry association membership data |
| ACV by segment | $18k / $60k / $220k | Our closed-won averages; the 100+ figure is an estimate from 3 deals |
| UK count | 520 | Company registry search, SIC code + location count |
| Rest of world | 4,000 | Estimate, low confidence |
| SOM share | 4-8% | Current win rate × reachable accounts, see capacity check |

## Capacity check

- 4 AEs, each can run 60 qualified opportunities a year.
- Win rate 25%.
- Wins per year: 4 × 60 × 0.25 = 60. Over 3 years with hiring to 8 AEs: about 270 wins.
- SOM accounts implied by the table: 248 + 38 + 21 = 307. Close to capacity, so SOM holds. If it had implied 1,000 accounts, it would need cutting.

## Coverage check

- SAM accounts: 4,260. Contacts per account: 3. Total: about 12,800 contacts.
- 3 SDRs each start 600 new contacts a month: 1,800 a month.
- Months to touch the full SAM once: about 7. The team will need re-engagement plays and the 100+ segment (SSO) within a year.
