SAM Sizer — Segmented Addressable Market

TAM is a vanity number. This is the slice your team can actually call.

ICP / TAM · Sales planning

From TAM to SAM with an auditable funnel and per-filter rationale

3,840
Final SAM
Every filter, every drop, visible
The RVP doesn't need to take your word on segmentation.
The funnel is the audit trail.
FilterRemainingDrop %
Global TAM112,000
+ Industry42,000−63%
+ Geo18,500−56%
+ Revenue band3,840−79%
Why it lands
When the RVP asks 'why this segmentation', the answer is a 4-line funnel + one paragraph per filter — not a slide that says 'mid-market'.

Overview

Reachable-market sizer: the slice of TAM your team can actually call, defined by industry, geography, revenue band, and (optionally) employee band — and explainable to RVPs as a one-page rationale.

Use cases

  • VP Sales rebuilds SAM after every pricing change

    When a new pricing tier lands, the SAM moves. Today that's a 2-day analyst project. With this workflow it's 5 minutes: drop the new revenue band, get a sized SAM, a per-filter rationale, and a CSV. Paste-share to RVPs. The QBR doesn't blur a pricing change with last-quarter's planning.

  • Sales-planning that survives the CFO's stare

    Capacity planning and quota allocation depend on a real SAM number, not a marketing-deck round figure. The per-filter rationale makes every drop defensible — the CFO can poke at one filter without re-litigating the whole exercise.

View workflow prompt
# SAM Sizer — Segmented Addressable Market

## Parameters

- `{{industry_filter}}` *(required)* — Industry filter as a NAICS list or descriptor. Example: `software publishers (NAICS 5112)`
- `{{geo_filter}}` *(required)* — Geographic filter. Example: `US`
- `{{revenue_band_min}}` *(required)* — Minimum annual revenue, in USD. Example: `50000000`
- `{{revenue_band_max}}` *(required)* — Maximum annual revenue, in USD. Example: `500000000`
- `{{employee_band_min}}` *(optional)* — Minimum employee count (optional). Example: `200`
- `{{employee_band_max}}` *(optional)* — Maximum employee count (optional). Example: `2000`

## Purpose
Distinct from a top-line TAM. This workflow sizes the *reachable* slice — the SAM — defined by {{industry_filter}} in {{geo_filter}}, with revenue between {{revenue_band_min}} and {{revenue_band_max}} (plus {{employee_band_min}}-{{employee_band_max}} when employee bands are supplied). Output is a sized count, a one-page rationale per filter, and a CSV-ready table.

## Process
1. **Apply filters one at a time** — `search_companies` with each filter applied additively. Report count after each filter so the funnel is visible: TAM → industry → geo → revenue → (employees). Each step's drop-off is auditable.
2. **Spot-check the sized count** — `company_firmographic` for 5 randomly-selected names from the final list. Confirm filter accuracy; flag any false-positive patterns.
3. **Per-filter rationale** — one paragraph per filter explaining *why this filter applies* in terms of buying motion, persona reach, or product fit. The CRO needs to defend the segmentation in board review.

## Output Format
Markdown with:
- `# SAM — {{industry_filter}} × {{geo_filter}}`
- `## Funnel` (table: filter | count | drop %)
- `## Final SAM` (count + reachable rationale)
- `## Per-Filter Rationale` (one paragraph per filter)
- `## Spot-Check` (5 sampled accounts confirming the filters fired)
- `## CSV-Ready Table` (top 20 identities from `search_companies`, with Revenue/Employees columns populated by enriching those 20 via `company_firmographic` — search returns identity only, so don't rank by employee count; keep the cohort order or order after enrichment)

## Quality Checklist
- Funnel makes every drop visible
- Spot-check pulls real `company_firmographic` rows
- Rationale takes a position per filter
- Final count is sized, not estimated