費米估算 | 產品面試中的估算問題解法
費米估算可以解決產品面試中的估算問題。本文介紹了費米估算的起源、原理、方法和案例,與大家分享!
前言:前段時間在分析大廠產品面試題,發現估算題目出現的概率蠻大。比如估算北京一年出租出去的房子數量,估算一個城市的加油站等,這類問題(Market Sizing)貌似沒有已知條件。
查找相關資料后,才知道費米給出了一套解決這類問題的方法論。
費米問題的本質在于將未知問題逐步拆解成已知問題,通過建模和生活經驗給出毛估。這篇文章會介紹下費米估算和如何解決這類Market Sizing估算問題。
大綱:
- 費米估算:起源
- 費米估算的原理
- 如何用費米估算Market Sizing問題
- 案例分析
- 總結
一、費米估算:起源
有這樣的一個故事:
在一次芝加哥大學課堂上,費米問學生。芝加哥市有多少調琴師,學生們一臉茫然。費米提示把這個問題“分解成一些便于操作的小問題,然后鼓起勇氣作猜測和假設”。
芝加哥有多少居民?可靠的估算是300萬;平均每個家庭有多少人?4人;多少家庭有鋼琴?大概三分之一,那么全市大約就有25萬架鋼琴;一架鋼琴隔多長時間需要調音?平均5年,那么芝加哥平均每年有5萬架次的鋼琴需要調音;每個調音師每天能為多少架鋼琴調音?4架;假設他一年工作250天,那么他每年約為1000架鋼琴調音。
由此,費米和學生們推測,芝加哥市大概有50位鋼琴調音師。
事后有人用電話號碼簿加以驗證,實際統計的結果與費米的猜測十分接近。
二、費米估算的原理
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 明確問題
Q:問的是杭州每年奶茶店的規模大小,規模大小具體指的是什么?
A:規模大小指的是奶茶店的銷售額大小
Q:奶茶店的銷售額是指僅僅銷售奶茶的收入,還是包括奶茶店里別的飲料和面包等食品?
A:奶茶店的銷售額指的是所有飲品(不統計面包這類食品)
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 明確問題
Q:奶茶指的是店里所有飲品?
A:是的
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杯奶茶。
五、總結
面試的時候碰上這類問題,可以從上面總結的四個步驟來分析:
- 明確問題
- 分析是需求端問題還是供給端問題,或者兩個角度都不是
- 問題拆解,列公式
- 計算
面試官考察點不會是我們最終的答案準不準確,而是看我們對問題進行拆解時合不合理,看我們能不能對我們的估算給出合理的解釋。這類題型不必太在意細節和糾結于數字的精準度。
當然啦,如果是面試時第一次碰到這類問題還是很難快速找到思路,所以日常的時候可以刻意分析下這類題型,學會費米估算對我們來說受益匪淺。
費米估算在極其有限的條件下,通過拆解未知并利用身邊的信息來求解出結果。
費米估算也給到了我一些啟發,即便有些事情看上去無法確定,但可以通過分析拆解,逐步逼近結果。面對不確定性,我們不應停滯不前,而是要懂得抓住身邊有價值信息,快速決策。
作者:蘇Eddie,微信公眾號:蘇Eddies
本文由 @蘇Eddie 原創發布于人人都是產品經理,未經作者許可,禁止轉載。
題圖來自Unsplash,基于CC0協議。
外賣訂單上面不是可以估算么,比如外賣訂單占全部訂單的60%,不就算出來了
杭州常駐人口1000萬,接著估算
每天喝奶茶的人=常住人口*滲透率
假設滲透率是1%,估出每天喝奶茶的人是10萬。。。。。
1000W的百分之一,是10萬吧?
一個奶茶店一天賣多少杯還是應該從需求端入手更合理吧。因為從供給端入手的話,一小時一個窗口賣多少杯不能這么簡單的直接給值吧。
從需求端入手會更難吧,畢竟一點點的人流量和小牌子的人流量差別很大也很難估算
最開始就是從需求段入手,計算到杭州有多少家奶茶店的時候,你會發現估算不下去了
我也覺得從需求端入手比較合適
如果問的是一個細節的問題,比如,現在有一款產品日活20萬,我想設計一個A功能(例如簽到),那么如何估算該功能對日活的促進程度?
即,我上線了簽到之后,日活會漲/降多少?
類似這樣的細節問題,是不是就不適用這個費米估算了呢?
這類問題不存在適不適用的問題,費米問題本質上是考察對于問題的拆解,偏思維方式和方法論層面,如果要考業務理解這種細節問題肯定不會是以這種方式。
咨詢里最常見的case——******ing size,最出名的應用是美國原子彈爆炸的時候,費米用一頁紙撕碎之后,往空中撒,在氣浪的作用下,碎片飛出一定距離,根據這個估算出了原子彈爆炸當量,一個月后科學小組計算了精確值,發現兩者相似
太厲害了