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