跳轉至

在 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;