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.