mcpField
E
estimation-fermi

estimation-fermi

github.com/lyndonkl生产力18782 次安装10 周前更新
代码仓库

关于 estimation-fermi

用于费米估算的技能,将不确定问题拆分为可估算部分,明确假设、限定范围,并用替代算法核验结果。可用于市场规模、容量规划、人员配置、财务预测和影响评估的粗略估算。

主要功能

  1. 01明确问题范围和指标
  2. 02将问题拆分为组成部分
  3. 03利用锚点并明示假设
  4. 04计算乐观与悲观范围
  5. 05进行合理性检查和交叉验证

适用场景

  1. 01在数据有限时估算市场规模
  2. 02粗略估计基础设施或人员需求
  3. 03比较财务或影响情景

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lyndonkl/claude --skill estimation-fermi

安装后在 Claude Code 中输入/estimation-fermi确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

resources/
methodology.md
template.md
resources/evaluators/
rubric_estimation_fermi.json

详细介绍

费米估算

目录

示例

问题:芝加哥有多少钢琴调音师?

分解:

  1. 芝加哥约有 300 万人 ÷ 每户 3 人 = 100 万户
  2. 约每 20 户有 1 户拥有钢琴 = 5 万架钢琴,每年调音一次
  3. 调音师:每年工作 250 天 × 每天调音 4 次 = 每年调音 1,000 次
  4. 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)、转化率(项目 → 行为改变)、先例研究
  • 范围:保守情形(采用率低、影响较小)与乐观情形(采用率高、影响较大)
  • 合理性检查:影响应呈线性或次线性增长(边际收益递减),并与类似干预措施进行比较
  • 示例:节省的碳排放 =(改用方案的用户数 × 每年行驶里程 × 每英里排放量)- 基准值

防护原则

  1. 明确说明假设:每个费米估算都建立在假设之上。请让假设清晰可见(“假设每年有 250 个工作日”“如果转化率约为 3%”)。未说明的假设会造成虚假的精确感。

  2. 追求数量级,而非精确度:目标是 10^X,而不是 X.XX。四舍五入到 1–2 位有效数字(50,而不是 47.3;3M,而不是 2,847,291)。如果决策需要精确数据,就去获取真实数据。

  3. 逐步拆解,直到各组成部分都可估算:不断拆解,直到得到可以根据知识或经验进行估算的数量。如果某个组成部分仍然让你觉得“我怎么会知道?”,就继续拆解。

  4. 采用多种路径(三角验证):通过不同的拆解方式(自上而下与自下而上、供给侧与需求侧)估算同一数量。如果不同路径的结果相差不超过 3 倍,可信度就会提高。如果相差 10 倍以上,就调查哪种拆解方式有问题。

  5. 界定答案范围:计算乐观和悲观情形,为现实情况划定范围。如果在整个范围内决策都不变,范围就没那么重要。如果决策会改变,就投入更多精力进行更好的估算。

  6. 对照现实进行合理性检查:与已知数量比较,使用量纲分析(单位应正确抵消),并检查极端情况(如果所有人都做 X,会怎样?是否违背物理规律?)。

  7. 用已知问题校准:练习回答有可验证答案的问题,以发现个人偏差(高估?低估?锚定效应?)。

  8. 承认不确定性范围:适当将估算表示为范围(“1 万至 10 万名用户”“可能为 100 万至 500 万美元”)。

常见陷阱:

  • ❌ 锚定在错误的数字上:使用无关或有偏差的起始数字。如果有人问“是 100 万吗?”,即使毫无依据,你也可能被这个数字锚定。
  • ❌ 重复计数:在拆解中将同一数量计算两次(企业数量已包含员工,却同时计算企业和员工)。
  • ❌ 单位错误:混淆日和年、百万和十亿,或货币换算错误。务必检查单位。
  • ❌ 幸存者偏差:根据成功案例进行估算(用独角兽企业的创业公司平均收入,而未计入失败者)。
  • ❌ 线性外推:在增长呈指数级(或反之)的情况下假设线性增长。增长率会随时间变化。
  • ❌ 忽略约束:物理限制(速度不能超过光速)、经济限制(市场不可能永远比 GDP 增长得更快)。

快速参考

关键资源:

常用锚点:

人口统计:

  • 美国人口:约 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:问题、分解、假设、计算、界限、合理性检查、三角验证,以及带置信范围的最终估算

评论

支持 Markdown