2013/10/09コホート分析とは定義に関してはWikipediaを見れば大体わかるかと。analysis)と呼ぶ。ある質問として「セグメント分けとどう違うの?」っていうのがあって、セグメントは例えば性別とか年代とかのユーザーの属性によって分割するのに対して、コホートは登録日時、初回ログイン日時といった、ユーザーの行動を元にグループ分けするというのが違い、だと思う。概要やりたいこと例として、ユーザーの登録日時(週ごと)によりコホートを分けて、それぞれのコホートごとにn週後のアクティブ率を調べる。処理の流れ以前やっていた勉強会で発表した時の資料に、おおまかな流れは書いてあるので、まずはそちらを参照。S3にデータを移すEMR上のHiveで集計し、S3上に結果書き込みという感じ。入力データの構造ユーザー行動ログ(DynamoDB)ユーザーがどんな行動を取ったかのログ。内容は、ごく一般的なもので、項目としては以下の様なもの。タイムスタンプユーザーIDログの内容(何をしたか)その他付加情報(ブラウザ、IPアドレスetc.)キー、インデックスの情報等は省略。DynamoDBのテーブル設計に関するベストプラクティスに関してはAWSのこちらのドキュメントを参照。ユーザーの登録情報(MySQL)コホート分けに使う。項目としては以下の様なもの。ユーザーID登録日時その他ユーザー情報(名前、性別)日時とコホートのマッピング(フラットファイル)週次・月次(今回は週次のみ説明)でコホートに分けるので、日時とコホートのマッピングのファイルをExcelで作っておいた。内容は以下のようなもの。2013-01-06は、2012-12-31週のコホート、あるいは2013-01-01月のコホートに属す、というもの2013-01-012012-12-312013-01-012013-01-022012-12-312013-01-012013-01-032012-12-312013-01-012013-01-042012-12-312013-01-012013-01-052012-12-312013-01-012013-01-062013-01-072013-01-012013-01-072013-01-072013-01-012013-01-082013-01-072013-01-012013-01-092013-01-072013-01-012013-01-102013-01-072013-01-01これを事前にS3に上げておく(詳細は次回)。次回は、S3にデータをエクスポートする部分を説明する。Hiveから直接参照できるように、決まったレイアウトにしておく必要がある。第2回の記事はこちら。コメントをキャンセルメールアドレスが公開されることはありません。