📈

【Roblox】Analytics(1)~イベントトラッキング、Economy Events~

2024/11/20に公開

はじめに

今回は、クリエイターハブのダッシュボードで確認できるAnalyticsにて、独自のイベントを追加して計測・追跡する方法について紹介します。
また、例としてEconomyEventsについて解説をします。

Robloxバージョン 0.641.2.6410741

イベントトラッキングについて

Robloxはそれぞれのゲームの詳細をダッシュボードにて確認できます。
このダッシュボードにはAnalytics(日本語では分析)の項目があり、何も設定しなくてもアクティブユーザー数や平均セッション時間などを確認することができます。


赤で囲まれたところでAnalyticsを確認できる

デフォルトにあるイベント以外に、自分たちで設定したイベントを計測・追跡させてAnalyticsのページに追加することができます。

イベントの種類

追跡するために使用できる分析ダッシュボードは以下の3つになります。

  1. EconomyEvents - 経済系のイベントの追跡
  2. FunnelEvents - 進行状況系のイベントの追跡
  3. CustomEvents(現在限定ベータ機能) - エクスペリエンスの固有の指標の追跡

これらのイベントをエクスペリエンスに追加した場合、グラフが表示されるまで24時間がかかります。
イベントが正しく呼ばれているかどうかはViewEventsを表示することで確認可能です。


グラフが表示されていなくてもイベントが呼ばれているのが確認できる。

またこれらのイベントはAnalyticsServiceを通して設定します。
この時は以下の制限がかかります。

制限 最大値
Economy,Funnel,Custom 1分当たりAnalyticsServiceのリクエスト数 120 + (20 * 同時接続ユーザー数)
カスタムフィールドの数 3 クラス、レベル、武器
カスタムフィールドごとの一意の値 無制限 - すべてのカスタム フィールドの合計値が 8,000 を超えると、値は「その他」としてグループ化されます。 戦士、魔術師、射手
Economyのみ リソースの種類 10 コイン、ゴールド、クレジット
トランザクションタイプ 無制限 — 20を超えると、値は「その他」としてグループ化されます。 IAP、ゲームプレイ
アイテムSKU 無制限 - 100を超える値は「その他」としてグループ化されます。
Funnelのみ ファネル数 10 オンボーディング、ショップ
ファネル当たりのステップ数 100 ステップ1、ステップ2
Customのみ イベント名 100 モンスターの敗北、キルデス数

Economy、Funnel、Customイベント共通で制限があるものと、それぞれ固有で制限があるものがあるので気を付けましょう。

Economy Events

Economyイベントは経済系のイベントの追跡を行えます。
具体的には下記を追跡できます。

  • Top sinks — ユーザーは体験内のリソースを何に使っているのか。
  • Top sources — ユーザーはどこでリソースを獲得しているのか。
  • Average wallet balance — ユーザーはどれくらいのリソースを保持しているのか。

エクスペリエンスでエコノミーイベントの追跡が開始されると、クリエイターハブの分析ダッシュボードのエコノミーページのロックが解除されます。

トランザクションタイプ

EconomyイベントではSource(獲得)とSink(消費)を追跡します。
このSourceとSinkを追跡するためには、トランザクションタイプを設定する必要があります。
デフォルトのオプションは以下になります。

  • IAP (Source) - Robux経由で購入した通貨など。Robuxで購入したゴールドなど。
  • TimedReward (Source) - 時間ベースの報酬。デイリーボーナスなど。
  • Onboarding(Source) - カムバックボーナスなどのリソースを取得。チュートリアル完了後のゴールド取得など。
  • Shop (SourceまたはSink) - ショップでの購入。アイテムを購入するためのコインの消費など。
  • Gameplay (SourceまたはSink) - クエストの完了などのゲームプレイ時のリソースの獲得。勝利ボーナスなど。
  • ContextualPurchase (Sink) - 直接報酬に関連する購入。ライフを購入したなど。

これらのタイプはAnalyticsのページに表示されます。
必要に応じてイベントを記録する際に独自のトランザクションタイプを設定することもできます。

サンプルコード

Economyイベントを設定するサンプルコードです。

local AnalyticsService = game:GetService("AnalyticsService")

-- ゴールドを獲得した場合
AnalyticsService:LogEconomyEvent(
	player,
	Enum.AnalyticsEconomyFlowType.Source, -- 獲得したのでSource
	"Gold",
	100,
	150,
	Enum.AnalyticsEconomyTransactionType.Gameplay.Name
)

-- ゴールドを消費した場合
AnalyticsService:LogEconomyEvent(
	player,
	Enum.AnalyticsEconomyFlowType.Sink, -- 消費したのでSink
	"Coins",
	80,
	20,
	Enum.AnalyticsEconomyTransactionType.Shop.Name,
	"DoubleJumpUpgrade" 
)

Economyイベントを追跡するにはAnalyticsService:LogEconomyEvent()を使用します。
引数は以下の通りです。

説明
player Player イベントをトリガーしたPlayer(ユーザー)
flowType Enum.AnalyticsEconomyFlowType 獲得した場合はSource、消費した場合はSink。
currencyType string 通貨の種類。エクスペリエンス毎に5つの通貨タイプに制限される。
amount number 追加、削除される通貨の量。常に正である必要がある。
endingBalance number 通貨が追加、削除された後の残高。0以上である必要がある。
transactionType Enum.AnalyticsEconomyTransactionType トランザクションタイプ。列挙型で指定する場合は、文字列である必要があるためName値を渡す必要がある。1回のエクスペリエンスで20個までに制限される。
itemSku string 購入するアイテムまたはバンドルのオプションのSKU。購入するアイテムの一意の識別子。エクスペリエンス毎に100個までに制限される。
customFields Dictionary チャートの内訳を提供するカスタムフィールドのオプション。エクスペリエンス毎に3つのカスタムフィールドにわたる値の一意の組み合わせは8000個に制限される。

重要な箇所はflowTypeでSourceかSinkかを設定することと、transactionTypeでトランザクションを設定することです。

Analyticsの確認

Analyticsを確認するには、CreatorHub > Dashboard > Analytics > Economyを開きます。

前述でもありましたが、Economyイベントを追加後24時間経っていない場合はグラフは表示されません。
ViewEventsからイベントは正しく動作しているかは確認できます。

確認できるグラフは下記の種類です。

  • Total Sources and Sinks
    Source(獲得)の合計からSink(消費)の合計を引くと0に近づきます。純合計が増加している場合はSinkを追加する、減少している場合はSourceを追加するなどを行うことで、バランスをとることができます。

  • Average Wallet Balance
    ユーザー、支払者、非支払者が平均して保有するリソースの数を確認します。
    非支払者の残高が増加している場合は、Sink(消費)を追加することでバランスを保つことができます。

  • Top Item Sinks and Sources
    ユーザーがリソースを獲得および消費する場所を特定します。アプリ内購入からリソースを購入していない場合は価格を下げたり、新しいオプションを追加しましょう。

  • All Item Sources and Sinks
    全体およびカテゴリ別に上位のSource(獲得)およびSink(消費)を監視します。

これらのグラフは各グラフの右上から.csvとして書き出すことも可能です。

右上からダウンロードできる。

まとめ

  • CreatorHab > Dashboard > Analyticsからゲームを分析することが可能。
  • 独自でイベントを追加して、計測・追跡が可能。追加できるイベントは以下の通り。
    • EconomyEvents - 経済系のイベントの追跡
    • FunnelEvents - 進行状況系のイベントの追跡
    • CustomEvents(現在限定ベータ機能) - エクスペリエンスの固有の指標の追跡
  • Analyticsを追跡する際は制限があるので注意が必要。
  • Economyイベントを設定する際はAnalyticsService:LogEconomyEvent()を使用する。
  • CreatorHub > Dashboard > Analytics > Economy で追加したEconomyイベントのAnalyticsを確認できる。

今回はAnalyticsについて紹介しました。
HttpServiceや外部ツールを用いて追跡することもできると思いますが、公式のAnalyticsServiceを使用すると簡単に追跡できます。
今回は長いのでEconomyイベントに絞って紹介しましたが、次回はFunnelイベントについて紹介できればと思います。

ゲーム内の通貨を追跡して、ゲームのバランスを調整し快適なゲームを作成しましょう!!

参考

https://create.roblox.com/docs/production/analytics/event-types
https://create.roblox.com/docs/reference/engine/classes/AnalyticsService
https://create.roblox.com/docs/reference/engine/enums/AnalyticsEconomyTransactionType

ランド・ホー Roblox開発チーム

Discussion