ログ解析についてつらつらと考えていること

ログ解析についてつらつらと考えていることを書いてみたいと思います。

Hadoopを用いたログ解析によってマーケティングを変革し売り上げを向上させようという話はよくあります。

この手の話はたいていBtoCで例としてはメールでレコメンドして商品を買ってもらうとかですね。

ログ解析がどういうフローかというと、ログを埋め込んでログを収集して蓄積して解析してそのレポートを見て何らかの施策を打つ、という感じになります。

図にするとこんな感じ

今話題沸騰中の「Fluentd」はログ収集を担当します。といいつつ僕自身はFluentd使ったことないです。記事を読んだくらいです。

ちなみにどれぐらい話題沸騰中かというとこれぐらい定員オーバーしてます。すごすぎ。
クレジットカード現金化詐欺【業界人が教える口コミ情報】

ログ埋め込みはJavaならLog4j使って埋め込んだりするでしょう。

Apacheアクセスログ使うのならログ埋め込みは必要無いですが業務的なログは取れません。URLに業務的な情報を付加すれば別ですが。

Fluentdやアクセス解析ソフトを使っている場合は生ログをパースする必要はないかもしれないですが、使っていないならパースして必要な情報を取得する必要があります。
JavaScriptや画像へのアクセスログを除く必要もありますね。僕はやったことないですがなんだか凄く大変そうですね。。。

ログ埋め込む人とパースする人(解析する人)が同じならいいですが、そうでないことが多いでしょう。

同じでない場合ログ埋め込んだ人が何をもって正しくログを埋め込んだかを確認するんでしょう。。。
仕様書なのかなあという気がしますが、そんなちゃんとした仕様書を書く工数があるのかという話と、もっと根本的にはログというプログラム本来の動きに直接関係しないことにどれだけ工数をかけられるかというのがあります。
てか、例外でさえ無視されやすいのに例外でもないログを考慮できるかというと難しい気がします。

でもこれは能力の話ではなくマネジメントの話ですね。ログ解析で何をしたいのか?ってところがスタートでそこからかけられる工数の中から最低限のことをやっていくという話でしょうね。

サービスレベルの話もあります。収集プロセスは毎日だったりストリーミング的にまわっているかもしれないですがこれが1日ダウンしてもOKなのかとか。さすがに24時間365日動いている必要もない気がしますが。

どのような手法でやるにせよまあHadoopに蓄積します。そして解析します。HiveやPigを使うのが一般的かもしれないですが、直MapReduceHadoop Streamingでやる手もあるでしょう。

この辺で問題になってくるのが解析結果の信頼性です。解析結果が正しいことをどう担保するのか。これは悩ましいです。プログラムがスタックトレース吐いて落ちるならすぐわかりますが、数値が違うというバグはそう簡単には見つかりません。検算するにしても何を正しいと仮定するのでしょうか。場合によっては2人で同じ仕様の解析プログラム書かせて結果を比べるという手もあるかも。

最後はビジュアライズしてレポーティングですね。商用のBIツール使うのかExcelのピボットテーブル使うのかはおいといて解析結果を見やすい形にして施策を打つ人に見せる必要があります。


こう見ていくとログ解析というのは大変です。データ量が増えるとなおさらです。こうなると費用対効果がどうなんだという話になりそうです。

費用対効果はA/Bテストで調べるんだと思いますが、それやるのも一手間かかるでしょう。

そういうこともあるのでログ解析のゴールとして売り上げ向上というよりは不正データの検出のほうが向いているのかなあという気がします。

なんでそう思ったかというと最近でたこの記事を読んだからですがw

――そうなると企業としてはビッグデータ活用の投資対効果をどう測るかが重要になると思うのですが。
佐藤氏:そのとおりです。その意味でも、ビッグデータ活用の目的をいきなり収益の向上やマーケティングの変革に置くよりも、カード会社が行っているカード不正利用の洗い出しのように、リスク管理やリスク対策に置くほうが現実的ではないでしょうか。つまり、そうしたほうが会社の投資は引き出しやすいということです。
 また、「ビッグデータの分析によって違法行為はすぐに見つけられる」と宣言できるようにしておくことは、それだけで犯罪の抑止につながります。ビッグデータの分析で違法行為を発見するのは簡単なことではないかもしれませんが、たとえ実効性が低くても、犯罪の抑止になればそれで十分という割り切った考え方もできるはずです。

http://www.computerworld.jp/topics/561/%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8/201489/%E3%83%93%E3%83%83%E3%82%B0%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E9%96%93%E9%81%95%E3%81%84%E3%82%92%E6%AD%A3%E3%81%99%EF%BC%88%E5%89%8D%E7%B7%A8%EF%BC%89?page=0,2

他にはソーシャルゲームでクリアが難しく脱落者が多い箇所をチューニングして退会を防ぐとかはログ解析の価値がありそうです。要はマイナスを減らすディフェンスの話ですね。売り上げを向上させるとかそういうオフェンスの話ではなく。


というようなことを今晩のプレミアリーグのビッグマッチ前につらつらと考えていました。いじょ。