先月、あるソーシャルゲームのデータ分析をしていて、気になったことをメモします。
D3.jsでヒートマップを作り、ゲームユーザのログイン頻度を可視化しましたというお話しです。
D3の公式サイトのExamplesのDay/Hour HeatMapを使いました。
http://bl.ocks.org/tjdecke/5558084
全ユーザのログイン頻度からヒートマップ
青系の色がログイン頻度が高く、薄緑の色(クリーム色?)がログイン頻度が低かった部分です。
縦軸が曜日、横軸が時間を表しています。ログイン頻度は2014年から2015年の8月までの全ユーザを対象に集計を行っています。上の図は全部で168マス(7曜日× 24時間 = 168)で、中央値のログイン数を基準に2色に分けました。
結果を観察してみると、朝の通勤や通学時間と昼休み、夜から深夜が目立ちますね。では個別のユーザごとに見てみましょう。
個別のユーザごとのヒートマップ
ログイン頻度や他のデータを鑑みて、ミドルユーザの位置の人だと思います。平日の午前6時や7時にログイン頻度が高いことが分かります。おそらく、通勤や通学時間にゲームにログインしているのでしょう。あとは土日や夜の時間帯にログインが目立ちます。
このユーザはライトユーザという位置付けです。午前5時によくログインしています。重要なのは一番最初の図で全体的に朝のログイン頻度が高いことが分かりますが、その時間帯はユーザごとに傾向が異なるということです。しかも横軸で見ると綺麗な1直線です。このユーザは朝早いから夜中のログインはほぼないです。
そして、ユーザC
私の中ではヘビーユーザという認識です。全体的にログイン頻度が高めですが、特に平日の朝と夜、土日がログイン頻度が高いです。
最後にユーザD
他のユーザと比較すると、ログインの時間帯がバラバラであることが分かります。全員が朝、夜にログイン頻度が高いわけではないことが分かります。全体の傾向と個々ユーザごとに比べてみると、その人の生活が少し見えてくるのが面白いところです。
このような分析から例えば、
・PvP戦をいつ主催すれば良いのか?
・ソーシャルゲームに新しい機能を実装する時にどのタイミングが良いか?
などを考えることができそうです。
次回はKaggleについて触れたいと思います。