在 bigQuery 中检索指标
在 BigQuery 中檢索指標¶
- 您可以在這裡查看基本的 BigQuery 使用指南。
- 在輸入用戶參數並執行每個指標對應的示例查詢後,您可以檢查指標的數值。
- 通過將查詢結果連接到電子表格,可以使用圖表功能來可視化指標。
累積 AU、NU、NU 比率¶
- 在搜索期间的累积 AU、NU 和 NU 到 AU 比率。
- 输入与设置相对应的五个用户输入参数后,可以执行查询以验证数字。
- 用户输入参数
- yyyymmdd_1 : 搜索开始日期 (YYYY-MM-DD)
- yyyymmdd_2 : 搜索结束日期 (YYYY-MM-DD)
- timezone_offset : 时区设置 (基于 UTC 的时间偏移 - KST 为 -9)
- comapny_index : 公司编号
- Bigquery > 左上角的 explorer > 在 fluted-airline-109810 下的 dataset (analytics_company number_live)
- appIdGroup_1: 应用中心注册的 GameID
- 输入两个或更多时,
set appidGroup_1 = '"game1","game2"';
- 输入两个或更多时,
- 查询结果
- appIdGroup : 应用中心注册的 GameID
- yyyymmdd_period : 搜索期间
- au : 活跃用户数
- nu : 新用户数
- nu_rate : NU 到 AU 比率
- ( nu / au ) * 100
- 示例
- 用户输入参数
declare yyyymmdd_1 string ;
declare yyyymmdd_2 string ;
declare timezone_offset int64;
declare appIdGroup_1 string;
declare company_index int64;
declare dataset string default '';
declare query string default '';
set yyyymmdd_1 = '2023-07-01';
set yyyymmdd_2 = '2023-07-08';
set timezone_offset = 9 ;
set company_index = 5 ;
set appIdGroup_1 = '"com.sample.samplegametest"' ;
set dataset = 'analytics_' || company_index || '_live';
set query = format("""
with login_log as (
select appIdGroup, ifnull(playerId, vid) as playerId, newuser
from `fluted-airline-109810.%s.t_hive_login_log`
where datetime >= timestamp_sub(timestamp('%s'), interval %d hour)
and datetime < timestamp_add(timestamp_sub(timestamp('%s'), interval %d hour), INTERVAL 1 day)
and appIdGroup in (%s)
and ifnull(playerId, vid) <> 0
qualify row_number()over(partition by checksum order by bigqueryRegistTimestamp desc) = 1
)
select appIdGroup, concat('%s',' ~ ','%s') as yyyymmdd_period, count(distinct playerId) as au,
count(distinct case when newUser='Y' then playerId end) as nu,
round(safe_divide( count(distinct case when newUser='Y' then playerId end ),
count(distinct playerId))*100,2) as nu_rate
from login_log
group by appIdGroup,yyyymmdd_period
order by appIdGroup
""",
dataset, yyyymmdd_1, timezone_offset, yyyymmdd_2, timezone_offset, appIdGroup_1, yyyymmdd_1, yyyymmdd_2);
EXECUTE IMMEDIATE query;
黏性¶
- 平均每日DAU與搜索期間內平均AU的比率。
- 此頁面包含了關於黏著性的全面解釋。
-
在輸入對應於設置的五個用戶輸入參數後,可以執行查詢以驗證數字。 _ 用戶輸入參數 _ yyyymmdd*1 : 搜索開始日期 (YYYY-MM-DD)
- yyyymmdd*2 : 搜索結束日期 (YYYY-MM-DD)
- timezone*offset : 時區設置 (基於UTC的時間偏移 – KST為UTC-9)
- comapny*index : 公司編號
- Bigquery > 左上角的explorer > fluted-airline-109810下的數據集 (analytics*公司編號_live)
- appIdGroup*1: App Center註冊的GameID
- 當輸入兩個或更多時,
set appidGroup_1 = '"game1","game2"';
_ 查詢結果 _ appIdGroup : App Center註冊的GameID _ yyyymmdd_period : 搜索期間 _ avg*dau : 每日平均DAU - au : 活躍用戶數 _ stickiness : 黏著性 _ ( avg*dau / au ) * 100
-
範例查詢
declare yyyymmdd_1 string ;
declare yyyymmdd_2 string ;
declare timezone_offset int64;
declare appIdGroup_1 string;
declare company_index int64;
declare dataset string default '';
declare query string default '';
set yyyymmdd_1 = '2023-07-01';
set yyyymmdd_2 = '2023-07-31';
set timezone_offset = 9 ;
set company_index = 5 ;
set appIdGroup_1 = '"com.sample.samplegametest"' ;
set dataset = 'analytics_' || company_index || '_live';
set query = format("""
with login_log as (
select appIdGroup, datetime, substr(cast(timestamp_add(dateTime, interval %d hour) as string), 1,10) as yyyymmdd, ifnull(playerId, vid) as playerId
from `fluted-airline-109810.%s.t_hive_login_log`
where datetime >= timestamp_sub(timestamp('%s'), interval %d hour)
and datetime < timestamp_add(timestamp_sub(timestamp('%s'), interval %d hour), INTERVAL 1 day)
and appIdGroup in (%s)
and ifnull(playerId, vid) <> 0
qualify row_number()over(partition by checksum order by bigqueryRegistTimestamp desc) = 1
)
select appIdGroup, concat('%s', ' ~ ', '%s') as yyyymmdd_period, round(avg_dau,2) as avg_dau, au, ifnull(round(safe_divide(avg_dau, au)*100, 2), 0) as stickiness
from
(
select appIdGroup, au, avg(dau) as avg_dau
from
(
select appIdGroup, yyyymmdd, count(distinct playerId) over(partition by appIdGroup, yyyymmdd ) as dau,count(distinct playerId) over(partition by appIdGroup) as au
from login_log
)
group by appIdGroup, au
)
""",
timezone_offset, dataset, yyyymmdd_1, timezone_offset, yyyymmdd_2, timezone_offset, appIdGroup_1, yyyymmdd_1, yyyymmdd_2);
EXECUTE IMMEDIATE query;