俺の報告

RoomClipを運営するエンジニアの日報(多分)です。

日報 #17 - えぇ、大変むずかしい問題です

日本の平均年齢は大体45歳位なんだって。
人口問題研究所(http://www.ipss.go.jp/)が こんな資料(http://www.ipss.go.jp/pp-newest/j/newest02/3/t_4.html)とか、こんな絶望的なGifhttp://www.ipss.go.jp/site-ad/TopPageData/Pyramid_a.html) 作ってたりするよ。

今日はデータ周りについての話。

データ解析は、もう結論から言って、すんげー難しいっす。
困難さの原因とか毛穴くらい沢山あるから一つ一つあげてらんないけど、
例えばこんな話。

ある日、流入があまり変わらないのに、写真数が減ってきているなぁと気づきました。
なんで?と思いました。
いつも見ている数値をボンヤリながめると、
どうやら撮影者数が下がっているみたいです。
ん?誰が撮影しなくなったの?
はい、こんな時。

「誰が撮影しなくなったの?」という問いは本質的にとても高度な問いです。
この問いは「ユーザ集団に対して、『特別に撮影数が下がった』集団を分離するようなカテゴライズを行う特定の条件を求める」という問いになります。
これを決定論的に求めるのはかなり無理があります。
では、探索的に行うのがよいのでしょうか?
解となりうる条件は、集団をフィルタできる変数をNとしたら、少なくとも2のN乗通り以上ありそうです。
このパターン全てに対してユーザを分類し、さらに、彼らが「時系列的にほかと比べて極端に減少している」ことを明らかにしなければならない。
これも土台無理な話です。
そのため確率的に行う必要があり、それゆえにヒューリスティックなやり方がとても重要となります。
ようは当てずっぽうです。
それでも人は頑張ってその条件を何となく見つけるでしょう。
その喜びのあまり、その条件、別の言い方をすればその条件によって抽出される値を、
常時観察したいと思うでしょう。
ですが、観察指標と分析指標は多くの点においてその性質が異なります。
例えば、「月ごとの登録者コーホートに対して撮影率の時間推移を追跡したところ、特定のコーホートが極端に撮影率が下がっている」ということを発見できたとしましょう。
この発見を、毎日の観察指標にできるでしょうか?
月ごとならあるいは出来るかもしれません。
では週ごとだったらどうでしょうか?
グラフにはサービス開始月の第一週から今日までの相当数のコーホートの時系列推移が並びます。
確かにいつでも見れなくてはいけない数値です。
ですがシステム化して常時コレを観察するほど、常に必要な情報でしょうか?
「もしかしたらある週のユーザの撮影率ががくっと下がっているかもしれない」という推測は、
他の例えば「いいねを押しているユーザの撮影率が下がっているのかもしれない」とか、
「コメントを以下略」のように無限に考えられます。
最初に述べたように、これはヒューリスティックな分析の際に出てきた指標であって、
なにか論理的に出てきた指標ではないのです。
(何度も言いますが、世代コーホートは見れなくてはいけない指標です。理由が正しく提示されれば常時観察しなければならない指標になりえます。ただ、世代コーホートはそもそも全て常時観察すべきだ、となったら、常時観察すべき項目は異常に増加しますよという話です。)

以上はとても抽象的な話ですが、
僕はいつもこのような不安を抱えながらデータと向き合っています。
無限に増加していくユーザを、どうカテゴライズするのか、そして、
保守・運用の観点ともちろん効果という観点から、どのカテゴライズ手法が最も妥当といえるか。
大変むずかしい問題です。


追記
問題設定が悪かったです。
この問題ならアプローチ方法は他に色々あります。(例えば撮影率が下がっているユーザを集めて、因子を求めるなど)
言いたかったことは、ヒューリスティックなやり方は分析としては高速で低コストな時があるけど、
だからといって観察として優れた指標をもたらすわけではない、ということ。
え、そういうこと?うん、そういうこと・・・