ソーシャルゲーム分析とログ出力SDK|ソーシャルゲーム分析(12)

AUTHOR :   ギックス

本記事は、株式会社ギックスの運営していた分析情報サイト graffe/グラーフ より移設されました(2019/7/1)

ログ出力をSDKに委ねることは諸刃の剣となりうる

今回は、ログ出力SDKを使用するメリットと落とし穴について考察してみます。
SDKとは、「Software Development Kit(ソフトウェア開発キット)」の略であり、ある機能を実現するために必要なプログラムなどをまとめた開発ツールキットのことです。SDKの詳細な説明については、こちらの記事をご参照ください。

SDKを活用してゲーム以外の実装工数を削減できる

「ゲームの実装」と「各種ログ(例:KPIの可視化に必要なログ、エラーログ、クラッシュログなど)を出力する仕組みの構築」を両立することは大変難しいです。中途半端に実装して、ゲームの動作が重くなったり、意図通りにログが出力されないよりは、専門家が書いたコードがまとめられているログ出力SDKを使用する方がよいでしょう。
また、開発メンバが少ないような案件では、ログを可視化したKPI画面を作成する工数を割くことも難しいでしょう。他社のログ出力サービスには、ログ出力SDKだけではなく、KPI画面も付属していることが多いので、ログの収集と可視化を少ない工数で実現できます。
このように、ソーシャルゲームの実装では、ログの出力機能を他社のSDKに頼ることで、ゲーム以外の実装工数を減らし、ゲーム自体の開発により注力することができます。なお、一部の大手ソーシャルゲーム会社のように、ログ出力SDKの構築や、分析環境の構築・整備するための部署を自社で保有している例もあります。(とはいえ、そのような会社でも、最近は、SDKのメンテナンスや分析環境の保守に手が回らなくなりつつあり、他社のSDKを使用する流れになりつつあります)

ログ出力SDKを使用した場合の可視化までの流れ

ログ出力SDKを用いた可視化までの流れを下図を用いて説明します。なお、下図の例では、ゲーム会社A社の環境とログ可視化サービス会社B社の環境の2つがあります。20151021_sdk_01
ゲームのプレイ中、アプリはA社のゲームサーバと通信しています。ゲームサーバは、ゲームの運営に必要なログ(例:ユーザ情報やクエストのクリア状況など)をA社のDBに格納します。その流れとは別に、ゲームサーバ(SDKによってはゲームクライアント)に実装されたログ出力SDKが、可視化に必要なログ(例:ログイン情報や課金情報など)をB社のDBに転送します。そして、そのデータを元にKPI画面が作成され、ゲームの運営の人々はWebブラウザなどを通じて閲覧します。

ログ出力SDK会社の環境にあるログを参照できるようにすべし

上記のようなケースにおいて、B社のKPI画面の数値はどのように検算したらよいでしょうか。この場合、A社のDBのデータを集計した値と、B社のKPI画面の値を突合することになるでしょう。大抵は、この2つの数値が完全に一致することはありません。原因は、転送しているログの粒度や、ログの出力タイミングの違いなどが挙げられますが、詳細に調査するためには、B社の環境にあるログが必要になります。
また、B社のKPI画面において、異常値を発見した場合、どのように原因調査や深掘り分析を実施したらよいでしょうか。この場合も、A社のDBのデータを集計した値と比較することになるでしょう。もし、その集計値から異常値の原因が分からなかった場合、B社のログが必要になるでしょう。
このように、詳細な原因調査や深掘り分析には、KPIの可視化に使用しているログが必要不可欠になります。ログ出力SDKを選定する際には、これらのログをCSVファイルなどに出力する機能があるかを必ず確認しましょう。

関連/連載記事リスト:ソーシャルゲーム分析
SERVICE