← 返回博客列表博客

通过多次运算构建所需指标

Hive Analytics · 2026年10月13日 · 阅读约 4 分钟

在 Hive Analytics 图表中,可以对事件与属性应用一次运算得到度量值,再通过二次运算对各时间间隔的结果重新计算最大值、最小值、平均值或最新值。借助这一方式,可以在图表中构建月度日均 AU、今日最高同时在线人数等单次聚合难以得到的指标。

单次聚合难以看清的游戏指标

游戏中会持续产生登录、购买、内容游玩等各类事件。统计所选事件的发生次数,或计算属性值的去重数量、总和、平均值等,就能得到购买笔数、登录用户数、总收入这类可以直接从事件与属性计算出的基础指标。

但并不是所有分析问题都只用一种聚合方式就能回答。例如,同时在线人数会随时间不断变化,仅凭一个数值很难把握一整天的登录走势。先用 COUNT DISTINCT 每 2 分钟统计一次登录用户,就能看到每个 2 分钟区间的同时在线人数。如果要找出一天中最高的同时在线人数,可以对按 2 分钟计算出的结果应用 MAX,汇总为当天的最高同时在线人数。由此可见,需要根据要分析的指标,同时设置事件与属性、计算的时间间隔以及运算步骤。

Hive Analytics 的图表运算与二次运算

在 Hive Analytics 的图表中,可以选择事件、属性和运算方式,构建分析所需的度量值。一次运算方式决定按什么口径计算所选的事件或属性值。

一次运算方式

一次运算方式适用属性类型含义
COUNT字符型、数值型计算事件发生的总次数。
COUNT DISTINCT字符型、数值型计算去重后不同属性值的个数。
SUM数值型计算所有属性值相加的总和。
AVG数值型计算属性值的平均值。
MIN数值型取属性值中的最小值。
MAX数值型取属性值中的最大值。
MAX BY数值型取最近或最后的状态值。

在此基础上应用二次运算,可以将按固定时间间隔计算的一次运算结果再次计算,以日、周、月等周期单位查看。先设置执行一次运算的时间单位和间隔,再根据分析目的选择二次运算方式。

二次运算方式

二次运算方式含义
MAX取各间隔一次运算结果中的最大值。
MIN取各间隔一次运算结果中的最小值。
AVG计算各间隔一次运算结果的平均值。
LAST取各间隔一次运算结果中的最新值。

二次运算中设置的时间单位和间隔,是执行一次运算的基准。Settings(设置)标签页中的周期,则是将各间隔的一次运算结果再次汇总、作为最终结果展示的单位。根据所选的二次运算方式,可以查看各间隔结果的最大值、最小值、平均值或最新值。

例如,将图表周期设为按月,只对 app_login 事件的 userId 应用 COUNT DISTINCT,就能得到将一个月内登录的用户去重统计后的月活跃用户数。在相同条件下,将一次运算单位设为日、二次运算方式设为 AVG,就会按月显示每日计算的活跃用户数(AU)的平均值。这样就能根据目的,构建月度 AU 与月度日均 AU 这类计算口径不同的指标。

对 app_login 事件的 userId 设置 COUNT DISTINCT 一次运算和按日 AVG 二次运算的图表运算界面
对每日 AU 应用 AVG 二次运算,即可查看月度日均 AU。

查看各时段的同时在线人数与最大值

要了解游戏的登录规模,先将图表周期设为按日、日期设为今天。选择 app_session_maintain 事件的 userId,应用 COUNT DISTINCT 运算和 2 分钟间隔,就能每 2 分钟去重统计一次今天登录的用户数。

参考
app_session_maintain 是登录后客户端运行期间每 2 分钟触发一次的事件,可用于构建同时在线人数、会话数、游玩时长等指标。但如果在 Hive 控制台中启用了最小化网络通信功能,同时在线信息将不会发送,因此分析前需要确认该设置和事件的采集情况。

对 app_session_maintain 事件的 userId 应用 COUNT DISTINCT 运算,显示各时段同时在线人数的图表
通过 COUNT DISTINCT 运算,可以查看每 2 分钟同时在线人数的变化。

如果还要同时查看今天的最高数值,就在相同的事件和一次运算口径上添加二次运算。将时间单位指定为分钟、间隔指定为 2 分钟,并选择 MAX 作为二次运算方式。将图表周期设为按日、日期设为今天后,每 2 分钟同时在线人数中的最大值,就会显示为截至查询时点的最高同时在线人数。

对每 2 分钟同时在线人数应用 MAX 二次运算,显示最高同时在线人数的记分卡图表
对每 2 分钟的运算结果应用 MAX,即可查看今天截至查询时点的最高同时在线人数。

将两张图表一起放到仪表板中,就能在同一个界面查看今天截至查询时点的最高同时在线人数,以及每 2 分钟的详细变化。通过最大值掌握目前为止的最高在线规模,再在每 2 分钟的图表中具体查看最高值出现的时段及其前后的登录走势。

将最高同时在线人数记分卡与各时段同时在线人数折线图组合在一起的仪表板
在仪表板中,可以在同一个界面查看今天截至查询时点的最高同时在线人数与各时段的详细变化。

开始使用 Hive Analytics

如上所述,可以对事件与属性应用一次运算构建所需的度量值,再通过二次运算查看各时间间隔结果的最大值、最小值、平均值或最新值。这样就能同时观察各时段的细节变化和代表整个周期的数值。

Hive Analytics 是一款面向游戏的专业分析解决方案,可以在图表中分析通过 Hive SDK 采集的游戏事件。现在就在 Hive Analytics 中对游戏事件应用一次运算和二次运算,用图表构建符合分析目的的指标吧。