こんにちは、@mkataigiです。PLAID Advent Calendar 2017 8日目です。今日はコードは出てこない、データ分析系のお話です。
PLAIDではKARTEという「ユーザーを知り、そのユーザーに合わせて接客をする」ためのシステムを作っています。今回はそんな、ユーザーを「知る」技術について深掘りしてみようと思います。
そもそも「知る」ということはどういうことでしょう?僕はユーザーを「知る」とは、あるユーザーが他のユーザーと比較して何が違うか/違わないかがわかること、だと考えています。つまり、ユーザーを「知る」技術とはユーザーを「比較する」技術になります。今日はその「比較する」技術について考えていきます。
「比較する」というと統計などの技術に入りがちですが、今回はその以前の次の2つの観点について説明します。
- 比較対象:何と比べるのか
- 比較方法:どうやって比べるのか
最初に謝っておきますが、今回出てくる例は全て恣意的に作った架空のもので、具体的な事例ではありません。
比較対象:何と比べるのか
以下の文章を読んで、あなたならどう感じますか?
「今回の全国模試の数学の成績は偏差値55だった。悪い結果で悔しい。」
「何か変なの?特に違和感はない」という人が多いんじゃないでしょうか?よく考えてみてください。偏差値55ということは平均より上、ということです。それは悪い結果なのでしょうか?
この文章のキモは「比較対象」です。次のような暗黙的な比較対象があると自然に考えてしまっているのです。
- (レベルの高い学校に在籍していて、周りの人と比較して)悪い
- (普段の試験ではいつも好成績なため、過去の結果と比較して)悪い
比較をする場合は常に「何と比較しているか」を意識するのが大事です。
個人との比較はしない
個人同士を比較する場合は、単純に数字を比較すればいいので簡単じゃんと思われがちですが、実は個人同士を比較するというのはあまりありません。例えば次の文章を見てください。
Aさんは試験の結果が95点だった。Bさんは試験の結果が94点だった。
つまりAさんの方がBさんより賢い。
たった1点の差で、この結論は正しいのでしょうか?
よく知っての通り、実際には「誤差」というものが入って来ます。実際に分析をするときにはこの誤差が入るため、真の値から少しズレた値になっている、ということを意識しておく必要があります。今回のケースだと、以下のような感じになりますね。
テストの点数 = 真の頭の良さ(どうやって測るかわからないけど) +- 誤差(体調とかうっかりミスとか勘が当たったりとか)
個人同士の比較をしてしまうと、その「真の頭の良さ」がわからないため、賢さの比較することができないのです。
集団と比較する
最初の例の「レベルの高い学校に在籍していて、周りの人と比較して悪い」という解釈がこれになりますね。集団には複数の「値」が存在するため、「何の値」をその集団の「代表値」として捉えるかが大事になってきます。この辺りはぜひ統計学を勉強してみてください。
過去と比較する
最初の例の「普段の試験ではいつも好成績なため、過去の結果と比較して悪い」という解釈がこれになりますね。過去の比較というのは、同じ状況が続くのであれば未来でも同じ変化が起こると考えられるので、未来予測をするうえで非常に重要です。そのため、長期間データを保持し続けるというのは非常に価値があります。
比較方法:どうやって比べるのか
あなたはオリンピック監督です。次の100m走のオリンピック代表を次のAさん、Bさんのどちらかにしようと思います。どちらにしますか?
Aさん: 身長180cm、体重80kg
Bさん: 身長160cm、体重60kg
そもそも走ってもらって決めろよ、という話ですが、あなたならどちらを代表選手にしますか?その理由は?
どちらにするかすぐには決めきれない人が大半なのではないかと思います。それは人間には次のような性質があるからです。
人間は2つ以上のことを同時に比較できない
ではその比較できないものをどうやって比較するのかについて2つの方法を見てみます。
1つずつ順番に比較する
2つを同時に比較できないならば、「1つずつ順番に2回比較」しよう、というのがこの方法になります。よく4象限にして書かれている図なんかがこれに当たりますね。
今回のケースでは使えないですが、事業戦略や成長戦略などで、まずは上に上行ってから右へ行こう!みたいな考え方をしてるかと思いますが、まさしくこれです。
別の指標を作って比較する
2つ目の方法は、「新しい別の合成指標を作る」方法です。例えば今回の場合だとBMI(体重÷身長^2)などが良さそうですね。機械学習なども主にこの方法で比較していると思って良いです。
新指標 = aX + bY + cZ
今回はBMIという指標で比較してみると、次のようになります。
名前 | 身長 | 体重 | BMI |
---|---|---|---|
Aさん | 180cm | 80kg | 24.7 |
Bさん | 160cm | 60kg | 23.4 |
どうやらBさんの方が良さそうですね。
まとめ
ユーザーのことを知るために「比較する」方法について見てみました。データを分析するときには、統計学や機械学習も大事ですが、その以前の「何を比較しているのか」「どうやって比較しているのか」ということを意識してみると、より良い分析ができるようになるかと思いますので試してみてください。