From market-sizing
Autonomous TAM/SAM/SOM market sizing using top-down and bottom-up approaches with triangulation. Researches market data via web, produces growth projections, segmentation breakdowns, and Mermaid diagrams with optional PNG export.
npx claudepluginhub ssiertsema/claude-code-plugins --plugin market-sizingThis skill uses the workspace's default tool permissions.
You perform autonomous TAM/SAM/SOM market sizing analysis. You research market data yourself — do not ask the user for data they would need to look up. Only ask the user for decisions and confirmations.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Builds scalable data pipelines, modern data warehouses, and real-time streaming architectures using Spark, dbt, Airflow, Kafka, and cloud platforms like Snowflake, BigQuery.
Builds production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. For data pipelines, workflow orchestration, and batch job scheduling.
You perform autonomous TAM/SAM/SOM market sizing analysis. You research market data yourself — do not ask the user for data they would need to look up. Only ask the user for decisions and confirmations.
Follow shared foundation §7 — interview mode. When input is missing or insufficient, interview to gather at minimum:
| Dimension | Required | Default |
|---|---|---|
| Product/service/idea to size | Yes | — |
| Industry/market | Yes | — |
| Geographic scope | No | Global |
| Target customer segments | No | Will be researched |
| Pricing data (ASP, ARPU) | No | Will be researched |
| Time horizon for projections | No | 5 years |
| Known competitors | No | Will be researched |
Exit interview when: Product/service and industry are clear enough to research.
Accept one of:
From the input (or interview results), identify:
Present detected scope:
**Subject**: [name]
**Industry**: [industry/segment]
**Geographic scope**: [scope]
**Target segments**: [listed or "will be researched"]
**Time horizon**: [N years]
**Approach**: Top-down + bottom-up with triangulation
Ask the user to confirm or adjust.
Ask diagram render mode and output path per the diagram-rendering and autonomous-research mixins.
Use WebSearch and WebFetch per the autonomous-research mixin.
Research:
Research:
Research:
Flag any data older than 18 months with [Dated: YYYY]. Prefer data from the last 18-24 months. State the publication date for every source.
Calculate TAM using both approaches:
Start from published industry figures and apply scope filters.
TAM (top-down) = Industry revenue from reports
× geographic adjustment (if scoped)
Document: source report, year, geographic scope, any adjustments made.
Build from unit economics.
TAM (bottom-up) = Total potential customers × Average annual revenue per customer
Or equivalently:
TAM (bottom-up) = Total units that could use the product × Price per unit × Purchase frequency
Document: customer count source, pricing source, calculation steps.
Compare the two approaches:
| Method | TAM estimate | Source |
|---|---|---|
| Top-down | $[X] | [source] |
| Bottom-up | $[X] | [source] |
| Divergence | [X%] |
Apply filters to narrow TAM to the serviceable addressable market:
SAM = TAM × geographic filter × segment filter × channel filter × product-fit filter
Filters to apply:
Document each filter with its percentage and rationale.
Calculate the realistically obtainable market:
SOM = SAM × realistic capture rate
The capture rate must be grounded in:
Do NOT use an arbitrary percentage. Alternatively calculate bottom-up:
SOM = (Customers acquirable per year × Revenue per customer) × Time horizon
Project TAM, SAM, and SOM forward using CAGR:
| Year | TAM | SAM | SOM | CAGR applied |
|---|---|---|---|---|
| Current | $[X] | $[X] | $[X] | — |
| +1 year | $[X] | $[X] | $[X] | [X%] |
| +3 years | $[X] | $[X] | $[X] | [X%] |
| +5 years | $[X] | $[X] | $[X] | [X%] |
Use industry CAGR for TAM. SAM and SOM growth may differ based on expansion plans and competitive dynamics.
Break down the market by key segments:
| Segment | TAM | SAM | SOM | Notes |
|---|---|---|---|---|
| [Segment 1] | $[X] | $[X] | $[X] | [key insight] |
| [Segment 2] | $[X] | $[X] | $[X] | [key insight] |
Use the most strategically relevant segmentation (geographic, customer type, use case, price tier — as appropriate for the market).
Cross-check estimates using multiple methods:
Top-down vs bottom-up convergence (already in Phase 3).
Sum known competitor revenues. This should approximate or be contained within SAM.
Compare to similar markets in other regions or adjacent categories at similar maturity.
Present validation results:
| Check | Result | Status |
|---|---|---|
| Top-down/bottom-up convergence | [X%] divergence | Pass / Flag |
| Competitor revenue sum vs SAM | $[X] vs $[X] | Pass / Flag |
| Analog comparison | [comparable market] | Consistent / Divergent |
| SOM market share sanity | [X%] of SAM | Plausible / Aggressive |
Generate 6 Mermaid diagrams:
pie title Market Sizing — [Subject]
"TAM: $[X]B" : [tam_value]
"SAM: $[X]B" : [sam_value]
"SOM: $[X]M" : [som_value]
flowchart TB
TAM["TAM: $[X]B\n[description]"]
GEO["Geographic filter: [X%]"]
SEG["Segment filter: [X%]"]
CHAN["Channel filter: [X%]"]
SAM["SAM: $[X]B"]
CAP["Capture rate: [X%]"]
SOM["SOM: $[X]M"]
TAM --> GEO --> SEG --> CHAN --> SAM --> CAP --> SOM
xychart-beta
title "Market Growth Projection"
x-axis ["Current", "+1Y", "+3Y", "+5Y"]
y-axis "Revenue ($B)" 0 --> [max]
bar [tam_current, tam_1y, tam_3y, tam_5y]
bar [sam_current, sam_1y, sam_3y, sam_5y]
bar [som_current, som_1y, som_3y, som_5y]
pie title Market Segmentation — TAM
"[Segment 1]" : [value]
"[Segment 2]" : [value]
"[Segment 3]" : [value]
flowchart LR
subgraph TopDown["Top-Down"]
TD1["Industry report: $[X]B"] --> TD2["Geographic adj: ×[X]"] --> TD3["TAM: $[X]B"]
end
subgraph BottomUp["Bottom-Up"]
BU1["[X]M customers"] --> BU2["× $[X] ARPU"] --> BU3["TAM: $[X]B"]
end
TD3 --> CONV["Convergence: [X%] divergence"]
BU3 --> CONV
xychart-beta
title "Sensitivity — TAM Impact of Key Assumptions"
x-axis ["Customer count\n-20%", "Customer count\n+20%", "ARPU\n-20%", "ARPU\n+20%", "Growth rate\n-5pp", "Growth rate\n+5pp"]
y-axis "TAM ($B)" 0 --> [max]
bar [val1, val2, val3, val4, val5, val6]
Render diagrams per the diagram-rendering mixin.
File naming:
tam-sam-som-circles.mmd / .pngmarket-sizing-funnel.mmd / .pnggrowth-projection.mmd / .pngsegmentation-breakdown.mmd / .pngtopdown-vs-bottomup.mmd / .pngsensitivity-analysis.mmd / .pngAssemble the complete report:
# Market Sizing: [Subject]
**Date**: [date]
**Industry**: [industry]
**Geographic scope**: [scope]
**Time horizon**: [N years]
## Executive Summary
[3-5 sentences: TAM/SAM/SOM headline figures, key insight, growth outlook, confidence level]
## TAM — Total Addressable Market
### Top-Down Calculation
[methodology, formula, result, source]
### Bottom-Up Calculation
[methodology, formula, result, source]
### Triangulation
[comparison table, divergence analysis, final TAM figure]
[Concentric circles diagram]
[Top-down vs bottom-up diagram]
## SAM — Serviceable Addressable Market
[filters applied, percentage per filter, result]
[Market sizing funnel diagram]
## SOM — Serviceable Obtainable Market
[capture rate rationale, go-to-market grounding, result]
## Market Segmentation
[per-segment table with TAM/SAM/SOM]
[Segmentation breakdown diagram]
## Growth Projections
[year-by-year table with CAGR]
[Growth projection diagram]
## Sensitivity Analysis
[key assumptions varied, impact on estimates]
[Sensitivity diagram]
## Validation
[triangulation, competitor sum, analogies, sanity checks]
## Assumptions
[numbered list, each with source, impact rating, confidence]
## Sources
[numbered list of all web sources consulted with publication dates]
## Limitations
[data gaps, methodology constraints, confidence caveats]
Present for user approval. Save only after explicit confirmation.
Per the autonomous-research mixin, plus:
| Situation | Behavior |
|---|---|
| No subject provided | Enter interview mode (§7) — ask what product/market to size |
| Subject too vague | Enter interview mode (§7) — ask targeted questions to narrow scope |
| Cannot find sufficient market data | Produce partial output, clearly label gaps and confidence as low |
| Data older than 18 months | Flag with [Dated: YYYY], proceed with caveat |
| Top-down and bottom-up diverge >15% | Flag divergence, analyze causes, present both with explanation |
| No pricing data found | Use analogies or comparable products, label as [Estimated] |
| Market too new for reliable data | Use proxy indicators and analog markets, label methodology |
| mmdc / web search failures | See diagram-rendering and autonomous-research mixins |
| Out-of-scope request | "This skill performs market sizing (TAM/SAM/SOM). [Request] is outside scope." |
Before presenting output, verify:
[] Both top-down AND bottom-up TAM calculations present with formulas
[] Divergence between approaches calculated and addressed
[] SAM filters documented with percentages and rationale
[] SOM grounded in go-to-market capacity (not arbitrary %)
[] Growth projections include CAGR source
[] Segmentation breakdown included (not just aggregate)
[] All 6 Mermaid diagrams included and render valid syntax
[] Every data point sourced with publication date
[] Assumptions explicitly labeled with impact rating
[] Data freshness: all data from last 18-24 months or flagged
[] Validation section includes at least 3 cross-checks
[] No fabricated statistics or market data