データ分析で失敗したこと ②分析課題設計

「失敗したことシリーズ」の分析課題設計パートです。各工程での失敗談を通して、読者の皆様に「視点」のイメージを持っていただくことを狙いとしています。

よりメタな(抽象的な)説明については、「データ分析における視点」シリーズをご覧ください。
→ データ分析における「視点」 a. 企画編
→ データ分析における「視点」 b. 実行編(準備中)

内容

  • 分析課題設定の概要
  • Case1: 分析できない目的変数を選んでいた
  • Case2: 因果関係を説明できない問題を設計した
  • Case3: コロナ影響をモロに受ける問題を設計した

分析課題設定の概要

このフェーズでは、特定したビジネス課題を解決するために、分析上の課題を設計します。

機械学習の文脈だと、目的変数と説明変数を設計することと同義です。特に目的変数の設計が重要なので、ここでは、目的変数についてみていきます。

例えば、以下のような例があると思います。<ビジネス課題>【分析課題】です。

  • <売却タイミングの課題による売却損失>を解決すために、
    【売却タイミング別の売却価格を予測する】
  • <調達先・調達量決定の課題による調達コスト過多>を解消するために、
    【調達先別・調達量別の値引き率を予測する】
  • <値付けの課題によるレンタル資産の低稼働率>を解消するために、
    【値段別の稼働率を予測する】
  • <新規顧客獲得のチャネル選定の課題による新規獲得数の伸び悩み>を解消するために、
    【チャネル別の顧客流入量を予測する】
  • <顧客活性化施策の対象者選定の課題による施策効果の伸び悩み>を解消するために、
    【対象者別タイミング別の施策効果を予測する】

上記では分かりやすいように、左右の平仄が取れるような書き方をしているのですが、実はここが最もクリエイティビティが発揮される場面だと思っています。

その理由は、失敗事例を辿りながら見てみましょう。

Case1: 分析できない目的変数を選んでいた

ある小売店の案件です。商品の仕入れ量を決めるために、現在からN日後までの商品の需要予測を行う、という分析課題を考えていました。

需要予測をするには、実際に販売できた数量に加えて、失注や品切れなどの機会損失数量の情報も加味することが重要となります。しかし、その店舗では、品切れに関しては記録していないことが発覚したのでした。

なびなびはアホなので、失注情報とか無視して取り敢えず、販売数量=需要として予測すれば良いのでは無いかと考えていました。

ケースバイケースですが、このケースでは、品切れが相当発生していることが分かっており、このようなアプローチは危険だと同僚から指摘されました。

同僚が提案したのは次のようなアプローチでした。

現在からN日後までの間に品切れになるか予測を行う。

確かに、販売数量と在庫を突合すれば、品切れは判別できますので、これなら分析可能です。また、品切れになると分かっていれば、仕入れを増やすというアクションが打てます。どのくらい仕入れるか、という点に関しても、品切れ可能性が一定未満になるようにルールをおけば、この予測モデルを用いて決めることができます。

逆に、仕入過多により廃棄が多数発生していることが課題なのであれば、現在からN日後までに廃棄が発生するかどうかを予測する、というアプローチもあり得ると思います。

ここでの反省は、完璧だけどデータがとりにくい指標(例:需要)ではなく、意思決定に使えそうでデータが取りやすい指標(例:品切れリスク、廃棄発生リスク)を模索し、最低限の効果を立証すべきだったということです。そうすれば、次のフェーズでは、お金をかけても失注情報を取りにいきましょう、と経営や現場を説得しやすくなりますので。

必要な視点

  • 目的変数に工夫の余地がないか?(回帰→分類に変換など)

Case2: 因果関係を説明できない問題を設計した

営業戦略を考える案件の事例です。巷で「リードスコアリング」と呼ばれる分析をやろうとしていた時のことでした。

リードスコアリングとは、営業部門において、有望度が高い顧客をスコアリングすることで営業効率を高める取り組みです。

なびなびが考えたアプローチは次のものでした。

  • 顧客収益を目的変数に、顧客属性やこれまでの注文履歴を説明変数にとり、顧客の有望度を評価する
  • 1人あたりの営業が訪問に行ける回数を仮定し、スコアが高い順に訪問したらどのくらい収益改善が見込めそうか効果をシミュレーションする
  • 効果が見込めそうなら実際に営業部門の協力を得てABテストを行う

何がダメなのでしょうか。

同僚から指摘を受けたのは、以下の2点です。よって訪問による収益効果を正しくシミュレーションすることができない、ということでした。

  • 営業が訪問したのかを見分けるデータが無い
  • 営業が訪問先選定のために使っている情報を考慮できていない可能性がある

どういうことでしょうか。

まずは1点目に関して。
今回の目標は営業訪問有無による収益効果の算出です。収益が立っている顧客は営業が訪問したと判別できるにしても、収益が立っていない先については営業が訪問して失注したのか、それとも訪問せずに失注したのかが分かりません。
よって、営業の訪問による効果を正しく測定できない可能性がある、ということです。

仮に営業の訪問実績が分かったとしたしても2点目の問題があります。
営業が、裏で仕入れた顧客に関するネガティブな情報(例:他社の受注が決まりかけている)をもとに、訪問しない先を決めていたとしましょう。
予測モデルに裏情報を使っていない場合、裏情報に当てはまる企業が有望企業としてリストアップされてしまう可能性があります。
そうなると、予測結果に基づく効果の信頼性は非常に薄いものになってしまいます。

上記で挙げた2点の共通点は、効果(ここでは顧客収益)の原因となる因子であるということです。原因となる因子に関するデータを取得できていない場合、予測モデルから導出される効果の信憑性が低い、というのがここでの学びでした。

先に原因に関する因子を洗い出した上で、必要なデータが無いのであれば、収集する期間を設ける、というのが確実かもしれません。

必要な視点

  • 経済指標に影響を及ぼす因子は明確か?データ取得可能か?

Case3: コロナ影響をモロに受ける問題を設計した

この章の最後にご紹介するのは、個別の分析事例ではなく、現在弊社(おそらく他社も)で問題なっていることです。

コロナ前に作成したモデルが、コロナ後にも使えるのか、という点で、機械学習プロジェクトにメスが入っているのです。

これは今後全ての機械学習プロジェクトにつきまとう課題だと考えています。「コロナ前のデータを使った予測が、コロナ後にも使えそうか」、という点について、事業現場の肌感覚も踏まえながら慎重に判断すべきだと考えています。

必要な視点

  • アフターコロナでも役立つか

最後に

分析課題設計はデータ分析の醍醐味とも言えるフェーズで、データの取得難易度に注意しながら創意工夫することが求められます。個人的には、分析課題設計が自由自在にできるようになれば、堂々とデータサイエンティストと言えるような気がしています。

この記事は私自身のためにまとめているようなものですが、皆さんのお役に立てば嬉しいです。

以上!

コメントを残す