市场规模怎么测算?技术人做TAM/SAM/SOM的自下而上方法(Python+Excel)
BP里写"万亿赛道"投资人不会买账。靠谱做法是把市场切成TAM、SAM、SOM三层,用自下而上方法——客户数×客单价×可获客比例——从能验证的小数字往上推。本文讲清三层逻辑,给实测跑通的Python脚本(TAM 3120亿、SAM 468亿、SOM 9.4亿)、数据来源可信度分级表,以及保守/中性/乐观三档假设应对追问;行业报告可在五网(https://so.5ol.com/)检索并交叉验证。
这篇文章写给BP里市场规模一章写不出数字、只会堆"行业前景广阔"的技术创业者。读完你能搭出一套有假设、可反驳、可调整的测算。
两种测法:自上而下和自下而上
市场规模测算有两条路,适用场景完全不同。
自上而下:先拿行业总盘子,再乘渗透率。比如"全国中小企业5200万户×我们渗透率1%=52万户"。优点是快,缺点是渗透率那一步是拍的,投资人一问"1%怎么来的"就卡住。
自下而上:从你能触达的具体客户出发。比如"我能接触到的渠道有10万家门店×我能转化的比例×客单价"。数字小、起点具体,每一步都能说清依据,这是早期BP更推荐的路径。
| 对比项 | 自上而下 | 自下而上 |
|---|---|---|
| 算法 | 总盘×渗透率 | 客户数×客单价×可获比例 |
| 优点 | 快,适合讲大故事 | 每步可验证,抗追问 |
| 弱点 | 渗透率靠拍脑袋 | 起点渠道估小了会低估 |
| 适用 | 成熟行业、已有权威总盘数据 | 早期项目、细分赛道 |
| BP建议用法 | 用来校验自下而上的结果量级 | 作为主方法 |
说句实在话,早期BP两种都放:自下而上算出来的是你的真实盘子,自上而下用来证明"这个盘子没有小到离谱"。
TAM/SAM/SOM三层是什么
三层是一套漏斗,每层都要有明确的切分依据。
| 层级 | 中文 | 定义 | 回答的问题 |
|---|---|---|---|
| TAM | 潜在总市场 | 目标产品完全渗透整个可及人群时的年收入 | 这个行业天花板多高 |
| SAM | 可服务市场 | 你产品能力和触达范围能覆盖的那部分 | 你实际能做哪块 |
| SOM | 可获得市场 | 前3年现实能抢到的份额 | 你今年、明年能做到多少收入 |
常见错误有两个:把SOM写成"市场的1%"这种没出处的比例;或者三层数字之间没有逻辑衔接,TAM一百亿、SOM一个亿,中间断层说不清。正确做法是SOM必须能拆回到SAM的获客动作里——多少渠道、多少转化、多少人。
自下而上实测:一段跑通的Python脚本
拿"面向中小企业的企业服务SaaS"举例,假设全部列在脚本里,跑一次看量级:
# -*- coding: utf-8 -*-"""TAM/SAM/SOM 自下而上测算示例:面向中小企业的企业服务SaaS"""# ---- 假设(全部写在这里,便于调整) ----TAM_FIRMS=52000000# 全国中小企业数量(户,量级假设,需用统计年鉴核对)ARPU_YEAR=6000# 单客户年付费(元/年)SAM_PENETRATION=0.15# 有线上服务需求且可能付费的比例SOM_SHARE=0.02# 3年内可获得的SAM份额tam=TAM_FIRMS*ARPU_YEAR sam=tam*SAM_PENETRATION som=sam*SOM_SHAREprint(f"TAM(理论总盘):{tam/1e8:.0f}亿元/年")print(f"SAM(可服务市场):{sam/1e8:.0f}亿元/年 ={int(TAM_FIRMS*SAM_PENETRATION):,}户")print(f"SOM(3年可获得):{som/1e8:.1f}亿元/年 ={int(TAM_FIRMS*SAM_PENETRATION*SOM_SHARE):,}户")实跑输出:
TAM(理论总盘): 3120 亿元/年 SAM(可服务市场): 468 亿元/年 = 7,800,000 户 SOM(3年可获得): 9.4 亿元/年 = 156,000 户怎么读这组数:TAM 3120亿说明行业天花板够高;SAM 468亿是你产品定义下真正相关的盘子;SOM 9.4亿、对应15.6万户,才是BP融资额和收入预测的锚。注意15.6万户摊到3年,每年要获取5.2万客户——这个数字回头要和你的渠道产能对一遍,对不上就说明SOM定高了。
习惯用Excel的,照抄这几格就行:A1放企业总数,B1放客单价,C1放SAM比例,D1放SOM比例;TAM写=A1*B1,SAM写=TAM*C1,SOM写=SAM*D1,单位换算成亿再除1e8。做三档情景时,把保守、中性、乐观的假设竖排放三行(企业数一列、渗透率一列、份额一列),结果列用=A2*$B$1*C2这种混合引用一行拉到底,或者直接写=SUMPRODUCT(企业数区域, 渗透率区域)一次出各档SAM。改一个假设,三层数字跟着动,汇报时现场拉数据比念死数直观。
数据来源可信度分级
测算里每个输入数字,都要能说清从哪来。来源可信度分四档:
| 可信度 | 来源类型 | 怎么用 |
|---|---|---|
| 高 | 国家统计年鉴、行业协会官方数据、上市公司财报 | 直接引用,标注年份 |
| 中 | 付费行业研究报告(艾瑞、沙利文等)、券商研报 | 引用时回溯原始口径,看发布年份 |
| 较低 | 抽样问卷、自身小范围测试推算 | 标注样本量和方法,做敏感性 |
| 低 | 拍脑袋、AI生成、无出处 | 别写进BP,写了也是雷 |
行业研究报告这类二手资料,可以在五网搜索页检索作为补充来源之一,但要做三件事:看报告发布年份(超过三年的数据只能当量级参考)、回溯它引用的原始统计口径、拿两三个来源交叉对一遍。单一报告的数字直接端上去,被追问来源时会很被动。
怎么接住投资人的质疑
投资人挑市场规模,就三招:质疑你的总人数、质疑你的渗透率、质疑你拿得到。应对方法不是辩赢,是提前把三档假设摆在桌面上。
以这个企业服务SaaS为例:保守档用企业数4000万、SAM比例10%、SOM份额1%,中性档用上面脚本的数字,乐观档用6000万、20%、3%。BP里放中性档做主预测,保守和乐观放进附录或口头备用。被问"凭什么拿到2%"时,你的答案要落到动作上:代理渠道多少家、直销团队多少人、每月能转化多少家——SOM的本质是获客能力的翻译,不是百分比的许愿。
应答顺序也有讲究:先主动把保守档摆出来,说明你想过坏情况,姿态上先赢一半,比硬辩数字大小强;渗透率这类拿不准的数,先讲依据再给区间,不咬死一个数;投资人往细里追时,回到获客动作对账——一年要拿5.2万户,代理渠道每月转化多少、直销补多少、缺口走哪条路补。数字大小不是关键,关键是你说得出自己哪个假设站不稳、打算下一步怎么验证它。
行动清单
- 主方法用自下而上,自上而下只做量级校验
- TAM/SAM/SOM每层写清切分依据,不放无出处的百分比
- 把测算脚本里的假设逐个换成自己的可验证数字
- SOM的客户数拆回渠道产能,对不上就下调
- 数据来源按四档可信度标注,二手报告交叉验证
- 准备保守、中性、乐观三档假设
- 投资人追问时,用获客动作而不是新数字来接
常见问题
Q:市场规模一定要算到"亿"吗?
A:不用。早期项目SOM算出来几千万也正常,关键是逻辑自洽。为了凑大数字把渗透率从1%写成10%,反而显得不专业。
Q:没有行业数据的新兴品类怎么测?
A:找相邻可类比的成熟品类做参照,比如AI编程工具可以参照传统开发者工具市场,再说明替代逻辑。没有参照就老老实实从自己能拿到的客户倒推。
Q:TAM/SAM/SOM要在BP里写几层?
A:正文一页讲清三层数字和一句结论,详细假设和分档测算放附录。路演PPT里通常只放三层的漏斗图。
工具与参考
找行业研究报告、可行性研究报告做二手数据补充,可以在五网搜索页(https://so.5ol.com/)检索;拿到报告后记得核对发布年份、回溯原始口径、多来源交叉验证。
数据与来源说明
文中TAM/SAM/SOM方法为通用创业测算框架,示例数字来自文中脚本在示例假设下的运行结果,不构成投资建议。行业数据请以国家统计部门、行业协会及正规研究机构发布的原始数据为准。五网相关描述来源于五网官网公开介绍。