カスタム指標
カスタムインジケーター¶
ゲームからログを送信したり、自動的に収集されたログを使用してインジケーターを構成し、提供されているデフォルトのインジケーターに加えてそれらを分析に追加することができます。
以下はインジケーターの設定シーケンスです。
- ログを送信 ログ定義の後に
- このステップは、インジケーターがゲームログを使用して設定されている場合のみ必要です。インジケーターが自律的に収集されたログを使用して設定されている場合、このステップは不要です。
- ログを確認
- データソースを定義
- ソースページを定義
- インジケーター設定の結果を確認
ログの定義と伝送¶
インジケーターを構成するには、必要な構成情報をAnalyticsに保存する必要があります。このステージは、ゲームログを直接送信するためにインジケーターを構成する際に必要です。インジケーターを自動的にデータを収集するように構成する場合は、次のステップに進んでください。
ゲームからログを送信するには、ログ定義関数を使用して、ログが保存されるスキーマを定義します。
ログ定義の完了後、ログ送信は指定された形式に従わなければなりません。
ログ定義機能のETLシミュレーション機能を使用することで、サーバーまたはクライアントへのログ送信を展開する前に指標を設定したい場合に、サンプルデータを送信できます。
確認ログ¶
これはインジケーターを設定するために必要なログを確認するステップです。ログ定義機能のデータプレビュー機能を使用すると、各ログに保存されたデータを確認できます。
効率的なデータ検証およびその後のプロセスのために、ログを直接表示するためにAnalytics Big Queryの権限をリクエストすることをお勧めします。
データソースを定義する¶
インジケーターを構成するには、データソースを指定する必要があります。BigQueryデータクエリは、コンソール > アナリティクス > 管理 > データソースメニューを介してアクセスでき、SQLが必要です。
データソースに必要なSQLを書くには、前のステップで説明したAnalytics Big Queryの権限をリクエストしてください。
ソースデータ生成のシーケンス
- メニューから「データソースの登録」を選択します。
- 必要なデータソース名、日付分類、および SQL Query フィールドを入力した後、次へをクリックします。
- データソース名: データソースの説明的な名前。
- 日付分類: この設定は、SQLを使用してインジケーター内の日付を検索する際に指定された日付値を適用します。 SQL 日付検索タイプに応じて、値を選択する必要があり、選択した値に応じて、インジケーターに設定された日付値が SQL Query WHERE 句で指定された予約語に送信されます。
- 日次: 特定の日数を検索する場合
- 月次: 特定の月数を検索する場合
- 前日: 単日検索を行う場合、初回アクセス時にインジケーターのデフォルト日付が昨日に設定されます
- 今日: 1日のみを検索する場合、インジケーターに初めてアクセスする際のデフォルト日付は今日です
- 手動設定: インジケーターに対して日付検索機能を使用しない場合
- データベース: BIGQUERY を選択します。
- SQL Query: インジケーターに公開されるデータをクエリするために Big Query SQL を記述する際に考慮すべきこと。
- datetime は timestamp データ型であり、ログの日付値を表します。パフォーマンスの低下を避けるために、timestamp データ型を変更しないように注意が必要です。
例)データ型の変更と非変更
ケース 1) データ型変更の不正な例 | where date(datetime) >= '2023-08-01' |
ケース 2) データ型が変更されない正しい例 | where TIMESTAMP_TRUNC(dateTime, DAY) >= '2023-08-01' |
where TIMESTAMP_TRUNC(dateTime, MONTH) >= '2023-08' |
-
-
- 他のタイムゾーンに変換したい場合は、datetime フィールドの代わりに検索条件の日付値に timestamp_add 関数を使用してください。
-
例)KST に基づいて2023年8月1日を検索
KST から9時間を引いて検索範囲と比較します | where datetime >= timestamp_add('2023-08-01', interval -9 hour) and datetime < timestamp_add('2023-08-02', interval -9 hour) |
where datetime >=timestamp_add('2023-08-01', interval -9 hour) and datetime < timestamp_add(timestamp_add('2023-08-01', interval -9 hour), interval 1 day) |
-
-
- 選択した日付分類に基づいて、WHERE 句に日付値を指定します。
-
日次 | UTC | where datetime >= TIMESTAMP('##FROMDT##') and datetime < timestamp_add(TIMESTAMP('##TODT##'), interval 1 day) |
KST | where datetime >= timestamp_add('##FROMDT##', interval -9 hour) and datetime < timestamp_add(timestamp_add('##TODT##', interval -9 hour), interval 1 day) | |
月次 | UTC | where dateTime >= TIMESTAMP(concat('##FROMMM##','-01')) and dateTime < TIMESTAMP(datetime_add(date(concat('##TOMM##','-01')),interval 1 month)) |
KST | where dateTime >= timestamp_add(TIMESTAMP(concat('##FROMMM##','-01')), interval -9 hour) and dateTime < timestamp_add(TIMESTAMP(datetime_add(date(concat('##TOMM##','-01')),interval 1 month)), interval -9 hour) | |
前日/今日 | UTC | where datetime >= TIMESTAMP('##TODAY##') and datetime < timestamp_add(TIMESTAMP('##TODAY##'), interval 1 day) |
KST | where datetime >= timestamp_add('##TODAY##', interval -9 hour) and datetime < timestamp_add(timestamp_add('##TODAY##', interval -9 hour), interval 1 day) | |
手動設定 | 指標の検索日付値は送信されないため必須ではありませんが、クエリパフォーマンスのためにdatetimeフィールドをWHERE句に含めることを推奨します。 以下は、昨日の午前12時から現在までのログを観察するためにUTC/KSTを利用する例です。 | |
UTC | where datetime >= TIMESTAMP_TRUNC(timestamp_add(current_timestamp(), interval -1 day), DAY) | |
KST | where datetime >= timestamp_add(TIMESTAMP_TRUNC(timestamp_add(current_timestamp(), interval -1 day), DAY) , interval -9 hour) |
-
-
- トップレベルのSELECT句には、指標によって公開される少なくとも1つの軸と、値として使用される少なくとも1つのフィールドが含まれている必要があります。フィールドのエイリアスは小文字で定義される必要があります。さらに、フィールド間にはスペースが必要です。
-
例)SELECTの例
ケース1)不正な例 | SELECT * | フィールド名が欠落しています |
SELECT yyyymmdd,dau | フィールド間のスペースが欠落しています | |
SELECT YYYYMMDD | フィールド名が大文字になっています | |
ケース2)正しい例 | SELECT yyyymmdd, dau | |
yyyymmdd、ゲーム、値をdauとして選択 |
-
-
- 値として公開されるフィールドのデータ型は数値でなければなりません。
- 前後にスペースがあってはいけませんSQL。
- NUMERIC形式はサポートされていないため、CASTへの変換が必要です。
- FROM句のテーブル名は「##companyDataset##.tablename」の形式で指定する必要があります。
- カスタムインジケーターがゲーム固有のインジケーターに追加されると、選択されたゲームに基づいてゲーム固有のインジケーターにインジケーターが表示されます。SQL WHERE句に##appidGroup##のクエリを含めると、ゲーム固有のインジケーターで選択されたゲームが自動的に入力されます。
- 例) WHERE appidGroup in (‘##appidGroup##’)
-
- 各項目の軸選択と値選択を指定した後、次へをクリックします。
- すべての項目: 前のSQL Queryで指定された最上位のSELECT句に記載されたフィールド。
- 軸選択: インジケーターを構成する際に行と列を設定するために、フィールドをドラッグアンドドロップします。インジケーターに表示される名前を変更するには、スペースなしで韓国語または英語(大文字/小文字)で「名前を変更」と入力します。
- 値を選択: インジケーターを表示する際に各軸に対応する値を表示するために、フィールドをドラッグして移動します。ラジオコントロールを使用すると、複数の値の選択を構成および選択できます。ラジオアイコンに表示される名前を変更するには、スペースなしで韓国語または英語(大文字/小文字)で「名前を変更」と入力します。
- 軸項目の整列が必要な場合は設定し、次へとOKを選択してデータソースを保存します。ソート順は昇順または降順に設定できます。
ページソースを定義する¶
インジケーターを設定するには、ページソースを指定する必要があります。「コンソール > アナリティクス > 管理 > ページソース」メニューからアクセスでき、前のステージからのデータソースが必要です。
ページソース作成順序
- 「登録ページソース」ボタンをクリックします。
- インジケーターの項目を設定した後、「次へ」を選択します。
- ページタイトル :ページソースを指定するための名前で、インジケーターのタブメニューとして使用されます。
- 軸設定を含めるかどうか: テーブルの上部軸を含めるかどうかを決定します。
- 含めない: 指定された値フィールドがインジケーターテーブルの先頭に表示されます。
- 含める: インジケーターテーブルの上部に指定された軸フィールドによって別々に表示されます。
例) 含めない/含めるの選択に基づく露出インジケーターテーブル。
含めない | |
含める |
-
- データソース情報: インジケーターに公開する1つのデータソースを選択します。
- 0を含めるかどうか: インジケーターの値を公開する際に、ゼロのみを含む列を提供するかどうか。
- グラフを含めるかどうか: グラフを追加で公開するかどうか。
- グラフX軸の整列を反転: グラフのX軸はデフォルトで昇順ですが、降順に変更できます。
- コメントを含めるかどうか: テーブルにコメントを含めるかどうか。
- 比率の色表示: データソースのフィールドに「%」または「(増加/減少)」が指定されている場合、増加は赤で表示され、減少は青で表示されます。
- インジケーターに表示されるテーブルの位置を調整した後、「次へ」を選択し、次にOKを選択してページソースを保存します。
- 軸項目: データソースから軸を選択する際にリストされる項目。
- 値項目: データソースから値を選択する際にリストされる項目。
- 合計表示: この機能により、テーブル内で合計が自動的に表示されます。
- 合計なし: 合計は表示されません。
- 縦軸合計: 合計は縦軸の横に表示され、各行の合計を提供します。
画像) 縦軸合計表示
-
-
- 横軸合計: 合計は縦軸の横に表示され、各行の合計を示します。
-
画像) 横軸合計表示
-
-
- 横軸中間合計: 横軸合計に似ていますが、次のΣ値を「縦軸の前」または「縦軸の後」に配置することを選択でき、中間に追加の合計を加えることができます。
-
画像) 横軸中間合計 & 縦軸の前
画像) 水平軸中間合計 & 垂直軸後
-
-
- すべての合計表示: 行と列の合計が提供されます。
- Σ 値の位置(複数のアイテムの場合): テーブル内で値が表示される位置を指定します。
- 一つずつ選択: "指標の値"エリアに配置された値は、テーブル内で一つずつ別々に表示され、指標ページの上部の"値を選択"エリアに表示されます。
-
写真)「一つずつ選択」に設定して、指標ページで値を選択できるようにします。
-
-
- 垂直軸の前: 値はテーブルの左軸エリアの右側に表示されます。
-
写真) 値を「垂直軸の前」として表示
-
-
- 縦軸の後: 値はテーブルの左軸エリアの左側に表示されます。
-
写真) 値を「縦軸の後」として表示
-
-
- 上部水平軸: 値はテーブルの上部軸エリアの上に表示されます。
-
写真) 値を「上部水平軸」として表示
-
-
- 水平軸の下: 値はテーブルの上部軸エリアの下に表示されます。
-
写真) 値を「水平軸の下」として表示
-
- 配置: テーブルの行を形成するアイテムは左側にドラッグして配置でき、テーブルの列を形成するアイテムは上部にドラッグできます。公開される値は、値アイテムの中央に設定されます。
写真) ページソースにおける軸/値の配置
写真)ページソースの軸/値設定に基づくインジケーターページの構成
-
- すべて削除: 配置された軸と値を同時に削除できます。
- SQL プレビュー: データソースからBig Query SQLを表示できます。
- プレビュー: インジケーターに表示される画面をプレビューできます。
- ページソースのリストで新しく挿入されたページソースの「使用済み/未使用」オプションに「使用」を選択します。
- ページソースリストの「カスタムインジケーター適用場所」項目に挿入される場所またはゲームを選択します。
- ゲームごとの特定のインジケーター: ゲームごとのインジケーターは、選択されたゲームに関係なく、場所のゲーム特定インジケーター > カスタムインジケーターでアクセスできます。
- 包括的インジケーター: カスタムインジケーター > 包括的インジケーターの場所に表示されます。
- ゲームの名前: 各ゲームのインジケーターは、指定されたゲームインジケーター > カスタムインジケーターの場所にのみ表示されます。
- 包括的インジケーター/ゲーム特定インジケーター > カスタムインジケーターのタブメニューの順序を変更するには、「カスタムインジケーター順序」オプションの数字を調整します。配置順は数値的に昇順です。
インジケーター設定の結果を確認する¶
- ページソース定義が確定すると、Analyticsでのカスタムインジケーターの登録が完了します。「コンソール > Analytics > ゲーム特有のインジケーター > カスタムインジケーター」メニューからアクセスでき、タブの表示順序はページソース設定内の「タブのソート順」設定によって決まります。
- インジケーターに公開されるデータが大量にある場合、実際のデータはCSV形式で提供されます。
カスタムインジケーターの設定を試みる¶
ケース 1. 日次 DAU 指標の設定¶
日次DAUは、ゲームに認証する際に自動的に収集されるhive_login_logログを使用して指標として設定できます。これにより、ログを定義して送信する必要がなくなります。サンプルログは、ETLを使用してログ定義機能をシミュレートします。
ETL のシミュレーションで、hive_login_log におけるサンプルログの送信と検査を行います。
- 「コンソール > アナリティクス > ログ定義」に移動します
- 検索機能のログ名としてhive_login_logを選択し、次に検索ボタンを選択します。
- hive_login_logが表示されたら、スキーマ情報を確認するためにクリックし、その後、下部のETLシミュレーションセクションに進みます。
- 各フィールドの値を入力して確認した後、「サンプルデータを送信」を選択します。
- データプレビューを介して送信されたサンプルログを確認します。
日々のDAUクエリを構築するためにBigQueryを利用します
- 事前に許可を得た後にBig Queryにアクセスします。
- UTCに基づいて過去7日間のDAUルックアップクエリを使用して、データソースで直接BigQueryでクエリを実行します。
SELECT DATE(datetime) as yyyymmdd, appidGroup, count(distinct playerid) as dau
FROM `fluted-airline-109810.analytics_회사코드_live.t_hive_login_log`
WHERE datetime >= TIMESTAMP_TRUNC(timestamp_add(current_timestamp(), interval -7 day), DAY) and dateTime < timestamp_trunc(current_timestamp(), day) and appidGroup in ('appidGroup')
group by yyyymmdd, appidGroup
order by yyyymmdd, appidGroup
データソースを定義する
- 「コンソール > アナリティクス > 管理 > データソース」メニューにアクセスします。
- 「データソースを登録」ボタンをクリックします。
- 以下の必須情報を入力し、「次へ」を選択します。
- データソース名: 「ケース1日次 DAU データソース」
- 日付分類: 日次を選択
- データベース: BIGQUERYを選択
- SQLクエリ
SELECT DATE(datetime) as yyyymmdd, appidGroup, count(distinct playerid) as dau
FROM `##companyDataset##.t_hive_login_log`
where datetime >= TIMESTAMP('##FROMDT##') and datetime < timestamp_add(TIMESTAMP('##TODT##'), interval 1 day) and appidGroup in ('##appidGroup##')
group by yyyymmdd, appidGroup
order by yyyymmdd, appidGroup
- 軸と値の選択を指定した後、次へをクリックします。
- 軸を選択: appidGroup, yyyymmddを選択します
- 値を選択: dauを選択します
- データソースを保存するには、昇順でappidGroup, yyyymmddを選択し、次へをクリックし、次にOKをクリックします。
ページソースを定義する
- 「コンソール > アナリティクス > 管理 > ページソース」メニューにアクセスします。
- 「ページソースを登録」ボタンをクリックします。
- インジケーター設定のために以下の情報を入力し、「次へ」をクリックします。
- ページタイトル: 「ケース1デイリー DAU ページソース」
- 軸設定の有無: 有り
- データソース情報: 「ケース1デイリー DAU データソース」を選択
- 0 有り: 有り
- グラフ有り: 有り
- グラフ X 軸の整列を反転: 無し
- 表示比率の色: 未選択
- 以下のように軸と値の配置を設定します。
- 左の配置: yyyymmdd
- 上の配置: appid
- 値: dau
- プレビューボタンをクリックして、テーブルとグラフが正しく表示されているか確認します。
- 「OK」をクリックしてページソースを保存します。
- ページソースリストで、「ケース1デイリー DAU ページソース」リストの「有効/未使用」を選択します。
- ページソースリストで、「ケース1 DAU 日別ページソース」に「すべてのゲームのインジケーター」を適用するために「カスタムインジケーターの場所を適用」を選択します。
- ページソースリストで、「ケース1デイリー DAU ページソース」の「カスタムインジケーターの順序」を1に指定します。
インジケーターの設定結果を確認してください
- 「コンソール > アナリティクス > ゲーム特有の指標 > カスタム指標」メニューにアクセスします。
- 「ケース1 日次 DAU ページソース」というタブが表示されていることを確認します。
- 「ケース1 日次 DAU ページソース」をクリックして、テーブルとグラフが正しく表示されているか確認します。
- 指標に公開されているデータが大量にある場合、実際のデータはCSV形式で提供されます。
ケース 2. ステージクリアログを送信し、インジケーターを設定する¶
以下の手順に従って、ゲームのステージログを送信し、インジケーターを設定してください。サンプルログは、ログ定義機能のETLシミュレーションを使用しています。
ステージクリアログを定義する
- 「コンソール > アナリティクス > ログ定義」メニューにアクセスします。
- ゲームを選択した後、「ログ定義」ボタンをクリックします。
- テーブル名に「sample_stage_clear」を入力します。
- 説明に「サンプルログ」と入力します。
- 定義フィールド設定に、以下の情報を入力します。
- フィールド名: stage_clear
- 選択タイプ: string
- 説明: ステージがクリアされたかどうか
- サンプル値: success
- 下にスクロールして、登録をクリックします。
ETLシミュレーションを使用してsample_stage_clearにサンプルログを送信および確認しています
- 「コンソール > アナリティクス > ログ定義」メニューにアクセスします。
- 検索機能のログ名を選択し、sample_stage_clearを入力して、検索ボタンをクリックします。
- sample_stage_clearが表示されたら、定義されたスキーマ情報を確認し、下部のETLシミュレーションに移動します。
- 各フィールドに値を入力し、送信をクリックします。
- データプレビューを通じて送信されたサンプルログを確認します。
アクセス Big Query を使用して、毎日の stage クリーアクエリを作成します
- Big Queryへのアクセス権限を事前に取得した後にアクセスします。
- UTCに基づく毎日のstageクリアクエリを使用して、データソースで使用するクエリをBigQueryで直接実行します。
SELECT DATE(datetime) as yyyymmdd, stage_clear, count(distinct playerid) as cnt
FROM `fluted-airline-109810.analytics_회사코드_live.t_sample_stage_clear`
WHERE datetime >= TIMESTAMP_TRUNC(timestamp_add(current_timestamp(), interval -7 day), DAY) and dateTime < timestamp_trunc(current_timestamp(), day) and appidGroup in ('appidGroup')
group by yyyymmdd, stage_clear
order by yyyymmdd, stage_clear
データソースの定義
- 「コンソール > アナリティクス > 管理 > データソース」メニューにアクセスします。
- 「データソースを登録」ボタンをクリックします。
- 以下の情報を必須フィールドに入力し、次へをクリックします。
- データソース名: 「ケース 2 stage クリアデータソース」
- 日付分類: 日次を選択
- データベース: BIGQUERYを選択
- SQL クエリ
SELECT DATE(datetime) as yyyymmdd, appidGroup, stage_clear, count(distinct playerid) as dau
FROM `##companyDataset##.t_sample_stage_clear`
where datetime >= TIMESTAMP('##FROMDT##') and datetime < timestamp_add(TIMESTAMP('##TODT##'), interval 1 day) and appidGroup in ('##appidGroup##')
group by yyyymmdd, stage_clear
order by yyyymmdd, stage_clear
- 軸の選択と値の選択を指定した後、次へクリックします。
- 軸を選択: stage_clear、yyyymmddを選択します
- 値を選択: cntを選択します
- stage_clearを選択し、yyyymmddを昇順にソートし、次へクリックして、OKをクリックしてデータソースを保存します。
ページソースを定義する
- “コンソール > アナリティクス > 管理 > ページソース”メニューにアクセスします。
- “ページソースを登録”ボタンをクリックします。
- インジケーター設定のために以下の情報を入力し、次へをクリックします。
- ページタイトル: “ケース2 stageクリアページソース”
- 軸設定を含めるか: 含める
- データソース情報: “ケース2 stageクリアデータソース”を選択
- 0を含めるか: 含める
- グラフを含めるか: 含める
- グラフX軸の整列を反転: 含めない
- 比率の色を表示: 選択されていない
- 以下のように軸と値を配置します。
- 配置左: yyyymmdd
- 配置上: stage_clear
- 値: cnt
- テーブルとグラフが適切に表示されているか確認するために、プレビューボタンをクリックします。
- ページソースを保存するためにOKをクリックします。
- ページソースリストで、“ケース2 stageクリアページソース”リストの“有効/無効”を選択して有効にします。
- ページソースリストで、“ケース2 stageクリアページソース”の下にある“カスタムインジケーター適用場所”を“ゲームごとのインジケーターゲーム”として選択します。
- ページソースリストで“ケース2 stageクリアページソース”リストの“カスタムインジケーター順序”を1に設定します。
インジケーター設定結果を確認してください
- "コンソール > アナリティクス > ゲーム特有の指標 > カスタム指標"に進みます。
- "ケース 2 ステージクリアページソース"というタイトルのタブが表示されているか確認します。
- テーブルとグラフが適切に表示されるように、"ケース 2 ステージクリアページソース"をクリックします。
- 指標に公開されているデータが大量にある場合、実際のデータはCSV形式で提供されます。