跳转至

在 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: App Center 注册的 GameID
        • 输入两个或更多时,set appidGroup_1 = '"game1","game2"';
    • 查询结果
      • appIdGroup : App Center 注册的 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下的dataset(analytics*公司编号_live)
    • appIdGroup*1: 应用中心注册的GameID
    • 当输入两个或更多时,set appidGroup_1 = '"game1","game2"'; _ 查询结果 _ appIdGroup : 应用中心注册的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;