size-market

star 6

Produces a granular market sizing for a defined industry/sub-segment using McKinsey G3 granular-growth decomposition + arenas qualification screen, with top-down and bottom-up triangulation. Output: market-sizing.md with TAM/SAM/SOM, ≥3 sub-segment growth-rate decomposition, explicit de-averaging statement, and V/C/A/I provenance tags on every numeric claim. Sized to PE-CDD speed. Triggers on 'size the [industry] market', 'TAM SAM SOM for [industry]', 'how big is the [industry] market', 'market sizing for [industry]', 'granular market sizing'. Sub-skill of analyze-industry but invocable standalone. Do NOT activate for single-company revenue forecasting (use build-company-model), customer-segment demand analysis (use analyze-demand), or competitive share analysis (use map-competitive-arena).

Agent-Engineer-Master By Agent-Engineer-Master schedule Updated 6/3/2026

name: size-market description: "Produces a granular market sizing for a defined industry/sub-segment using McKinsey G3 granular-growth decomposition + arenas qualification screen, with top-down and bottom-up triangulation. Output: market-sizing.md with TAM/SAM/SOM, ≥3 sub-segment growth-rate decomposition, explicit de-averaging statement, and V/C/A/I provenance tags on every numeric claim. Sized to PE-CDD speed. Triggers on 'size the [industry] market', 'TAM SAM SOM for [industry]', 'how big is the [industry] market', 'market sizing for [industry]', 'granular market sizing'. Sub-skill of analyze-industry but invocable standalone. Do NOT activate for single-company revenue forecasting (use build-company-model), customer-segment demand analysis (use analyze-demand), or competitive share analysis (use map-competitive-arena)."

Size Market

For a defined industry or sub-segment, produce a granular market sizing using McKinsey G3 decomposition + arenas qualification screen. Output: market-sizing.md with explicit de-averaging.

The discipline (McKinsey G3 / granular growth): aggregate market growth rates are misleading. G3-level sub-segment portfolio choice explains ~65% of organic top-line growth. Always decompose before accepting any aggregate rate.

Iron rules:

  • Every numeric claim carries a V/C/A/I tag — see ../_shared/provenance-tagging.md.
  • ≥3 sub-segment growth rates required (Quick mode) or ≥5 (Deep mode). Single-rate sizing fails validation.
  • Top-down + bottom-up triangulation required; gap >25% triggers reconciliation; gap <5% triggers circular-sourcing check.
  • Arenas screen run — does the market qualify (high growth + high dynamism) per McKinsey 2024 criteria?
  • Definition locked at intake; base currency declared; sources <24mo old (or justified as still current).

Process

1. Intake — lock the analysis frame

Confirm and write to output header: industry slug, geographic scope, base currency (default USD), reporting year (current 2026), time horizon (current + 3-5yr), depth (Quick = TAM+SAM + ≥3 G3 / Deep = TAM+SAM+SOM + ≥5 G3 + share-shift data), and a one-sentence definition lock (what's in, what's out). Read references/sizing-methodology.md "Intake" before research.

2. Top-down sizing

Read references/sizing-methodology.md "Top-down" + references/data-sources.md. Source order: regulatory filings, trade bodies, government stats, syndicated paid (IBISWorld, Gartner, etc.), sell-side analyst notes. Never cite an AI aggregator (Perplexity, ChatGPT) without the underlying source. Capture: total market value, currency, year, geographic basis, definition used. Reconcile to locked definition. Every figure tagged V/C/A/I with report name + year + section.

3. Bottom-up sizing

Read references/sizing-methodology.md "Bottom-up". Estimate via volume × price, customers × spend × penetration, or value-theory (benefit × capture rate). Use independent sources — not the same report as top-down (circular sourcing fails). Apply the 10-customer test: can you name 10 specific customers in this market? Every assumption tagged. Software/SaaS markets (industry slug or definition contains any of: saas, software, cloud, platform, api, developer tools, observability, security software, fintech-software) must include value-theory as a required third triangulation leg — unit counts are noisy and value-per-customer is more defensible.

4. Triangulation

Compare top-down vs bottom-up. Bands: <5% suspect circular → re-verify independence; 5-25% normal → pick primary; >25% reconcile to specific assumption(s). Document gap %, reconciliation, primary choice, and rationale in output.

5. G3 granular decomposition

Decompose into ≥3 (Quick) or ≥5 (Deep) sub-segments at G3 level (sub-industry × geography × customer-segment). If the arenas screen (step 6) classifies the market as Arena (the highest-dispersion case), require ≥7 sub-segments regardless of mode — arena markets have the highest within-market dispersion and benefit most from finer-grained decomposition. For each: current size, 5yr CAGR, source tag. Sub-segments must sum to within ±10% of TAM (sanity check). Required output: an explicit de-averaging statement — "Aggregate growth is X%, but sub-segment Y grows at Z% vs sub-segment W declining at -V% — the aggregate is misleading because [reason]." If sub-segments cluster, state that explicitly.

6. Arenas qualification

Read references/arenas-screen.md. Apply McKinsey's two-axis screen: high growth (>10% CAGR) AND high competitive dynamism (top-5 share movement >5pp over 5yr). Classify: Arena / Pre-arena / Mature / Contested mature / Declining. Note if the market maps to one of McKinsey's 12 current or 18 future arenas. Single sentence on strategic implication.

7. Scenario range (Deep mode; recommended for Quick)

Produce Conservative / Base / Aggressive figures for headline TAM and SAM with 3-5 swing variables. For Deep + SOM: apply realism check (Year-1 SOM >5% of SAM needs justification; >10% rejected for new entrants without backlog).

8. Validate + write output

Run python scripts/validate_sizing.py --output-path <path> — checks tag coverage, ≥3 sub-segments (≥7 for Arena-classified), de-averaging statement, triangulation, arenas classification, value-theory mention for SaaS/software, TAM>SAM>SOM ordering, no LLM-aggregator-only citations, no stale sources, currency + definition declared, and presence of trailing next_skills: YAML block. Write to working/market-sizing.md (orchestrator mode) or standalone/size-market-YYYY-MM-DD.md (standalone mode).

HTML on request (standalone only): markdown is the default and the only format the validator and the orchestrator consume. If the user explicitly asks for an HTML version of a standalone run, then after validation passes, also render the output via the html-output skill and review it per ../_shared/output-conventions.md § "HTML deliverables and quality review". Never produce HTML automatically.

9. Append structured next_skills YAML block

End the output file with a YAML block declaring the next recommended skills for Phase 2 orchestrator automation. Format:

---
next_skills:
  - map-five-forces    # to assess industry structure given the sizing
  - map-value-chain-profit-pools    # to map where profits sit in this market
  - analyze-trajectory    # for Three-Horizons portfolio overlay (Phase 2)
---

At least one skill must be listed. Validator enforces presence.

Gotchas

  • Symptom: sizing presents a single TAM number with a single growth rate. Cause: G3 decomposition skipped — drafter accepted the headline IBISWorld figure. Fix: validator rejects outputs without ≥3 sub-segment growth rates AND an explicit de-averaging statement.
  • Symptom: top-down and bottom-up land within 5% on first pass. Cause: bottom-up used the same source as top-down (circular sourcing). Fix: bottom-up must use independent volume × price or customer × spend × penetration; source must be distinct from the top-down report.
  • Symptom: every figure tagged [V: industry report] with no specificity. Cause: lazy provenance tagging. Fix: tags must name report, year, and page/section. Validator flags vague tags as malformed.
  • Symptom: arenas screen skipped or classification asserted without the two-axis test. Fix: validation requires arenas classification + both underlying metrics (growth rate AND top-5 share movement) with sources.
  • Symptom: figures cited as [C: Perplexity Finance 2026] or [V: ChatGPT]. Cause: AI aggregator cited as source. Fix: validator flags any tag whose only source is an LLM aggregator. Always trace to the underlying syndicated report and cite that.
  • Symptom: SAM > TAM, or SOM > SAM. Cause: wrong filter chain or mixed-basis figures. Fix: validator auto-checks ordering.
  • Symptom: all sources dated 2021-2022 for a 2026 sizing. Cause: stale data carried forward without adjustment. Fix: validator flags pre-2024 sources unless justified as "still current" / "extrapolated by trailing CAGR".
  • Symptom: Year-1 SOM = 15% of SAM with no contract backlog cited. Cause: aspirational SOM. Fix: Deep-mode SOM section enforces realism bands (0.1-0.5% Y1, 1-5% Y3 for new entrants).
  • Symptom: sub-segments sum to 130% of TAM. Cause: definitional overlap or wrong G3 cut. Fix: sub-segment table must sum to ±10% of TAM; flag in reconciliation if not.

Rules

  • Never present a sizing without ≥3 sub-segment growth rates and an explicit de-averaging statement.
  • Never accept circular sourcing between top-down and bottom-up.
  • Never cite an AI aggregator (Perplexity, ChatGPT, etc.) as the primary or sole source.
  • Lock the definition, base currency, and reporting year at intake; do not switch mid-analysis.
  • All file reads use encoding='utf-8'.

Old patterns

None yet — v1.1 (2026-05-18 refinement: added data-sources reference, scenario discipline, stale-data/aggregator/ordering checks, contested-mature classification, value-theory triangulation option).


Install via CLI
npx skills add https://github.com/Agent-Engineer-Master/skill-engineer --skill size-market
Repository Details
star Stars 6
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator
Agent-Engineer-Master
Agent-Engineer-Master Explore all skills →