Skip to content
Back to Idea Validation

Market Sizing

Combine top-down and bottom-up approaches to triangulate a credible market size estimate.

Why

A single market size number is always wrong; a triangulated range is useful. Top-down sizing (industry report × percentage) is fast but optimistic — it assumes you can reach everyone in the category. Bottom-up sizing (count your reachable accounts × conversion × price) is realistic but narrow — it only counts what you can see. Doing both and comparing them reveals your blind spots: if top-down says $100M and bottom-up says $2M, either your reach is too narrow or your top-down is counting people who are not real buyers. The triangulated estimate — and the gap analysis between the two — is what you present to investors and use to set realistic revenue goals.

When

After TAM/SAM/SOM and search trend analysis, to pressure-test your numbers. Takes 3-4 hours. Redo before any fundraising or major strategic shift.

How

1. Top-down estimate (ceiling)
   - Industry report total × your plausible share %
   - Example: "$5B dev tools market × 0.1% = $5M"
   - Document every assumption and source

2. Bottom-up estimate (floor)
   - List your reachable accounts (from your channel + network)
   - Apply realistic conversion: leads → trials → paying
   - Example: "10k GitHub followers × 3% trial × 40% pay × $20/mo × 12 = $288k"
   - This is what you can actually engineer, not hope for

3. Triangulate
   - If top-down / bottom-up ratio < 3x: your estimate is credible
   - If 3-10x: identify which assumption is too optimistic
   - If > 10x: one of your approaches is fundamentally wrong

4. Gap analysis
   - What accounts are in top-down but not bottom-up? (unreachable today)
   - What would it take to reach them? (new channel, partnership, feature)
   - This gap is your growth plan: year 1 = bottom-up, year 3 = close half the gap

5. Sensitivity analysis
   - Vary your 2 biggest assumptions by ±50%
   - If the estimate flips from viable to unviable, that assumption is your biggest risk
   - Focus your next research on de-risking that assumption

Example

Product: a monitoring dashboard for self-hosted Postgres.
Top-down:
  - 2M companies self-host Postgres (DB-Engines)
  - 20% have > 1 instance and would pay for monitoring = 400k
  - Capture 0.5% = 2,000 companies × $30/mo × 12 = $720k/year

Bottom-up:
  - Reachable: 800 members in r/postgres + 300 in my Discord
  - 1,100 audience × 8% trial = 88 trials
  - 88 × 35% pay = 31 paying customers
  - 31 × $30/mo × 12 = $11k/year

Triangulation:
  - Ratio: 720k / 11k = 65x → fundamentally misaligned
  - Diagnosis: top-down counts all companies, bottom-up only counts my current audience
  - Gap: 400k reachable companies - 1.1k current audience = need a channel (SEO, integrations)

Revised plan:
  - Year 1 (bottom-up): $11k — prove the product works
  - Year 2 (channel build): SEO + Postgres extension marketplace → reach 50k
  - Year 3: 50k × 8% × 35% × $360 = $504k — approaches top-down

Common Problems

  • ⚠Only doing top-down — it is fast and flattering but almost always 10-100x too optimistic for a new entrant with no channel.
  • ⚠Bottom-up that is too conservative — counting only your immediate network ignores channels you could build (SEO, content, partnerships).
  • ⚠Ignoring the gap between the two — the gap IS your strategy; closing it is your growth plan, not an embarrassment to hide.
  • ⚠Single-point estimate instead of a range — "the market is $5M" is wrong; "$11k to $720k depending on channel" is honest and actionable.

Best Practices

  • ✓Always present a range (bottom-up floor to top-down ceiling) with the assumptions behind each — a single number hides uncertainty.
  • ✓Make the gap analysis explicit: "Year 1 we reach X via channel A; Year 3 we reach Y by adding channel B" — this is your growth narrative.
  • ✓Run sensitivity analysis on your 2 biggest assumptions — if flipping one changes viability, that is where your next research should focus.
  • ✓Update bottom-up monthly with real funnel data — your actual trial-to-paid conversion replaces the assumed one and tightens the estimate.