Skip to content
Business
Skill

/tam-sam-som-builder

Estimates TAM, SAM, and realistic SOM for a B2C app idea using triangulated bottom-up methodology anchored to market_insights trend data, competitor revenue proxies, and community size signals. Includes indie capture rate benchmarks and growth-rate adjustments by trend velocity.

BOOST
From plugin
idea-validation-agents
47915 skills
Install
$ npx -y skills add MaxKmet/idea-validation-agents --skill tam-sam-som-builder --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/tam-sam-som-builder

Context preview

The summary Claude sees to decide when to auto-load this skill.

Estimates TAM, SAM, and realistic SOM for a B2C app idea using triangulated bottom-up methodology anchored to market_insights trend data, competitor revenue proxies, and community size signals. Includes indie capture rate benchmarks and growth-rate adjustments by trend velocity.

SKILL.md

tam-sam-som-builder.SKILL.md
name: tam-sam-som-builder
description: Estimates TAM, SAM, and realistic SOM for a B2C app idea using triangulated bottom-up methodology anchored to market_insights trend data, competitor revenue proxies, and community size signals. Includes indie capture rate benchmarks and growth-rate adjustments by trend velocity.

<!-- version: 0.2.0 | outputs: memory/ideas/<slug>/market_size.json -->

Skill: tam-sam-som-builder

Purpose

Provide a realistic market size estimate that an indie developer can actually use for decisions. Most TAM estimates are useless because they use top-down analyst numbers designed to impress VCs, not to inform a solo builder deciding where to spend the next 6 months. This skill uses **triangulated bottom-up methodology** — multiple independent estimation approaches cross-checked against each other — anchored to real signals from `market_insights/` trend data.

Input

  • Idea slug (or market research slug for pre-idea deep dives)
  • `memory/ideas/<slug>/keywords.json` (search volume estimates — if available)
  • `memory/ideas/<slug>/competitors.json` (competitor scale and pricing signals)
  • `memory/ideas/<slug>/pricing.json` (target price — if available)
  • `memory/market_insights/<niche>-*-<YYYY>-<MM>.md` (trend analysis files — **use all available platform files for this niche**)

Using Market Insights

Trend analysis files from `memory/market_insights/` provide critical calibration data. Extract the following from each available file's YAML frontmatter and narrative:

| Field | How it informs TAM/SAM/SOM | |---|---| | `trend_velocity` | Adjusts growth rate projections (see Step 5) | | `top_signals` | Validates that real demand exists; calibrates bottom-up search volume estimates | | `monetization_evidence` | Confirms WTP — if no monetization evidence exists across any platform, discount TAM by 30–50% | | `overall_verdict` (hot/warm/cool/cold) | Sanity-check on whether the market is worth sizing at all | | Platform narrative (Reddit pain points, TikTok engagement, App Store reviews) | Source for community size proxy estimation (see Approach B) |

If `overall_verdict` across platforms is "cold", flag the entire estimate as speculative and note that market demand is unvalidated.

Methodology

Approach A — Search Volume (primary when keywords.json available)

TAM = monthly_search_volume × 12 × intent_conversion_rate × annual_price

Where:

  • `monthly_search_volume` = total from `keywords.json` across all relevant keywords
  • `intent_conversion_rate` = % of searchers who have genuine purchase intent (see benchmarks below)
  • `annual_price` = from `pricing.json` target WTP, annualized

**Intent conversion benchmarks by search type:**

| Search intent | Conversion rate | Example query | |---|---|---| | Direct solution search ("app to track X") | 8–15% | "habit tracker app", "budget planner iOS" | | Problem-aware search ("how to X") | 3–8% | "how to save money", "how to build habits" | | Category browsing ("best X apps") | 5–12% | "best workout apps 2026", "top meditation apps" | | Tangential interest ("X tips") | 1–3% | "productivity tips", "healthy eating advice" |

Approach B — Community Size Proxy (primary when market_insights available)

When keyword data is weak but trend analysis reveals active communities, estimate from community engagement:

TAM = active_community_members × platform_multiplier × annual_price

Where:

  • `active_community_members` = sum of engaged users across platforms (subreddit subscribers, TikTok hashtag creators, App Store review volume)
  • `platform_multiplier` = ratio of total interested population to active community members (see below)

**Platform multipliers** (how many silent interested people per active community member):

| Signal source | Multiplier | Rationale | |---|---|---| | Reddit subscribers in niche subreddit | 20–50× | ~2–5% of interested people join a subreddit | | TikTok hashtag creators (not views) | 100–500× | Tiny fraction of interested people create content | | App Store reviews for top competitor | 50–100× | ~1–2% of users leave reviews | | Newsletter subscribers in niche | 10–30× | Email subscribers are a warmer proxy |

Approach C — Competitor Revenue Proxy (supplementary)

Estimate from competitor data in `competitors.json`:

TAM = sum of estimated annual revenue across all mapped competitors × market_coverage_factor

Where:

  • Estimate competitor revenue from: `estimated_users × competitor_price × 12 × estimated_conversion_rate`
  • `market_coverage_factor` = 1.3–2.0× (competitors don't capture the full market). Use 1.3× for saturated markets, 2.0× for markets with few competitors.

Triangulation

Run all available approaches and compare:

  • If estimates agree within 2× → high confidence. Use the geometric mean.
  • If estimates disagree by 2–5× → medium confidence. Use the most conservative estimate and note the range.
  • If estimates disagree by > 5× → low confidence. Flag assumptions that cause the divergence.

Always report which approaches were used and their individual estimates in the output.

SAM Filtering

SAM narrows TAM to the segment actually reachable by the app. Apply these filters in order:

Geographic & Platform Filters

| Filter | How to apply | Data source | |---|---|---| | **Platform** | iOS-only → multiply TAM by iOS market share in target geography | See benchmarks below | | **Geography** | English-only → US + UK + CA + AU + NZ + IE. Specific country → that country only | App concept language | | **Age range** | If app targets a demographic (teens, 50+), apply population % | Idea description | | **Income bracket** | If app requires disposable income for subscription, filter by income | Pricing model |

**iOS market share by region** (for iOS-only apps):

| Region | iOS share (approximate) | |---|---| | United States | 55–58% | | United Kingdom | 50–53% | | Canada | 53–56% | | Australia | 55–58% | | Western Europe (avg) | 30–35% | | Global | 25–

Read more
Ships withidea-validation-agents

AI agents that act as your personal venture analyst - from startup idea brainstorming to full validation and go-to-market strategy. Built for developers who'd rather validate in 10 minutes than regret in six months. Powered by Claude Code, OpenAI Codex, and Cursor.

Get the whole plugin
Stats
480
Stars
57
Forks
Maintained
Maintenance
MIT
License
4mo ago
Last commit
6mo ago
Created
4h ago
Added

Repo: MaxKmet/idea-validation-agents

Other skills on idea-validation-agents.