费米估算 | 产品面试中的估算问题解法

费米估算 | 产品面试中的估算问题解法

时间:2020-5-30 作者:抖音代运营

前言:前段时间在分析大厂产品面试题,发现估算题目出现的概率蛮大。比如估算成都一年出租出去的房子数量,估算一个城市的加油站等,这类问题(Market Sizing)貌似没有已知条件。

查找相关资料后,才知道费米给出了一套解决这类问题的方法论。

费米问题的本质在于将未知问题逐步拆解成已知问题,通过建模和生活经验给出毛估。这篇文章会介绍下费米估算和如何解决这类Market Sizing估算问题。

大纲:

  • 费米估算:起源
  • 费米估算的原理
  • 如何用费米估算Market Sizing问题
  • 案例分析
  • 总结

一、费米估算:起源

有这样的一个故事:

事后有人用电话号码簿加以验证,实际统计的结果与费米的猜测十分接近。

二、费米估算的原理

1. 费米估算的概念

费米估算指的是解决未知结果的估算问题,将复杂的问题拆解成小的、可知结果的部分。

将拆解出来的简单部分赋予实际意义,如果还不能得出结果,那就继续再拆解,直到拆解后的所有部分问题变成一个常识问题或者是比较容易解决的,从而将一个未知结果的问题逐步变得清晰。

2. 平均律

在将复杂的问题拆解成小的、可知结果的部分过程中,可能会存在估算,那么这样的估算会不会给最终结果带来很大的误差呢?

比如前面例子中,费米估算芝加哥有1/3家庭有钢琴,如果当时估算的是1/4,那结果就会不准确了吗?

其实在费米估算过程中,我们不是只有一次估算,我们会产生一系列的估算。比如估算芝加哥有1/3家庭有钢琴,同时也会估算一架钢琴平均5年调一次音。这些估算有的过高有的过低,相乘之后会相互抵消,回归到较为准确的平均值。

费米估算不是万能的,有个很重要的前提,我们的估算值是有实际数据或者生活经验支撑的。估算值不能偏离实际结果太远,要从实际结果、常识出发。比如费米在估算芝加哥每个家庭有4个人,换成我们来估算的话,我们不能拍脑袋直接估算芝加哥每个家庭有10个人。

这种脱离实际常识、数据的估算其实是瞎猜,瞎猜怎么能对呢?

三、如何用费米估算Market Sizing问题

最近在分析些产品面试题,发现一些大厂喜欢出这样的估算题目,比如:

估算成都每年奶茶店的规模大小?

估算成都一家奶茶店一天卖多少杯奶茶?

估算成都有多少家奶茶店?

这类问题称为Market Sizing问题,有些同学在面试时碰到这类问题,如果没有提前了解这类题型,难以找到比较好的回答思路。

这类Market Sizing题型正好可以通过费米估算的法则来解决,将未知的数逐步拆解成已知的部分,从而将一个未知结果的问题逐步变得清晰。

Market Sizing问题在运用费米估算时,主要是通过需求端、供给端两个角度切入将问题拆解。这两个角度可以解决80%的Market Sizing问题,当然有些不涉及商品的规模、数量的问题,这两个角度可能解决不了。

那就需要对这个问题进行数学分析,列出公式,从而拆解。

费米估算步骤:

  • 明确问题
  • 分析是需求端问题还是供给端问题,或者两个角度都不是
  • 问题拆解,列公式
  • 计算

对问题进行拆解时,我们提倡按照不重不漏(MECE,Mutually Exclusive Collectively Exhausted)的原则 ,将问题层层拆解成子问题,从而找到问题的根源。

在对问题进行拆解的时候,我们需要注意两个问题。

1)避免把未知数拆解成新的未知数,而应该使得拆解后的元素变得可解决

举个例子,在“估算成都一家奶茶店一天卖多少杯奶茶?”中,我们从需求端出发,先是估算成都常住人口为1000万,接着估算

每天喝奶茶的人=常住人口*渗透率

假设渗透率是1%,估出每天喝奶茶的人是10万,每人每天喝一杯。然后估算成都有1000家奶茶店,最终得出每家奶茶店一天卖100杯奶茶。

问题来了,我们刚刚拆解成都奶茶店这个元素,我们估算是1000家,其实这是个特别关键的值。这个值直接影响到了每家奶茶店平均卖多少杯奶茶。但成都有多少家奶茶店这个值其实也是个未知数(并不能通过常识或者数据得知,别跟我说去百度一下)。从一个未知数继续推出一系列未知数,这样

所以拆解后的元素不能还是未知数,如果还是未知数则需要继续拆解,使得拆解后的元素变得可解决。

2)对拆解后的部分赋予数值时,避免改变数值真实范围

不改变数值真实范围指的是在赋予计算公式中各元素以实际意义的时候,不扩大或者缩小范围,按照数据或者经验来赋予较为准确的范围。

前文也谈论到,比如费米在估算芝加哥每个家庭有4个人,换成我们来估算的话,我们不能拍脑袋直接估算芝加哥每个家庭有10个人。我们的估算值应该是有实际数据或者生活经验支撑的。

在面试的时候碰到这类估算问题,千万别直接说可以百度查找等这类回答,或者转牛角尖死磕某一数据的准确性。

面试官通过这类题目考察的其实是面试者的分析方法和逻辑,对于问题拆解的边界考虑,答案可能并不是那么重要,这个思考过程才是面试官想要的。

四、案例分析

1. 估算成都每年奶茶店的规模大小?

4.1.1 明确问题

4.1.2 分析需求端问题还是供给端问题,或者两个角度都不是

这个问题问的是成都每年奶茶店的规模,是一个地域的市场规模,这类问题一般可从需求端(消费者)切入,因为成都常住人口是一个可知的数字。初步判定可从需求端出发。

4.1.3 问题拆解,列公式

成都每年奶茶店的规模大小=成都常住人口*渗透率*50*饮品单价*每人每周续购杯数

从需求端将未知问题拆解成元素后,我们发现:

成都常住人口:成都常住人口数是已知的,这属于常识,目前是1000万左右。

渗透率:渗透率指的是有多少比例的人会选择喝奶茶,这个比例需要我们估算。估算的时候要避免改变数值真实范围,不能估算的太离谱。

这里主要是考察边界问题,我们在回答的时候可以说通过样本估算。比如我随机选择100位朋友,看100位朋友中有多少人是符合条件的,从而估算出渗透率。

这里还有一个关键问题,不同年龄段的人喝奶茶的频率是不一样的。根据生活经验,年轻人喝奶茶次数会比中年人喝老年人高,所以我们可以通过MECE法则将成都常住人口分为小孩、年轻人、中年人和老年人,计算公式依然没有变,最终相加各类型的规模大小即可。

  • 每人每周续购杯数:解决办法同上。
  • 52:指的是一年约有52周,是已知数。
  • 饮品单价:根据我们的生活常识,蜜雪冰城的奶茶均价8元,喜茶的奶茶均价在30元一杯。所以饮品单价我们可取15元一杯。

4.1.4 计算

成都每年奶茶店规模大小=(150*0.1*15*1*52)+(300*0.4*15*1.5*52)+(400*0.1*15*0.5*52)+(150*0.05*15*0.5*52)=170625万

估算出成都每年奶茶店的规模大小约为17亿。

2. 估算成都一家奶茶店一天卖多少杯奶茶

4.2.1 明确问题

4.2.2 分析需求端问题还是供给端问题,或者两个角度都不是

这个问题如果也从需求端出发,会发现很难拆解出有意义的元素,因为店里的顾客人流是不确定。所以一般这种要从供给端出发,看奶茶店能提供多少杯奶茶。因为一般情况下,供给需求是平衡的。

4.2.3 问题拆解,列公式

成都一家奶茶店一天卖出奶茶杯数=工作时长*一窗口每小时卖出多少杯*售卖窗口

从供给端将未知问题拆解成元素后,我们发现:

  • 工作时长:早上9点到晚上9点,一共12小时,已知数。
  • 一窗口每小时卖出多少杯:以天为单位,存在高峰和低峰期。根据生活经验,估算高峰期为12-14点和18-21点,低峰期为9-12点和14-18点。同时根据生活经验,制作一杯奶茶需要3分钟,高峰期一窗口每小时卖出15杯,低峰期一窗口每小时卖出5杯。
  • 售卖窗口:预估一个奶茶店有售卖窗口(制作机器)有3个。

4.2.4 计算

成都一家奶茶店一天卖多少杯奶茶=(5*15*3)+(7*5*3)=330

估算出成都一家奶茶店一天能卖330杯奶茶。

五、总结

面试的时候碰上这类问题,可以从上面总结的四个步骤来分析:

  1. 明确问题
  2. 分析是需求端问题还是供给端问题,或者两个角度都不是
  3. 问题拆解,列公式
  4. 计算

面试官考察点不会是我们最终的答案准不准确,而是看我们对问题进行拆解时合不合理,看我们能不能对我们的估算给出合理的解释。这类题型不必太在意细节和纠结于数字的精准度。

当然啦,如果是面试时第一次碰到这类问题还是很难快速找到思路,所以日常的时候可以刻意分析下这类题型,学会费米估算对我们来说受益匪浅。

费米估算在极其有限的条件下,通过拆解未知并利用身边的信息来求解出结果。

费米估算也给到了我一些启发,即便有些事情看上去无法确定,但可以通过分析拆解,逐步逼近结果。面对不确定性,我们不应停滞不前,而是要懂得抓住身边有价值信息,快速决策。

 

作者:苏Eddie,微信公众号:苏Eddies

028-84360888 13608068886(推销勿扰) 发送短信