データ分析は、収集、集計、可視化。

データ分析の大まかな流れは、収集、集計、可視化、です。
このステップをベースに、サービスごとの具体的に処理方法を考えていくのが良いです。

読んだ本

この本を読みました。
51ZaxOnGgNL._BO2,204,203,200_35,-76_AA300_SH20_OU09_
データ分析が支えるスマホゲーム開発 ~ユーザー動向から見えてくるアプリケーションの姿~
Amazonのレビューが低めですが、書籍のタイトルがミスリードなのが原因のようで、「スマホゲームのためのデータ分析システム」の本として読むと、読みやすくて良い本です。

データの収集

まずはデータの収集からです。生のデータを収集して、分析可能な状態にします。
具体的には、MySQLなどに保存されているユーザー情報などのスナップショットを取得したり、アクセスログやユーザーの行動ログなどのログデータをパースします。
データは様々な発生源から取得されるので形式はバラバラですが、この時点であとで分析しやすいように一定の形式に変換しておきます。
この本では、アクセスログをPythonでパースしてS3に保存し、Amazon Redshiftにロードする例が載っています。

データの集計

続いて、データの集計です。集めたデータを、事前に計算して使いやすい形にします。
収集したデータは一般的に大規模なので、そのまま分析に使うと処理時間が長く、分析に不向きです。そこで、事前にある程度の集計処理をしておきます。
具体的には、ユーザーの行動ログの有無から、ユーザーが当日にログインしているかどうのログインテーブルを作成するなどです。
この本では、Pythonスクリプトを使って、ログイン回数や滞在時間、継続率を算出する例が載っています。

データの可視化

最後に、集計したデータを、可視化したりレポート化します。
集めたデータを解釈しサービスの運営に活かすのは人間なので、データを人間が理解可能な形にする必要があります。
この本では、Pentahoを使って、MySQLに保存したデータを可視化する例が載っています。

まとめ

個々のフェーズでどういうソフトウェアを使うかはサービスや開発チームによると思いますが、この3ステップをしっかりと抑えておけばスムーズに分析が進みそうです。
自分だったら、アクセスログはFluentdにパース・収集させてS3に保存し、S3から取得したデータを集計してMySQLかRedshiftに転送して、D3.jsなどで可視化できたら良いかなあ、などと考えています。

タイトルとURLをコピーしました