費米問題案例分享

Hi! 久不見了,今天來分享之前在面試中遇到費米問題的解題思路,對於這類題型我並不十分專精,稍有了解跟略略練習過而已,剛好在某次面試中碰到了,收穫不錯的反饋,最後也有幸拿到 offer,所以在這分享給大家,比較適合新手入門觀看,作為一個拋磚引玉的思考起點。
首先介紹一下什麼是費米問題,根據維基百科,費米問題是一種「透過估算的方法,去簡單地驗證一個估算的問題」,白話來說,指的是「只使用有限的已知信息,去計算那些似乎是算不出來的量,並做出合理的猜測。」這類的問題在管理顧問業中被大量使用,在 MA(儲備幹部)或一些對邏輯能力要求較高的職務面試中,也十分常見。
我認為解這類題目主要仰賴幾種能力:
- 足夠豐富的常識
- 切入問題的角度(框架、套路)
- 拆解問題的能力
- 合理假設的能力
以下我就用在面試中被問到的題目「新北市有幾間理髮廳?」來作為例子。透過先重現我的思路,然後說明思路背後的意涵,作為本次分享的形式。
我的第一個想法:「有幾間理髮廳太難估算了,沒什麼概念,我先估算有幾個理髮師好了。」
第一步,我將題目先換成自己比較有概念、相對比較好估算的樣子,同時置換的題目跟原題高度相關。
我的第二個想法:「我該用什麼樣的框架去估算理髮師的數量?理髮行業是一個市場,市場是供需關係,所以我可以從供給面或需求面出發去算。供給面不好處理,我從需求面出發,去估算在均衡狀態下,新北市民的剪髮需求可以養活多少理髮師。」
第二步,我在選擇要用什麼框架去分析這個問題,既然理髮是個供需市場、從需求面出發又比較好分析,我當然就選用這個框架,去往下做合理的估算。這一步就很考驗你腦中的框架儲備了,如果題目是「新北市所有麥當勞的年營收為多少?」,供需框架就不太適用,此時適合先將年營收的組成拆解、假設麥當勞門市數......總之是另外一種解題框架。具備愈豐富的框架儲備,就能愈快找到解題的雛形,開始往下做更進一步的分析。
我的第三個想法:「來列在均衡狀態下,市場需要的理髮師數量公式吧!」
理髮師數 = 需求端年總理髮時數 / 每個理髮師年工作時數
(意即需要多少個理髮師來消化掉這些市場需求)
第三步,我根據選定的分析方向,列公式。列公式是非常重要的,不僅可以得到待解題目的全貌,還可以清楚答案的組成(也就是拆解),讓自己更知道往下要分析哪些元素。當公式列出來,戰略面已經成功了(心也放下一半),剩下就是處理那些組成元素,只是戰術面的問題。
我的第四個想法:「接下來進行需求端總理髮時數(分子)的估算,但直接進行估算似乎有不小的困難,究其原因,我注意到有一個非常大的市場區隔:性別。男性與女性無論在剪髮頻次上、還是單次剪髮時間上都有巨大的差異,於是我要將他們拆開來算。」
帶著新北市人口約有350萬人的常識(後來上網查發現有400萬人),以下我開始進行假設:
假設1:男女比為1:1(各175萬人)
假設2:男生平均每3個月剪一次頭髮,一年剪4次,每次平均花0.5小時
假設3:女生平均每年剪一次頭髮,每次平均花1小時
可得
男生每年理髮時數 = 175萬人*4次*0.5小時 = 350萬小時
女生每年理髮時數 = 175萬人*1次*1小時 = 175萬小時
總理髮時數 = 男生時數+女生時數 = 525萬小時 --- 分子計算完畢#。
接下來進行每個理髮師年工作時數(分母)的估算:
假設1:一個理髮師一天工作8小時
假設2:一個理髮師一周工作5天
假設3:一個理髮師每個月工作4周
假設4:一個理髮師每年工作12個月
可得
每個理髮師年工作時數 = 8小時*5天*4周*12個月 = 1920小時 --- 分母計算完畢。#
將數字帶回公式:
理髮師數 = 需求端年總理髮時數 /每個理髮師年工作時數
理髮師數 = 525萬/1920 ≒ 2734個人#
此時回到最初的題目,我需要估算的是「新北市有幾間理髮廳?」
我提出最後一個假設、並計算:
假設:一間理髮廳大約可以容納(養活)10個理髮師。
新北市理髮廳數 = 理髮師數/每間理髮聽可容納理髮師數
新北市理髮廳數 = 2734/10 ≒ 274間理髮廳# --- 最終解計算完畢。
第四步,我開始求解列出的公式。遇到不夠簡單(基本)、或顆粒太粗的元素,就再往下進行拆解,然後做出合理的假設,去估算每一個元素,最後帶回最初的公式內。當然,大部分時候都需要有足夠的常識,去得到最一開始的那個數字(以本案例,就是新北市人口數)。

拆解問題的思維導圖
以上就是我解這題「新北市有幾間理髮廳?」的思路及過程,以下做個統整:
- 先將問題換成比較容易解的樣子:這個不一定每題都是適用,或者說如果一開始就可以列出像上面那樣的拆解圖,這步驟其實就是從上面那條路開始算而已。
- 選擇解題框架:意識到理髮是一個供需市場,所以用供需的角度來估算很適合。根據這個框架,可以很快選定方向往下推導。
- 列公式:根據選擇的解題框架,列出要求解的公式。
- 拆解組成元素:將算式中的每個部分,依據其組成、或難以直接估算、性質差異很大的元素拆分開來,分別估算。在這邊,拆得愈多,答案可能愈逼近真實,有更嚴密的邏輯結構,但會花費很多時間;拆得愈少,答案可能跟真實落差愈大,邏輯結構稍微比較簡略,但比較省時,這需要取捨,差異太小的拆分就不必要了。
- 根據常識、合理假設帶入數字計算:將組成元素拆解完畢後(得到上方思維導圖最右邊那些要估算的基本元素),或根據常識,或根據合理的假設(合不合理很見仁見智,但一定要想清楚自己為何如此假設的論據)去一一破解,最後將數字帶入最初的公式,得到解答。
費米問題的求解,其目的不在於算出來的答案有多準確,而是透過估算答案的過程中,表現出的解構問題的邏輯,所以讓每個問題的拆分、做出的假設背後都自己一套堅實的邏輯做支撐,才是費米問題最重要也最好玩的地方!
後記:我後續上網查了一下新北市理髮廳的真實數量,官方資料只有查到2010年的,2010年新北市人口為近390萬人(我上面用350萬人),理髮業店家共615間(我上面估出來274間)。
2023/8/4,新北林口,鯛魚