第9回 解析単位を決めるための4つのルール
シティズンデータサイエンスラボは「データサイエンスを全ての人に」を掲げる株式会社データビークル(https://www.dtvcl.com/)が運営する公式noteです。
解析単位を選ぶコツ
前節ではアウトカムを定義するためのコツを説明しましたが、ここでは解析単位について考えます。第1章のデータ整備のところで「活用のためのデータを何に対して1行ずつにするか」を述べましたが、これが「解析単位は何にするか」と考えることと同じことです。
データ整備の説明の時にはどのような切り口にしたいか考えましょう、と書きましたが、実はこれにも明確なルールが存在しています。第1章で述べた特徴と重複もありますが、「解析単位」を決める時には次の4つに気をつけましょう。
① 最終的に最低でも数十行以上になるものであること
② 数十行ごとの違いは「自明」ではないこと
③ 今あるデータから可能な限りたくさんの特徴が考えられること
④ 最終的に何かを「変える」ことができること
ではそれぞれについて確認していきましょう
なぜ数十以上の解析単位が必要か
1つめについては、すでに述べた、活用のためのデータの特徴というところに由来しています。データ分析にせよ、AIに利用するにせよ、最低限数十行はなければ役に立たない、という話です。たとえば東京と大阪の2カ所にしか営業所が存在していない企業において、「業績がよい営業所とよくない営業所の違いはどこにあるか」と考えることはできません。もちろん東京の方がよいとか、大阪の方がよいことはわかりますが、両者の間に存在するさまざまな違いのうち、「何がそこに関係しているか」「何のデータから判断できるか」をデータから判断することはできないからです。これが、数十の事業所があれば「高業績の事業所ばかりに共通した条件がある」とか「ある値が高ければ高いほど業績は高い傾向にある」という特徴をデータの中から見つけることができます。それは「たまたま共通しているだけ」という話なのか、「たまたまだけではこんな共通点は存在しない」という話なのか、データに基づいて判断できる、というのが現代的な統計学によるデータ分析や、統計的機械学習と呼ばれるものの考え方です。
この考え方がわかっていれば、「性別」という解析単位があり得ないことも判断できるでしょう。この場合も、2つしか事業所がない場合と同様に、男性と女性のどちらが優良顧客そうか、ということはわかっても、データから、「その間のどのような違いによってこの差が生まれているのか」ということを判断できないからです。
解析単位の自明な違いとは
年齢、という解析単位はどうでしょうか?年齢なら10代の若者から70代以上の高齢者まで、1歳刻みに集計していくと、数十行以上のデータは得られます。このようなデータにおいても 「18歳の顧客よりも65歳の顧客の方がたくさん購買してくれる」といった集計は行えますが、これは意味を持つでしょうか?
それは、ここまでの説明で述べたように「たくさん購買してくれる顧客の年齢と、そうでない顧客の年齢の間にどのような違いがあるか?」というような分析に意味があるか、という話ですが、その答えはNoでしょう。購買する日時や商品の傾向という、それ以外のデータで 「年齢の間の違い」を表現するまでもなく、18歳と 65歳の間には明らかな違いが存在しています。データの中にはそんな項目は含まれていませんが、たとえば18歳の方が平均的には独身率が高く、学生の割合が大きく、体力や食欲があることでしょう。逆に65歳の方は金融資産をたくさん持っている、ということがいえるかもしれません。
このような状況で、他のデータからさまざまな説明変数や特徴量を考えて「年齢ごとに異なる購買金額の違いを説明したり、予測したりするものを探す」というのはナンセンスです。65歳の顧客は18歳の若者よりもよくお酒を買っているかもしれません。しかし、「お酒を買う頻度の多さ」という違い以前の問題として、18歳と65歳は「自明な違い」を持っています。果たして「お酒を買う頻度の多さ」が優良顧客度合いに関係しているのか、そもそもの「年齢が高いかどうか」という違いが関係しているのか、データからではどうやっても判断できません。
これは顧客の属性についてだけではなく、たとえば「商品ジャンル」といったものについても同様のことがいえます。少し大規模な小売店になると、扱っている商品ジャンルも野菜や精肉、加工食品、洗剤、下着、食器など、数十以上にわたるでしょう。しかし「よく売れる商品ジャンルとそうでない商品ジャンルの違いは何か?」と考えることもやはり意味はありません。お総菜の販売金額は多いが、文房具の販売金額は少ないという状況で、前者が「購買者の平均年齢が高い」とわかったとしても、これが販売金額の差と関係しているのか、そもそものお総菜と文房具の間の「自明な違い」が関係しているのか、これもやはり判断がつかないからです。
年齢は「顧客の一つの属性」であり、商品ジャンルは「商品の一つの属性」であると考えることもできます。このような属性の一つを解析単位にするのではなく、あくまで「顧客」あるいは「商品」を解析単位として選ぶのがよいでしょう。「この顧客とあの顧客の間にどのような違いがあるか」「この商品とその商品の間にどのような違いがあるか」というのはいくらでも、 自明でない違いが考えられることができます。
今あるデータから考えられる特徴の種類
データ上で「自明ではない違いがある」ということは「理論上考えられる」というだけでは不十分です。顧客なら顧客、商品なら商品で、理論上さまざまな違いが考えられるでしょうが、 そうした違いを表現するようなデータは入手可能でしょうか?
たとえば顧客については単純なID POSのデータでも、登録された属性や、過去のよく買い物に来る時間帯や曜日、といった情報を「顧客の特徴」として考えることができますが、 もし商品を解析単位にしようとすれば、その商品が「何のジャンルの商品か」とかいう特徴がわかっていなければ、分析結果や予測精度は不十分なものになってしまうでしょう。「ジャンルかはわからないけど、深夜に売れがちなものがよく売れている」とか「ジャンルかはわからないけど、女性に支持されている商品がよく売れている」というのは、なんとも気持ち悪い分析結果ですし、それがお酒なのか、お菓子なのかといった商品ジャンルの情報をつけた方が予測精度も高くなるはずです。
またサービス業において、顧客の購買履歴の中に「接客した従業員のID」データが含まれることがしばしばあります。レジを打つ際に、胸につけたIDカードのバーコードを読み取るシーンを目にした方もいるでしょう。販売スタッフが数十人以上いる会社であれば、このIDのデータを使って「たくさん販売している従業員とそうでない従業員の違いはどこにある か?」というアウトカムと解析単位を定めて、従業員1人1行ずつの「活用のためのデータ」へ加工することも可能でしょう。従業員についても、性別や年齢、勤続年数、持っている資格や過去に受けた教育、心理的な特性など、さまざまな違いが考えられるはずです。
しかし、こうしたデータが入手できないのであれば、この考え方は絵に描いた餅です。理論上そうであったとしても、紙の履歴書がオフィスのどこかに保存されているだけ、という状況であれば、データを入力して、レジのバーコードと同じIDを入力して、といった手間をかける必要があります。
それだけの価値があるのなら行なうべきですが、それほど明確な意義があるわけでもない、というのであれば、「現時点のデータにおいて特徴を表現できる項目がよくそろっている」という解析単位から着手してみるとよいでしょう。データ整備のところでも述べたように、「できそうなところからやってみる」というのが基本です。
解析単位に対して「変える」アクションとは
解析単位を決めるために注意する最後の項目は、最終的に出てきた分析結果に基づいて、アクションを取れるのかどうか、「変えられるか」ということです。分析結果が出た後で、基本的には何かを「変える」アクションをしなければデータ分析の結果は活かせません。変えるものとは「解析単位の状態」や「リソースの配分の仕方」です。たとえば顧客を解析単位とした分析から、「精肉を買っている人が優良顧客である可能性が高い」とか、「土曜日の午前中に来店している人が優良顧客である可能性が高い」といった結果が得られたとしましょう。
この場合、「解析単位の状態を変えるアクション」とは、今いる顧客に対して「精肉を試しに買わせてみる」とか、「試しに土日の午前中に来店させてみる」ということに該当します。具体的には、精肉の値引きを行なったり、魅力的な商品を充実させたり、一部の顧客に優待クーポンを発行したり、あるいは土日の午前中にタイムセールを行なうことなどです。こうした誘導を行なうことで、これまでその商品を、あるいはその時間帯に買ったことのない人を「買ったことのある人」に変えることができるかもしれません。その結果、その人の購買パターンが変化し、優良顧客になるのではないか、というアクションが考えられます。
あるいは、同じ分析結果に対して「リソースの配分を変えるアクション」も考えられます。「精肉を買うかどうか」で優良顧客の度合いが変わるというより「精肉を買う家庭かどうか」で優良顧客かどうかが異なる可能性も考えられるかもしれません。このことは食べ盛りの男の子がいる家庭が自社にとっての優良顧客であるという状況を示しており、ほとんど精肉を買わないような家庭に「肉を買わせる」という変化をもたらしても優良顧客度合いに変化はない、と考えることもできます。このような場合、「食べ盛りの男の子がいるような家庭」に向けて重点的にその対象となるメディアに広告を展開することでマーケティングが効率化される可能性があります。具体的には、地域のスポーツ施設に広告を出したり、精肉売り場で男の子に受けがよいメニューのレシピを配布したり、部活帰りの学生に、チラシを持ち帰らせたり、といったことが考えられます。
このような展開が解析単位の状態か、あるいはそれに基づくリソース配分を「変える」というアクションの考え方です。解析単位を設定するにあたっては、そうした変化をもたらすことができるかもよく考えておきましょう。
前述した販売スタッフを解析単位とした分析で、たとえば「特定の資格を持っていると販売成績が高い」といった結果が出たとしましょう。この場合、「状態を変える」方向では、既存のスタッフに対してその資格を取るよう補助を出したり、勤務内での資格取得の勉強を奨励したりするアクションが考えられます。「リソース配分を変える」方向では、その資格が取れる学校に重点的に求人を出す、あるいは有資格者により高い報酬を約束するなどの方法が考えられます。このようなアクションは人事や営業管理の責任者、あるいは経営責任者が了承すれば実行できますが、果たしてそれは現実的でしょうか?こうした権限が自分になく、また責任者も分析の結果から新しいことを試したがるようでなければ、「変える」アクションが可能な、別の解析単位にした方がよいかもしれません。
分析前にこのような視点を持つことができれば、「分析したのに何の役にも立たなかった」というリスクが回避できます。
仮説ではなく解析単位を考える理由
以上が解析単位の考え方ですが、こうしたやり方に違和感を持たれる方もいるかもしれません。BIツールやエクセルなどで「男女間で購買金額に差があるか」とか「年代によって購買金額に差があるか」といったグラフを描くことが分析だと思っている方は、なぜ「解析単位」や「アウトカム」という概念を導入するのか、と疑問を持たれてしまうかもしれません。
「男女間で購買金額に差がある」「年代によって購買金額に差がある」といった設定は主語と述語を含む仮説で、YesかNoかで答えられるものです。それも、かなりベタな仮説です。私たちには高額な予算をかけてBIツールを導入し、どんな項目でも見える化できるようになったものの、「いったい何を見ていいかわからない」という相談もしばしば寄せられます。相談者の多くはせっかくのBIツールを目の前にして、男女別とか、年代別とか、月別とかの指標で売上を確認するぐらいのアイデアしか浮かばないのだそうです。「仮説を考えるセンスで困る」という状況なのでしょう。
解析単位とアウトカムを定める考えでは「YesかNoかで答えられない問い」を立てます。たとえば解析単位が顧客で、アウトカムが購買金額なら「購買金額の多い顧客とそうでない顧客の間にはどのような違いがあるのか」という問いを考えることになりますが、これはYesかNoかではなく、いくらでも答え方があります。
その解析単位同士の違いは、データから網羅的にあげることができるでしょう。性別、年代といった顧客マスターに含まれる情報はもちろん、顧客と紐付く購買履歴から、「過去の購買に占める日曜日の割合」というような、さまざまな顧客の特徴を考えることができるということを前章のデータ整備ですでに述べました。このように考えられ得るあらゆる特徴の中から、 何がどれくらい関係しているかを探すことがデータ分析の仕事です。それによって、よい仮説が思いつけない人でも、データからアウトカムつまり「利益につながる」重要な要因が何か、を発見することができます。解析単位とアウトカムを採用する大きな理由は、「的確な問い」 を考えるためなのです。