SAM Sizer — Segmented Addressable Market
TAM is a vanity number. This is the slice your team can actually call.
From TAM to SAM with an auditable funnel and per-filter rationale
The RVP doesn't need to take your word on segmentation.
The funnel is the audit trail.
| Filter | Remaining | Drop % |
|---|---|---|
| Global TAM | 112,000 | — |
| + Industry | 42,000 | −63% |
| + Geo | 18,500 | −56% |
| + Revenue band | 3,840 | −79% |
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