昨今のゲームは長期的な運用を前提としているのものがほとんどであり、売上を伸ばすための施策を練るにはユーザーの動向を逐一把握していることがとても大事です。そのためユーザーの行動情報を出力し調べることが必要になります。
しかし、
ゲームについて分析をしたいけれども集計するためにはどういったログを出せばいいのか、何もルールをなしにログを出していくとあとあとの集計が困難になっていくことがしばしばあります。
そのためソーシャルゲームを基に考えてどんなログを出せば集計し易いかを述べていきます。
(個人の見解に基づきます)
#扱い易いログを作るための手順
###1.最優先したいフィールド
常時運用を続けるサービスでは何を集計するにしても以下の2つは必ず出力しておかなければなりません。
#####・時刻
#####・ユーザーID
###2.計算したいフィールド
次に重要なのは数値計算をして指標を見る場合の基となるログです。合計、平均、割合などを集計することがよくあるかと思いますが、個々のユーザーに紐付けて出力しましょう。
(例)
#####・アイテム所持数
#####・所持ゲーム内通貨
#####・レベル
#####・限界突破数
#####・何かしらのポイント所持数など
###3.IDになるフィールド
欲しい情報に何らかの分類がある場合に必要になります。計算したい情報毎にIDが設定してあると集計が容易になります。
(例)
#####・クエストID
#####・キャラクターID
#####・アイテムID
###4.名前になるフィールド
IDが何に対する値なのか分かるようにするため、それに対応する名目も同時必要になります。
(例)
#####・"曜日限定クエスト"
#####・"キャラクター名"
#####・"回復アイテム"
###5.セグメントになるフィールド
これは必須ではないですが、どのレベル帯のユーザーなのかなど、ユーザーの特徴をある程度分けて見る必要が頻繁に出てきます。そのための情報はログに常に紐付けておくと違いが明確にしやすくなります。
(例)
#####・ユーザーレベル
#####・月額課金額
#指標から考える扱い易いログ
基本的には上記のようにログを出せばエクセルや、SQLなどで集計することが可能になりますが、応用的な指標を作成する場合は上記のログだけでは不十分な場合があります。ありがちなケースに対応できるようにするログの作成方法を以下に追記します。
###1.モノに基づく指標
ソーシャルゲーム内のアイテム、クエスト、ステータスなどのモノの情報は頻繁に追加、アップデートされるためそれに対応できるように一意性を保持しておくことが望ましいです。しかし、一つのIDだとコンテンツが多くなるに連れて分類や意味合いを分けるのが困難になってきます。そのため一意の情報を崩さないためには何層にもIDを振り分けておくか、リストとしてログを出力すると分別がしやすく、フィルターとして差別化もしやすくなります。
(例)
┌── アイテムID
├── 種類ID
└── レア度
カードID
├── 名前
├── レベル
└── スキル
├── スキル1
├── スキル名
└── スキルレベル
├── スキル2
├── スキル名
└── スキルレベル
└── スキル3
├── スキル名
└── スキルレベル
###2.時間に基づく指標
経過日数や、効果期間、前回行動した時間などが重要になる指標を作成する場合、ログの中に現在どれぐらいの期間が経過しているか、前回実行した時間はいつなのかなどの情報を埋め込んでおくと指標作成が容易になります。
(例)
ユーザーID
├── 前回ログイン日時
├── 継続ログイン日数
└── 効果取得日数