关于 estimation-fermi
用于费米估算的技能,将不确定问题拆分为可估算部分,明确假设、限定范围,并用替代算法核验结果。可用于市场规模、容量规划、人员配置、财务预测和影响评估的粗略估算。
主要功能
- 01明确问题范围和指标
- 02将问题拆分为组成部分
- 03利用锚点并明示假设
- 04计算乐观与悲观范围
- 05进行合理性检查和交叉验证
适用场景
- 01在数据有限时估算市场规模
- 02粗略估计基础设施或人员需求
- 03比较财务或影响情景
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ lyndonkl/ claude --skill estimation-fermi安装后在 Claude Code 中输入/estimation-fermi确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
resources/methodology.mdtemplate.mdresources/evaluators/rubric_estimation_fermi.json详细介绍
费米估算
目录
示例
问题:芝加哥有多少钢琴调音师?
分解:
- 芝加哥约有 300 万人 ÷ 每户 3 人 = 100 万户
- 约每 20 户有 1 户拥有钢琴 = 5 万架钢琴,每年调音一次
- 调音师:每年工作 250 天 × 每天调音 4 次 = 每年调音 1,000 次
- 50,000 ÷ 1,000 = 约 50 名钢琴调音师(实际约为 80~100 名,数量级相符)
工作流
复制此清单并跟踪进度:
Fermi Estimation Progress:
- [ ] Step 1: Clarify the question and define metric
- [ ] Step 2: Decompose into estimable components
- [ ] Step 3: Estimate components using anchors
- [ ] Step 4: Bound with upper/lower limits
- [ ] Step 5: Calculate and sanity-check
- [ ] Step 6: Triangulate with alternate path
步骤 1:澄清问题并定义指标
准确重述问题(单位、范围、时间范围)。确定估算结果会影响什么决策(方向性答案是否足够?是否需要确定数量级?)。有关问题澄清框架,请参阅 resources/template.md。
步骤 2:分解为可估算的组成部分
将未知量拆分为可知部分的乘积或商。选择分解策略(自上而下、自下而上、量纲分析)。有关分解模式,请参阅 resources/template.md。
步骤 3:使用锚点估算各组成部分
以已知数量(人口、物理常数、市场规模、个人经验)为估算依据。明确说明假设。有关锚点来源和校准,请参阅 resources/methodology.md。
步骤 4:用上下限界定范围
计算乐观(上限)和悲观(下限)估值,以界定答案范围。检查决策是否会随估算范围而改变。有关基于约束条件界定范围的方法,请参阅 resources/methodology.md。
步骤 5:计算并进行合理性检查
计算估算值,四舍五入至 1~2 位有效数字。根据现实情况进行合理性检查(答案是否经得起直觉检验?)。有关验证标准,请参阅 resources/template.md。
步骤 6:用其他路径进行交叉验证
使用不同的分解方式重新估算,以进行验证。检查两种路径得出的结果是否处于相同数量级。使用 resources/evaluators/rubric_estimation_fermi.json 进行验证。最低标准:平均分 ≥ 3.5。
常见模式
模式 1:市场规模测算(TAM/SAM/SOM)
- 分解:总人口 → 目标细分群体 → 可服务市场 → 可触达市场 → 价格点
- 参考依据:人口普查数据、行业报告、类似市场、渗透率
- 范围:乐观情形(高渗透率、高端定价)与悲观情形(低渗透率、折扣定价)
- 合理性检查:与该领域上市公司的营收、VC 对市场规模的估算进行比较
- 示例:电商 TAM = 美国人口 × 在线购物比例 × 年均支出
模式 2:基础设施容量
- 分解:用户数 → 每位用户的请求数 → 每个请求的计算/存储需求 → 开销
- 参考依据:类似服务(Instagram、Twitter)、已知容量(EC2 实例限制)、负载测试数据
- 范围:峰值(黑色星期五)与平均负载,增长轨迹(每年增长 2 倍与每年增长 10 倍)
- 合理性检查:每位用户的成本应低于 LTV,并与类似规模的公有云账单进行比较
- 示例:所需服务器数 =(DAU × 每位用户的请求数 × 每个请求的毫秒数)÷(实例容量 × 利用率)
模式 3:人员配置/员工人数
- 分解:待完成的工作(功能、工单、客户)→ 每人的生产力 → 开销(会议、支持)
- 参考依据:行业基准(每 X 位用户对应的工程师数、每 Y 位客户对应的支持专员数)、团队速度、招聘周期
- 范围:经验丰富的团队(高生产力)与新团队(适应期),紧迫的时间表(赶工)与可持续的节奏
- 合理性检查:员工人数增长应与营收增长曲线相匹配,并与规模相近的同行进行比较
- 示例:所需工程师数 =(路线图中的故事点数 ÷ 每位工程师的速度)+ 20% 的开销
模式 4:财务预测
- 分解:营收 = 用户数 × 转化率 × ARPU,成本 = COGS + 销售/营销 + 研发 + 管理费用
- 参考依据:队列数据、行业 CAC/LTV 基准、可比公司的指标、历史增长
- 范围:乐观情形(高增长、高效扩张)与悲观情形(增长缓慢、成本上升)
- 合理性检查:规模扩大后,利润率应接近行业常态;增长率应遵循 S 曲线,而非永远呈指数增长
- 示例:第 2 年营收 = 第 1 年营收 ×(1 + 增长率)×(1 - 流失率)
模式 5:影响评估
- 分解:总影响 = 受影响的单位数 × 单位影响 × 持续时间
- 参考依据:排放因子(kg CO2/kWh)、转化率(项目 → 行为改变)、先例研究
- 范围:保守情形(采用率低、影响较小)与乐观情形(采用率高、影响较大)
- 合理性检查:影响应呈线性或次线性增长(边际收益递减),并与类似干预措施进行比较
- 示例:节省的碳排放 =(改用方案的用户数 × 每年行驶里程 × 每英里排放量)- 基准值
防护原则
-
明确说明假设:每个费米估算都建立在假设之上。请让假设清晰可见(“假设每年有 250 个工作日”“如果转化率约为 3%”)。未说明的假设会造成虚假的精确感。
-
追求数量级,而非精确度:目标是 10^X,而不是 X.XX。四舍五入到 1–2 位有效数字(50,而不是 47.3;3M,而不是 2,847,291)。如果决策需要精确数据,就去获取真实数据。
-
逐步拆解,直到各组成部分都可估算:不断拆解,直到得到可以根据知识或经验进行估算的数量。如果某个组成部分仍然让你觉得“我怎么会知道?”,就继续拆解。
-
采用多种路径(三角验证):通过不同的拆解方式(自上而下与自下而上、供给侧与需求侧)估算同一数量。如果不同路径的结果相差不超过 3 倍,可信度就会提高。如果相差 10 倍以上,就调查哪种拆解方式有问题。
-
界定答案范围:计算乐观和悲观情形,为现实情况划定范围。如果在整个范围内决策都不变,范围就没那么重要。如果决策会改变,就投入更多精力进行更好的估算。
-
对照现实进行合理性检查:与已知数量比较,使用量纲分析(单位应正确抵消),并检查极端情况(如果所有人都做 X,会怎样?是否违背物理规律?)。
-
用已知问题校准:练习回答有可验证答案的问题,以发现个人偏差(高估?低估?锚定效应?)。
-
承认不确定性范围:适当将估算表示为范围(“1 万至 10 万名用户”“可能为 100 万至 500 万美元”)。
常见陷阱:
- ❌ 锚定在错误的数字上:使用无关或有偏差的起始数字。如果有人问“是 100 万吗?”,即使毫无依据,你也可能被这个数字锚定。
- ❌ 重复计数:在拆解中将同一数量计算两次(企业数量已包含员工,却同时计算企业和员工)。
- ❌ 单位错误:混淆日和年、百万和十亿,或货币换算错误。务必检查单位。
- ❌ 幸存者偏差:根据成功案例进行估算(用独角兽企业的创业公司平均收入,而未计入失败者)。
- ❌ 线性外推:在增长呈指数级(或反之)的情况下假设线性增长。增长率会随时间变化。
- ❌ 忽略约束:物理限制(速度不能超过光速)、经济限制(市场不可能永远比 GDP 增长得更快)。
快速参考
关键资源:
- resources/template.md:澄清框架、分解策略、估算模板、合理性检查标准
- resources/methodology.md:锚定技巧、界定方法、三角验证方法、校准练习
- resources/evaluators/rubric_estimation_fermi.json:分解、假设、界限和合理性检查的质量标准
常用锚点:
人口统计:
- 美国人口:约 3.3 亿,家庭:约 1.3 亿,劳动力人口:约 1.65 亿
- 世界人口:约 80 亿,城市人口:约 55%,互联网用户:约 50 亿
商业:
- 《财富》500 强营收:10 万美元至 6000 亿美元(中位数约 300 亿美元)
- 初创公司估值:种子轮约 500 万至 1000 万美元,A 轮约 3000 万至 5000 万美元,独角兽 >10 亿美元
- SaaS 指标:CAC 约 1000 至 5000 美元,LTV/CAC 比率 >3,年流失率 <5%
技术:
- AWS EC2 实例:约 1 万次请求/秒,S3 存储:0.023 美元/GB/月
- 移动应用:每位用户每天约 5–10 个屏幕,每个会话 50–100 次 API 调用
- 网站:每个会话约 2–3 个页面,会话时长 1–2 分钟
实体事物:
- 人:约 70 千克,每天 2000 千卡,睡眠 8 小时
- 汽车:约 25 mpg,每年 1.2 万英里,新车 3 万美元,使用寿命 20 万英里
- 房屋:约 2000 平方英尺,美国中位数价格 30 万美元,30 年期抵押贷款
换算系数:
- 1 年 ≈ 250 个工作日 ≈ 2000 个工作小时
- 100 万秒 ≈ 11.5 天,10 亿秒 ≈ 32 年
- 1 英里 ≈ 1.6 千米,1 千克 ≈ 2.2 磅,1 加仑 ≈ 3.8 升
分解策略:
- 自上而下:从总人口开始,逐步筛选(美国人口 → 汽车所有者 → 电动汽车买家)
- 自下而上:从单个单位开始,逐步扩展(单家门店营收 × 门店数量)
- 速率 × 时间:流量速率 × 时长(客户数/天 × 天数/年)
- 密度 × 面积/体积:浓度 × 空间(人数/平方英里 × 城市面积)
- 类比缩放:以已知的相似系统为基准,根据规模调整(竞争对手营收 × 我们的市场份额)
典型估算时间:
- 简单问题(1–2 层分解):3–5 分钟
- 市场规模估算(3–4 层):10–15 分钟
- 复杂业务案例(多个指标、三角验证):20–30 分钟
需要升级处理的情况:
- 决策要求高精度(不确定性小于 2 倍)
- 即使考虑界限,估算结果仍跨越超过 2 个数量级
- 没有合理的分解路径(未知因素过多)
- 利益相关者需要置信区间和严格的统计分析 → 投入资源收集数据、进行详细建模并咨询专家
所需输入:
- 问题(我们要估算什么?单位是什么?范围是什么?)
- 决策背景(哪些决策取决于这个估算?需要多高的精度?)
- 已知锚点(我们知道哪些相关数量?)
生成的输出:
estimation-fermi.md:问题、分解、假设、计算、界限、合理性检查、三角验证,以及带置信范围的最终估算