問題解決のための仮説思考

カバー

はじめに

今回は、ビジネスや開発における問題に直面した際に、問題解決に活かすための手法として「仮説思考」を紹介します。「仮説思考」は普遍的なもので、仕事や日常におけるさまざまな局面に役立つため、このフレームワークを身につけておくことで大きなアドバンテージを得ることができます。

仮説思考とは何か

仮説とは、「仮」に立てる「説」のことであり、きちんとした「説」として確立される前の考えです。より正確にいうと、真偽はともかくとして、何らかの現象についての説明になっている考えのことを指します。
例えば、ビジネスにおける仮説としては「商品売上が上がらないのは需要が下がっているからではないか」「競合他社が伸びているからではないか」などがあります。そこまで大きなスケールではなくても、日常生活において「今日の道路が渋滞しているのは近辺で大きなイベントがあるからではないか」という推測を立てたなら、それも仮説と言えます。
仮説は、情報収集の途中や情報の分析が済んでいない段階で持つことができます。そして仮説思考とは、何らかの問題解決を考えるときに、このような仮説から出発して考える思考スタイルのことを指します。
仮説は、あくまでも「確からしい答え」であるため検証が必要なのですが、早い段階から行動に入り、仮説→実験→検証を繰り返すことで、すばやい問題解決に繋げることができます。

そうはいっても、「問題解決のためには十分に情報をそろえなければ……」と考えてしまうかもしれません。もちろんある程度は情報収集も必要ですが、そもそも仮説がなければ「どのような情報を集めるのがいいのか」もはっきりしないため、際限なく時間と手間がかかってしまいがちです。情報収集に時間を使いすぎた結果、スケジュールどおり目標を達成できなければ本末転倒です。
ビジネスの世界においてはかけられる時間も手間も限りがあるため、問題解決に繋がる何らかの仮説を立てたのち、その仮説に沿って情報収集をするというスタイルの方が効率がいいのです。
また、情報があればあるほど正しい意思決定ができるとも限りません。むしろ情報の多さが邪魔をして解決策の立案までに長い時間を要することも考えられます。情報が多岐にわたるほど、判断に不要なノイズとなる情報も増えるからです。

仮説思考とは逆に、「情報があればあるほど正しい」という考えのもと、あらゆる要因を考慮してあらゆるパターンを想定して試さなければいけないという考えは「網羅思考」と呼ばれます。両者を比較すると以下のようになっています。

表1 網羅思考と仮説思考

網羅思考の特徴は情報量が多い・時間がかかることで、仮説思考の特徴は情報量が少ない・スピードが速いことにあります。
コストパフォーマンスを考えれば、使うかどうか分からない情報収集に必要以上に時間をかけるよりは、まずは手持ちの知識や経験に基づいた推測から始めてみる方が早く解決策にたどり着けます。
間違ってもいいから仮説を立てて、それを検証し、間違っていたら別の仮説を立てて、合っていれば次に進む、という形で解決策を探っていくのが仮説思考です。馴染みのあるビジネス用語でいえば「PDCAサイクルをスピーディーに回す」というイメージです。

仮説思考のメリットとデメリット

仮説思考はさまざまな局面で効果を発揮しますが決して万能ではなく、メリットとデメリットがあるためそれについても把握しておきましょう。

メリット

  • 迅速に意思決定が行える

仮説思考では、あらかじめ仮説を立てることで集めるべきデータや項目を絞って調査するため、問題に対して効率的にアプローチでき、迅速に意思決定が行えます。 もし立てた仮説によって導出した解決策で解決に至らなかったとしても、その解決策が正しくなかったと判断できるため次の解決策を試すことができます。これによって手早く答えに到達しやすいのです。

  • ロジック化されるため経験として蓄積されやすい

仮説思考により問題解決を行うと、それがロジック化された形で残るため、経験として蓄積されやすいです。
網羅思考のような、様々なデータを集めて色々な解決策を試すやり方では、仮にそれで成功に繋がったとしてもどのように解決できたかがロジック化されないため、経験として蓄積されないことが多いです。
例えば、ある企業が業績不振を立て直すための事業戦略を考えるとします。ここで網羅思考に頼ると、すべての課題をリストアップして各課題に対する解決策を考案しようとする結果、「10の課題が上がり、30の解決策が実施される」といったことが起こり得ます。すると、もし改善がみられてもその因果関係は分かりにくくなります。
仮説を立ててそれを検証し、そこから問題解決に繋げるという方法を取った場合、そこにいたるまでに立てた仮説が自身の経験として蓄積されます。これによって、次回に同様の事例に遭遇した場合も、同じロジックやパターンを活用して解決を図ることが考えられます(もちろん、新しい事例において、前例において築いた一般則が通用しないこともあり、その場合はその一般則を棄却し、再度新しい仮説を立てて考えることになります)。網羅思考を取っていたのでは身につきにくい知見を、仮説思考においては身につけることができます。

デメリット

  • 仮説によるバイアスがかかる可能性がある

最初に仮説を立てて、そこから情報収集を行う場合、仮説を支持する情報ばかり集めて、そうでない情報は見過ごすという可能性があります。本来であれば仮説が正しいかどうかを情報を見て検証しなければならないのですが、仮説ありきで調査を行うために、都合の悪い情報を無視してしまう可能性があります。
もともと人間には確証バイアスがあります。確証バイアスというのは、自分の思い込みや願望を肯定してくれる情報ばかりに目が行ってしまうという性質のことです。このデメリットを補い、バイアスを減らすためには、仮説を検証するときには仮説に沿わないデータが出てきても軽視しないように心がけることが重要です。

  • 見落とすポイントが増える

仮説思考においては、最初に網羅的に情報収集するということをしません。また、仮説を立てると、いったんほかの可能性は捨ててそれに向かって進んでいくため、仮説以外の可能性を捨ててしまうことになります。
これによって、自分の知識や経験の中で思いつく範囲にない、想定外のパターンを見落としてしまい、そこに正解があっても気付かないということがあり得ます。
この弱点を克服するためには、仮説を立てるにあたってその分野に詳しい人にヒアリングしたり、協力してもらうといったことが役に立ちます。

仮説思考による問題解決

ここでは仮説思考を使った問題解決の具体的なプロセスについて説明します。
下図のような流れで仮説形成と検証を繰り返しながら問題解決に取り組みます。

図1 仮説検証のプロセス

仮説思考による問題解決の核になるのは、「①状況分析」と「②仮説形成」です。そしてそれをもとに「③仮説を元にした予測」「④調査 or 実験」「⑤仮説の検証」「⑥仮説を形成し直す(仮説が反証された場合)」のサイクルを回すことで仮説を検証していきます。
③の「仮説を元にした予測」について補足すると、この工程では④の前準備として、これから行う調査や実験の結果についてあらかじめ具体的な予測を立てます。これを行うことで初めて、④と⑤で検証ができるようになります。

ここでは上記のモデルの使用例として、「投稿している動画の再生数が下がっている」という問題の解決を考えてみます。そしてそのプロセスを「原因特定:動画の再生数低下の原因を特定する」「問題解決:投稿している動画の再生数を回復させる 」という2つのサイクルに切り分けて、それぞれにおいて仮説思考を行います。

最初に、問題の原因を特定するためのサイクルは以下のようになっています。

【動画の再生数低下の原因を特定する】

  • ①状況分析:毎週投稿している動画の再生数が前月より下がっている。前月からの変化としては、自分の勤務形態が変わって帰宅が遅くなったことが挙げられる
  • ②仮説形成:再生数が下がった原因は、投稿する時間帯が遅くなったからではないか
  • ③仮説を元にした予測
    • ②の仮説が正しければ、実際に調査したら以下のようになっているのではないか
      • a. 前月より当月の方が投稿時間帯が遅かった
      • b. 夜よりも夕方に投稿した動画の方が初動数時間の再生数が多かった
  • ④調査:過去の動画の投稿時間帯と、初動数時間の再生数のデータを調べる
  • ⑤検証
    • 過去のデータを調査したところ、abともに実際に起こっていた
      予測と結果が一致したため、仮説は立証された
  • ⑥仮説を形成し直す:もし⑤で予測が違っていた場合、ほかの可能性の高い仮説を考える

⑤で仮説が立証された場合はそこでサイクルが終了するので、⑥は不要です。
なお、aもしくはbが実際に起こっていない場合は、②の仮説形成に戻って再スタートします。

上記のサイクルで「原因の特定」ができました。この場合の原因は、②で形成した仮説「再生数が下がった原因は、投稿する時間帯が遅くなったからではないか」がそれにあたります。
この立証された仮説を元にしてもう一度仮説検証のサイクルを回し、問題の解決を図ります。
そして、「問題の解決」を行う以下のサイクルにおいては仮説はすでに形成されているため、③のステップからスタートします。

【投稿している動画の再生数を回復させる】

  • ③仮説を元にした予測:投稿する時間帯を夕方に変更すると再生数が改善するのではないか
  • ④実験:翌月は投稿する時間帯を夕方に変更してみる
  • ⑤検証
    • 投稿する時間帯を夕方に変更したところ、再生数が改善した
      予測と結果が一致したため仮説は立証され、問題も解決した
  • ⑥仮説を形成し直す:もし⑤で予測が違って改善が見られなかった場合、ほかの可能性の高い仮説を考える

このサイクルにおいては、仮説検証を行うと同時に問題の解決を行っています。③で仮説を元に予測を立てる際に、問題への解決策を立てており、これを実際に実行して検証することで、仮説を立証すると同時に問題を解決させることができます。
以上のような流れによって、仮説思考による原因の特定、問題の解決を行うことができます。

仮説の立て方について

仮説思考においては最初に仮説を立てることが何よりも重要です。では、どのように仮説を立てればいいでしょうか。
その方法のひとつとして「仮説の候補を洗い出す」方法を紹介します。また、「良い仮説の条件」についても説明します。

仮説の候補を洗い出す

仮説検証においては、立てた仮説が間違っていた場合は仮説を形成し直すというサイクルを回すため、いくつかの候補を挙げておくことでそれをスムーズに行うことができます。
仮説の候補を挙げるにあたっては、問題を分析して切り分けることで、影響を与えている要因を抽出していくというやり方が役に立ちます。この段階では網羅思考のように詳しい調査は行わず、あくまで問題から論理的に導き出される要素を挙げていきます。
ここでは「動画の再生数低下の原因を特定する」という問題に対して、「動画の再生数」に影響を与える要因をリストアップするために内的要因外的要因に分けて考えています。
内的要因は「自身の行動による要因」を指し、外的要因は「自身の行動によらない、周囲の状況による要因」を指します。

図2 仮説候補の洗い出し

こうして抽出したいくつかの要因に対して、今回は影響を与えていそうなものとして「時間帯」を考えて仮説を形成しました。これは直近に起こった変化として思い当たるものがそれであったことによっています。この要因を元に形成した仮説が立証されなかった場合、例えば「内容」や「再生時間」といったほかの要因を考えて仮説を立て直すことができます。

良い仮説の条件

仮説思考を問題解決で使用する上では、立てる仮説は何でもいいというわけではなく、良い仮説と悪い仮説があります。ここでは、仮説思考において役に立つ、良い仮説の条件について説明します。

  • 論理的である

仮説は論理的に構築されている必要があります。論理的でない仮説はそもそも検証に使えず、問題解決の役に立たないためです。
例えば「再生数が下がったのは、動画を投稿する時間帯が遅くなり、投稿後数時間以内に見るユーザーが減ったから」という仮説は、「時間帯が遅くなった」→「投稿後数時間以内に見るユーザーが減った」→「再生数が下がった」という論理の繋がりで成り立っています。

  • 用語や定義が正確

仮説は検証可能である必要があるため、仮説に用いる用語や定義は正確であることが望ましいです。
用語や定義が正確でない仮説の場合、調査や実験の結果が予測と違うかどうかの判定を正確にできなくなってしまいます。

  • アクションに繋がる

仮説は次のアクションに繋がるようなものである必要があります。
上記の例だと、仮説から「投稿する時間帯を夕方に変更してみる」といったアクションを引き出すことができています。仮説思考を問題解決に使う場合、このようなアクションを導けないものは、正しい仮説であっても意味がありません。

仮説思考の具体的なエピソード

これまで仮説思考の概要について説明してきましたが、仮説思考が実際に問題解決に繋がった具体的なエピソードを紹介します。
Webサイトの開発において、ブラウザに表示されてしまう余分なスクロールバーの消去を、闇雲なやり方で解決しようとした結果、つまづいてしまったことがありました。 しかし、仮説思考を使うようにアドバイスを受けたことで、「原因の特定」および「問題解決」を行うことができました。
アドバイスを受ける以前の状態とその問題点、そしてアドバイスを受けて以後の状態について以下に記します。

アドバイス以前の状態

当初の私は、思いつきで色々な解決策を試しつつも問題解決できず、時間をかけているのに次のステップに進めていない状態にありました。

手順としては、表示されてしまうことの「原因の特定」をまずしてから、それをもとに解決策を導き出し「問題の解決」をしないといけなかったのですが、「原因の特定」と「問題解決」のプロセスが混ざってしまっていました。
具体的には、開発者ツールで解析して、どの部分を変えたら解消されるかを試行していました。これはロジックを積み上げずに、目に見える範囲で表面的な解決策を試していたということです。色々と試してみて、「こうすれば直る」という結果を見つけて、そこから逆算して原因を特定しようとしていました。その過程では、関係しそうなコードをWebで検索し、それをそのまま使ってみるといったことをしていました。例えばCSSでスタイルを編集すると暫定的には解消することができますが、根本的な解決にはなりません。

アドバイス以前の状態の問題点

ここでの問題点は、あくまで対症療法的な解決策を模索してしまっており、原因の特定がそもそもできない段階で解決しようとしてしまっていることにありました。これだと仮に解決しても偶然でしかなく、学びや経験値としてあまり蓄積されません。

アドバイス以後の状態

しかし、そこで仮説思考を用いた解決方法についてアドバイスを受け、それを試してみることになりました。
それまでと違って、最初に「原因の特定」を行い、それをもとに「問題解決」を行う、という順番で考えました。

今回の解決方法の概要としては以下のようになっています。

【原因の特定】

  1. 状況把握
  2. 仮説の形成⇒検証(必要があればこれを繰り返す)
    ⇒これによって仮説を掘り下げる

【問題解決】

  1. 明確になった仮説にもとづき、予測を立てる
  2. 予測を検証するために実験⇒検証
  3. 仮説は立証され、問題も解決した

原因の特定

まず、「余分なスクロールバーが表示されてしまっている」原因を特定するための状況把握を行います。 状況把握をすることで初期仮説を形成し、それを検証することで、より掘り下げた仮説にしていきます。
前提として、「スクロールバーが表示される」のは「内側の要素が外側の要素より長くなってはみ出している」ことによると考えられます。

この場合は正常に表示されている部分があったので、「異常が出ている部分と正常に表示されている部分には違いがあって、それが表示に影響しているのではないか」と最初に考えます。これを仮説①とします。

そこで、仮説①を検証するための調査を行います。異常部分と正常部分のコードを比較したところ、両者にはiframeタグとdivタグという違いがあり、iframeタグの方に異常が出ていました。そこで、「iframeタグとdivタグの違いが表示に影響を与えているのではないか」という仮説をあらたに立てました。これは仮説①の掘り下げにあたり、これは仮説②とします。

次に、立てた仮説②を検証するための調査を行います。iframeに意図的に設定しているオプションや属性はなかったため、iframeタグにデフォルトで影響を与えている条件が何かあるかということについて調べました。すると、iframeのスタイルとしてvertical-align: baseline1が初期値に設定されていることが分かりました。

そしてvertical-align: baselineの仕様について調べると、ベースラインから下部の長さの分だけ余白が生じる性質があると分かりました。ここから、「この余白によって内側の要素が外側にはみ出すことでスクロールバーが表示されているのではないか」と考えられます。つまり、「vertical-align: baselineが初期値に設定されていることが原因」という具体的な仮説を形成できます。これを仮説③とします。vertical-align: baselineはコードにおいて明示的に書かれていないのですが、初期値に設定されていることから表示に影響を与えています。 ここで行っているのは、仮説形成⇒検証を繰り返すことで、仮説を修正し、深掘りしていく作業です。サイクルを回すことで、①⇒②⇒③と、より掘り下げた仮説にしていきます。

問題解決

vertical-align: baselineが初期値に設定されていることが原因」という仮説③を立てたので、その仮説③を検証するための実験方法を定めます。
仮説③をもとに考えると、「vertical-align: baseline」によって余白が生じているので、「この部分にvertical-align: bottomのような違う設定を上書きすると、解決するのではないか」という予測が立てられます。この予測は実験によって検証が可能であるため、実験を行ってみます。すると、予測と一致する結果が得られた(余白がなくなり、スクロールバーが出なくなった)ので、この仮説③が立証され、問題も解決されたと見なせます。

これをフローにして書き出すと以下のようになっています。このように、問題を解決に至るまでの流れをロジック化することができ、経験値として蓄積されました。

図3 実際に用いた仮説思考のフロー

以上が、仮説思考をベースにした問題解決の実例です。この方法によって、「原因の特定」ができ、それをもとに解決策を出して「問題解決」を行うこともできました。

上述の、アドバイス以前と以後の状態を比較すると、仮説思考を用いるメリットを見出すことができます。
今回の場合、「仮説思考によって検証を積み上げていかないとそもそも問題は解決できなかった」と感じました。
当初のやり方だと、目に見える範囲で闇雲に変更を加えていたのですが、深層にあるメカニズムについて考えられていなかったので、時間がかかるだけでなく、そもそも正解にたどり着くことは難しかったと思います。仮説思考によることで、少ない手数で正解にたどり着くことができ、仕組みについての理解も深められました。

おわりに

問題解決のための仮説思考の効用について、主にビジネスにおける例を用いて説明しました。仮説思考は日常生活の身近なところから実践でき、業務上の問題解決から、会社や部署全体に関わる意思決定にまで使うことができる手法です。この記事を読まれている方も仮説思考を身につけてみてはいかがでしょうか。

Footnotes

  1. vertical-align - CSS: カスケーディングスタイルシート


TOP
アルファロゴ 株式会社アルファシステムズは、ITサービス事業を展開しています。このブログでは、技術的な取り組みを紹介しています。X(旧Twitter)で更新通知をしています。