7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

プログラマーこそ、フェルミ推定で論理思考力を鍛えよう!

Last updated at Posted at 2022-07-06

はじめに

下記の点、ご了承ください。

  • 本記事はあくまで、「プログラマーが論理思考力を鍛えるため」にフェルミ推定を用いています。
  • 企画職やコンサルの人が使えるレベルの精度になっていません。
  • 本記事内で用いた統計情報は年度がバラバラです。あくまで例として捉えてください。
  • 実例のロジックはガバガバかもしれませんが、これもあくまで思考の例ということで。

対象者

この記事は下記のような人を対象にしています。

  • 駆け出しエンジニア
  • プログラミング初学者
  • 「フェルミ推定って、企画職とかコンサルの人が使うやつでしょ?」と拒絶しているプログラマー

結論

フェルミ推定はプログラマーが論理思考力を鍛えるのに最適!

フェルミ推定とは

フェルミ推定とは「未知の数値を、分かっている数値をもとに見積もること」
実際に調査するにはコスト・時間がかかりすぎたり、物理的に調査不可能なものを推定する手法です。

企画職やコンサルではよく使われる手法ですが、プログラマーでは敬遠される傾向がある気がします。
しかし、元々製造業の企画職を経験したことがある身としては、フェルミ推定はプログラマーにこそ役立つと考えています。

フェルミ推定はプログラマーの役に立つ?

フェルミ推定は「やってみないと分からないよね」ではなく、「分からないなりに事前に考えて、見積もっておこう」というと時に役に立ちます。

具体的には、下記のような場面で役に立つでしょう。

フェルミ推定が役立つ場面

  • 設計
  • 見積書作成
  • スケジュール管理

正直、実装に関しては「ローカル環境でやってみればいいじゃん」って話なので、推定とか要らない場合が多いです。
しかし、上記のような場面だと、多少は未来予測をして見積もらなきゃいけないですよね。
そんな時にコーディングと一緒で「やらなきゃ分からないでしょー」というわけにはいかないので、フェルミ推定をうまく使いましょう!

フェルミ推定の手順

STEP1:課題を把握する

まずは何を算出しなければいけないのかを明確にします。
ぼんやりしている場合は具体的なイメージが掴める状態まで、細分化しましょう。

STEP2:ロジックを組み立てる

まずは目的の数字をロジックツリーを用いて細分化していきましょう。
ロジックツリーについてはこちらをご参照ください。

ロジックツリーを書く際にMECE(ダブりなく、抜け漏れなく)を意識しましょう。
全ての要素が統計で調べられそうなレベルになれば、この作業は終わりです。

STEP3:必要な情報を集める

あとは統計情報を集めるだけ。
人数、比率、台数、などなど...とにかく集めましょう。

STEP4:計算してみる

あとは計算式に代入するだけ!

STEP5:常識的な範囲か、確認する

もちろん、答えのない問いに答えるのがフェルミ推定ですが、あまりにも的外れではないか、は確認した方が良いです。
別の統計情報と比較して、遜色なければ問題ないですが、あまりにも桁が違いすぎる場合はロジックに破綻がないか、確認しましょう。

フェルミ推定を実際に使ってみる

「東京で使用されているMacの台数は?」というお題でフェルミ推定してみましょう。

まずは、ロジックツリーを用いて、MECEなロジックを組み立てましょう。

フェルミ推定.png
こんな感じ。
それぞれのロジックを見てみましょう。

東京で使用されるMacの数=(プライベート使用台数)+(仕事利用台数)

プライベートor業務使用でMECEになっています。
プライベートと仕事で別々に使用していてもOKですね。

プライベート使用=(世帯数)×(世帯あたりのPC台数)×(Macのシェア)
つまり
700万世帯×1.3台/世帯×8% = 72.8万台

PCを個人で持てる年齢を15才以上と仮定し、統計情報から人口を調べました。
また、PCの普及率を掛ければ、使用PC数がわかります。
使用PC数にMacのシェアをかければ、Macの使用数が算出できます。

仕事利用=(労働者人口)×(ホワイトカラー比率)×(Macシェア)
つまり
800万人×55%×8% = 35.2万台

労働者数を統計情報から人口を調べました。
また、ホワイトカラー(PC使う)とブルーカラー(PC使わない)と仮定しました。(異論はあるでしょうが、あくまで思考の例です)
労働人口にホワイトカラー比率を掛ければ、使用PC数がわかります。
使用PC数にMacのシェアをかければ、Macの使用数が算出できます。

つまり、東京で使用されるMacの数は
72.8万台 + 35.2万台 = 108万台

ちなみに、2020年のMacの出荷台数が93万台なので、なんかそれっぽい数字にはなってる気がしますね。
ただし、ここで大事ないのは「それっぽい数字になったか」よりも「ロジックツリーがMECEに書けたか」と「使用する項目と掛け算のロジックに破綻がないか」ですね。

おわりに

フェルミ推定についてまとめました。
企画職やコンサルのためのフレームワークと思われがちですが、論理的思考力が必要なプログラマーにこそ、必要なものだと思いますので、是非マスターしてみてはいかがでしょうか?

参考記事

【フェルミ推定】4ステップの基本解法はこれでマスターしよう!

7
7
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?