# 事件分析
# 一、事件分析的意义
用户(USER)在 APP 或游戏中产生的行为数据被称为事件(EVENT),事件数据记录了用户产生各种行为的时间、行为的类型以及行为的详细信息。对这些事件数据进行筛选或分组,最终计算聚合指标的模型称为事件分析模型。
通过事件分析,可以计算一段时间内用户产生特定行为的聚合指标,了解各行为的用户参与情况以及指标的发展趋势,从而对产品获得宏观把控,优化决策。
以消费事件举例来说,可以解决如下问题:
- 最近一月每日收入流水情况趋势?
- 最近一月来各渠道的每日收入流水与分布情况?
- 来自上海的用户,最近一月人均付费金额的趋势?
- 来自上海和北京的用户,最近一月在购买会员卡上的总付费次数对比情况?
# 二、事件分析的位置和适用角色
在顶部导航栏中的“行为分析”中选择“事件分析”,即可进入事件分析模型:
公司超管 | 管理员 | 分析师 | 普通成员 | |
---|---|---|---|---|
事件分析模型 | ● | ● | ▲ | △ |
权限说明:
● 角色必有
▲ 角色默认有,可以没有
△ 角色默认没有,可以有
○ 角色必没有
# 三、事件分析的使用方法
# 3.1 分析指标的选择
分析指标即 「事件」 + 「属性」 + 「计算方法」 或直接 「事件」 + 「计算方法」:
事件 | 属性 | 计算方法 |
---|---|---|
任意事件 | 总次数、触发用户数、人均次数 | |
事件 | 总次数、触发用户数、人均次数 | |
事件 | 事件属性(数值型) | 总和、均值、最大值、最小值、人均值、去重数、方差、标准差、99分位数、95分位数、90分位数、80分位数、75分位数、70分位数、60分位数、40分位数、30分位数、25分位数、20分位数、10分位数、5分位数 |
事件 | 事件属性(列表型) | 列表去重数、列表元素去重数 |
事件 | 事件属性(布尔型) | 去重数、为真数、为假数、为空数、不为空数 |
事件 | 事件属性(非数值、布尔型) | 去重数 |
如:任意事件的触发用户数、购买商品的人均次数、购买商品的用户平均 VIP 等级、购买商品使用 WIFI 为真数、购买商品的用户省份的去重数。
在选择事件时,可以通过右上角切换事件分组,还可点击“管理事件分组”按钮创建或修改
# 3.1.1 添加公式
如果需要进行分析指标间的一些四则运算,可以通过“添加公式”来实现。如分析 ARPU 值(活跃用户的人均付费金额)可以用“付费事件.付费金额.总和” / “用户登录.触发用户数”
除了“添加公式”,还可以在指标上选择“切换为自定义公式”,已选择的分析指标和筛选条件都将带入到公式中
# 3.1.2 添加多个指标
可以通过“添加指标”对多个分析指标同时进行分析,实现某些对比和展示需求,如下图:
# 3.1.3 进阶分析指标
- 当选择的计算方法是触发用户数、人均次数、人均值时,并且该项目有配置过自定义分析主体时,可以切换分析主体,选择的分析主体会影响指标计算逻辑
计算方法 | 计算逻辑 |
---|---|
触发用户数 | 所选分析主体的去重数 |
人均次数 | 总次数 / 所选分析主体的去重数 |
人均值 | 数值型属性的总和 / 所选分析主体的去重数 |
注意
如果自定义分析主体来源是事件属性,且事件下不包含该事件属性,则该分析主体将不可被选择
- 扩展时间范围
点击扩展时间范围,可将指标计算的数据范围进行扩展,此时分析粒度将锁定为“按天”不可调整
举例来说,“2021-12-13 的充值事件的过去 7 天的总次数”,对应的实际上是“2021-12-06~2021-12-12 的充值事件的总次数”,即在图表和表格内显示为 2021-12-13,但实际数据范围会大于这个日期
# 3.2 分组项的选择
分组项可根据用户属性、事件属性、用户分群或用户标签进行:
事件描述 | 分组角度 |
---|---|
任意事件 | 不分组、所有事件共有的事件属性、用户属性、用户分群、用户标签 |
事件 | 不分组、事件属性、用户属性、用户分群、用户标签 |
如:选择分析指标为“付费事件的付费金额的总和”,选择分组角度为“来源渠道”,即可分析各渠道的付费总额。
# 3.2.1 设置指定分组条件
可通过组合筛选条件设置出“指定分组”,如上述案例中,如果在筛选条件中选择“城市”等于“上海市、北京市”,则可以分析“上海、北京两地充值事件各自的付费金额总和”,如下图:
# 3.2.2 设置多重分组
可通过选择多重分组条件将用户分组拆分成更细的维度,如上述案例中,如果选择分组项为“城市”、“性别”,则可以分析“成都市、男”、“成都市、女”、“北京市、男”、“北京市、女”等各人群的“付费事件各自的付费金额总和”。
# 3.2.3 设置“事件拆分”
“分组项”的设置对分析对象中所有事件进行分组,“事件拆分”解决只需对分析对象中某一事件进行分组统计的需求。
在事件分析中,添加两个及以上分析对象或选择“添加公式”时,在分组项右侧可选择设置“事件拆分”:
点击“事件拆分”,可选择对分析指标中的某一事件(任意事件除外)按照事件属性进行拆分计算。
如下图,选择对参与活动按照活动类型进行拆分计算,分析指标 1 即为计算不同活动类型的活动参与率。
选择事件拆分之后,可在分析指标中点击拆分图标,设置事件参与拆分的状态。
如下图,公式中的指标参与拆分,非公式指标不参与拆分,即为计算活动的总参与次数以及不同活动类型的参与率。
# 3.2.4 设定分组方式
对于数值型、时间型、列表型属性,在作为分组项时可以设定分组方式
# 3.2.4.1 数值型属性
分组方式 | 计算逻辑 |
---|---|
默认区间(默认) | 根据实际数据的最大值、最小值自动进行区间划分 |
离散数字 | 以实际数值作为分组 |
自定义区间 | 自定义每个区间的范围,区间左闭右开 |
# 3.2.4.2 时间型属性
分组方式(概括) | 分组方式(具体) | 计算逻辑 |
---|---|---|
汇总 | 按天(默认) | 同一天的数据将会汇总到一起 |
按分钟 | 同一分钟的数据将会汇总到一起 | |
按小时 | 同一小时的数据将会汇总到一起 | |
按周 | 同一周的数据将会汇总到一起,周起始日默认为周一,会受分析时段里周起始日设置影响 | |
按月 | 同一月的数据将会汇总到一起 | |
按季 | 同一季度的数据将会汇总到一起 | |
按年 | 同一年的数据将会汇总到一起 | |
不汇总 | 不汇总 | 按毫秒级展示用户选择的指标对应的数据明细列表 |
# 3.2.4.3 列表型属性
分组方式 | 计算逻辑 |
---|---|
按元素(默认) | 将每个列表拆分成多个元素,一次事件将被拆分为多个元素下的分组 |
按列表整体 | 将列表作为一个整体,类似字符串来看待 |
按元素集合 | 和按列表整体区别在于,元素相同但排序不同的列表也会汇总到一个分组 |
如果选择的分组方式是「按元素」
- 对于单分组处理:每个符合条件的列表在各个列表元素下都进行计算
- 对于多分组处理(列表+其他类型):每个符合条件的列表在各个列表元素下都进行扩充计算
注意:分组项中两个列表类型属性中只能有一个的分组方式是按元素,除非其中一个是另一个的维度表
# 3.3 筛选条件的选择
通过分析指标的“指标筛选”可选出符合某些特征的事件或用户进行分析,V3.2.1 及以上版本支持筛选条件的两层逻辑嵌套:
点击“添加并列条件”,可在当前条件下增加一层筛选嵌套:
筛选条件结构:
D1【筛选条件间逻辑】
D2【筛选项目】
D3【筛选逻辑】
# 3.3.1 筛选项目规则
分析指标 | 筛选项目 |
---|---|
事件 | 事件下的事件属性、所有用户属性、所有用户分群、所有用户标签 |
任意事件 | 所有事件共有的事件属性、所有用户属性、所有用户分群、所有用户标签 |
当筛选项目选择“用户分群”时,可选择“属于分群”或“不属于分群”
# 3.3.2 筛选项目与筛选逻辑间关系
筛选项目的数据类型 | 举例 | 可支持的筛选逻辑关键字 |
---|---|---|
数值 | 消费金额 | 等于、不等于、小于、小于等于、大于、大于等于、有值、无值、区间 |
文本 | 省份 | 等于、不等于、包含、不包含、有值、无值、正则匹配 |
列表 | ID 名单 | 存在元素、不存在元素、元素位置、有值、无值 |
时间 | 注册时间、最后活跃日期(yyyy-MM-dd HH:mm:ss.SSS 或 yyyy-MM-dd HH:mm:ss) | 位于区间、小于等于、大于等于、相对当前日期、相对事件发生时刻、有值、无值 |
布尔 | Wifi 使用 | 为真、为假、有值、无值 |
对象 | 玩家资源快照 | 有值、无值 |
对象组 | 出征阵容 | 存在对象满足、没有对象满足、全部对象满足、有值、无值 |
# 3.3.2.1 数值型属性筛选
- 等于:可选择多个设定值,等于其中任意一个均视为符合筛选条件
- 不等于:可选择多个设定值,该属性有值且不等于其中任意一个视为符合筛选条件
- 小于:小于设定值视为符合筛选条件
- 小于等于:小于或者等于设定值均视为符合筛选条件
- 大于:大于设定值视为符合筛选条件
- 大于等于:大于或者等于设定值均视为符合筛选条件
- 有值:该属性有值视为符合筛选条件
- 无值:该属性为 null 视为符合筛选条件
- 区间:设定值为一个左闭右闭的数值区间,属性值在区间范围内视为符合筛选条件
# 3.3.2.2 文本型属性筛选
- 等于:可选择多个设定值,等于其中任意一个均视为符合筛选条件
- 不等于:可选择多个设定值,该属性有值且不等于其中任意一个视为符合筛选条件
- 包括:在属性值的整个字符串内设定值有出现过视为符合筛选条件
- 不包括:在属性值的整个字符串内设定值没有出现过视为符合筛选条件
- 有值:该属性有值视为符合筛选条件
- 无值:该属性为 null 视为符合筛选条件
- 正则匹配:属性值满足正则表达式的内容视为符合筛选条件
- 正则不匹配:属性值不满足正则表达式的内容视为符合筛选条件
# 3.3.2.3 列表型属性筛选
- 存在元素:可选择多个设定值,列表内有任意一个元素等于设定值中任意一个均视为符合筛选条件
- 不存在元素:可选择多个设定值,列表内没有一个元素等于设定值中任意一个视为符合筛选条件
- 位于第 X 项的元素:提取位于第 X 项的元素(作为文本类型属性),并对该元素使用文本类型属性所适用的筛选条件
- 有值:该属性有值视为符合筛选条件
- 无值:该属性为 null 视为符合筛选条件
# 3.3.2.4 时间型属性筛选
- 位于区间:可选择开始时间和结束时间生成时间区间,属性值在时间区间内视为符合筛选条件
- 小于等于:可选择一个时间点,属性值不晚于选择的时间点视为符合筛选条件
- 大于等于:可选择一个时间点,属性值不早于选择的时间点视为符合筛选条件
- 相对当前日期:以属性值距离查询时的日期的自然日数量作为评判标准
- 过去:数字输入框可输入整数,过去 0 天的含义为今天,过去 1 天的含义为昨天
- 区间:数字输入框可输入整数,正数代表之后,负数代表之前
- 相对事件发生时刻:主下拉框有“区间、当天、当周、当月” 4 种选项
- 区间:可输入数字为带正负号的整数,正数代表之后,负号代表之前,0 代表相等;单位可以选择“天(相对)”、“小时”、“分钟”,“天(相对)”是折算成 24 小时,而非自然日。假设事件发生时刻为某年 8 月 2 日 5:06,之前一天内即“ 8 月 1 日 5:06 ~ 事件时间( 8 月 2 日 5:06 ) ”,之后一天内即“事件时间( 8 月 2 日 5:06 ) ~ 8 月 3 日 5:06”,前后一天即“ 8 月 1 日 5:06 ~ 8 月 3 日 5:06”
- 当天:属性值和事件发生时刻是在同一天内
- 当周:属性值和事件发生时刻是在同一周内
- 当月:属性值和事件发生时刻是在同一月内
- 有值:该属性有值视为符合筛选条件
- 无值:该属性为 null 视为符合筛选条件
注意
- 时间型事件属性,会按照模型当前选择的时区进行偏移后再根据筛选逻辑进行比较
- 时间型用户属性或用户标签,不会进行偏移
- 相对事件发生时刻,也是相对时区偏移后的事件发生时刻(#event_time)
# 3.3.2.5 布尔型属性筛选
- 为真:该属性为 True 视为符合筛选条件
- 为假:该属性为 False 视为符合筛选条件
- 有值:该属性有值视为符合筛选条件
- 无值:该属性为 null 视为符合筛选条件
# 3.3.2.6 对象型属性筛选
- 有值:该属性有值视为符合筛选条件
- 无值:该属性为 null 视为符合筛选条件
# 3.3.2.7 对象组型属性筛选
- 存在对象满足:该对象组内有任意一个对象满足设定的条件视为符合筛选条件
- 没有对象满足:该对象组内没有任意一个对象满足设定的条件视为符合筛选条件
- 全部对象满足:该对象组内所有对象均满足设定的条件视为符合筛选条件
- 有值:该属性有值视为符合筛选条件
- 无值:该属性为 null 视为符合筛选条件
存在对象满足/没有对象满足/全部对象满足需额外设置筛选条件,可针对对象组内每个子属性添加条件,每个子属性可用的条件和其属性类型有关;筛选条件间,可选择“且”/“或”两种关系
# 3.3.3 多筛选条件时,设置筛选条件间逻辑
D1【筛选条件间逻辑】在筛选条件大于等于两项时出现,默认为“且”,可点击切换为“或”,以适应不同应用场景,可设置最多两层筛选条件。
# 3.4 报表的设置、展示、下载与保存
当“分析角度设置区”选择完全后,点击“开始计算”,即可在“图表展示区”展示出图表结果。
# 3.4.1 展示筛选区的设置
# 3.4.1.1 分析时段与分析粒度
(1)分析粒度
默认分析时间粒度为“按天”,支持的时间粒度包括:按天、按分钟(1 分钟、5 分钟、10 分钟)、按小时、按周、按月、按季、按年、合计
(2)分析时段
默认分析时段选项为“过去 7 天”,点击后会弹出日期选择器,可选择任意时间
- 快捷选项:左侧提供了部分快捷选项,可方便选择,包括:昨日、今日、上周、本周、上月、本月、过去 7 天、最近 7 天、过去 30 天、最近 30 天、自某日至昨日、自某日至今
- 自定义:为了满足自定义时间范围的需要,可在右侧自定义开始时间和结束时间,支持静态时间/动态时间两种,可在日历上点击或在输入框中直接输入
- 静态时间:选择具体的日期,不会随当前日期变化,如 2022-05-10
- 动态时间:选择“当前日期”的相对时间范围,会随当前日期变化;如“7 天前”,当 05-10 查看时对应 05-03,05-11 查看时对应 05-04
注意
当结束时间为“静态时间”时,开始时间也仅能使用“静态时间”
为了防止数据量过大,在下面的分析粒度下会对分析时段进行限制
- 选择按分钟(1 分钟):最多只计算时间选框距离最后一个自然天的数据(1440 个点),如选框达一个完整天但包含今天则可能少于 1440 个点。
- 选择按分钟(5 分钟):最多只计算 7 天的数据(2016 个点)
- 选择按分钟(10 分钟):最多只计算 14 天的数据(2016 个点)
- 选择按小时:最多只计算 31 天的数据(720 个点),如选框达 30 天但包含今天则可能略少于 720 个点。
# 3.4.1.2 显示分析指标与显示分组
即选择需要在图表中即时呈现的分析内容:
显示分析对象:默认显示所有分析对象,最多 10 项,可在复选框中修改需要分析的对象。
显示分组:可在复选框中修改需要分析的分组。无排序时,选项的排序逻辑为图表中该图例的总值按分析对象之和从大到小排序;有排序时,选项的排序逻辑与当前设置的排序规则一致。
# 3.4.1.3 图表分组的排序
单个指标的分组>=2 时,展示排序按钮,针对分组提供以下四种排序方式:
a.数据量少 → 多:按指标值升序排列
b.数据量多 → 少:按指标值降序排列,为系统默认排序
c.分组项 A→Z:按分组名的字典序正序排列,如果是数值则从小到大排序
d.分组项 Z→A:按分组名的字典序降序排列,如果是数值则从大到小排序
切换排序时,分组列表的展示顺序同步更新,始终与当前排序设置保持一致。
若未自定义勾选显示分组,则每次切换排序时默认勾选当前排序下的 top N 项(N 为当前设置的显示条数);如有自定义勾选分组,则切换排序后保持之前的勾选项不变。
排序功能仅对事件分析(饼图以外的图表),以及属性分析生效,在属性分析中排序的对象为横坐标轴的分组,且不影响分组列表中选项的展示顺序。
# 3.4.1.4 图表样式的选择
默认展示趋势折线图,可切换按照累计图、分布图等图表类型展示。V3.6 版本起,在“趋势图”下,可进行指标展示设置,选择指标的图表类型和是否在次轴展示。使用场景如同时分析“充值金额”和“充值率”,可将充值率设置在次轴展示,即可在同一坐标轴下观察不同量级指标的数据表现。
# 3.4.2 报表内容的展示与下载
# 3.4.2.1 图表区展示
图表标题会展示分析对象的展示名信息。
图例部分会按照分析对象、分组组合而成的总图例个数依次展示图例。
展示数据将按照分析时段与分析粒度、分析对象与显示分组、图表样式共同决定及呈现。
折线趋势图的展示:
柱状分布图的展示:
分组数量过多时,图表底部展示缩放滑动条,可调整查看范围
在折线图和柱状图中,可以选择“显示数值”,打开后会在图上展示指标对应的实际数值
# 3.4.2.2 对分组项的搜索
可以对分组项进行筛选,如按省份进行分组的时候可以搜索“北京”
当按照多个分组进行查看时(最多 3 个),也可以通过“不限”进行搜索
# 3.4.2.3 表格区展示与下载数据
a.表格区的展示数据不随展示筛选区的变化而改变。
b.时间粒度的拆分方法与分析粒度一致。
c.当分指标粒度较多时,可向右滑动展示更多内容。
d.需要对行和列进行调换时,可切换“按时间”、“按事件”、和有分组项时的“按分组”三种视图查看。
e. 系统会自动为各个指标求“阶段汇总”,展示该指标在分析时段内的结果总和、均值、或合计,可进入“阶段值配置”调整默认逻辑或设置是否展示阶段值。合计适用于计算人数去重、阶段内人均付费金额(总付费金额/付费人数去重)等指标。
f. 为方便阅读,结果默认以“合并”表头展示,如需取消合并,可选择表格“平铺”展示。
d.合并状态下,可对指定的列进行排序;平铺状态下,可对多列进行排序,调整前置列的排序会清空后置列的排序。
# 3.4.3 时间对比功能
# 3.4.3.1 日期对比选项的选择
仅事件分析支持,在分析时段选项右侧有个 icon,点击后出现对比时段的选项,可以选择需要的对比日期;默认选择方式为“上一阶段”,当选择“上一阶段”时会按照动态或静态时间直接给到对应的日期,如果原始日期进行调整,对比日期会随之调整
注意:当原始日期选择快捷选项里的“本周”、“上周”、“本月”、“上月”时,选择了“上一阶段”的对比日期会变成动态时间的“上周”、“上上周”、“上月”、“上上月”
除了“上一阶段”,还可以单独设置对比日期的日期范围
# 3.4.3.2 日期对比对于事件分析的影响
(1) 日期对比对于图表的影响
有日期对比时,只能选择趋势图或分布图或累计图。如果从其他图表类型切换,默认切换趋势图。
(2) 趋势图
A.对比日期项使用虚线表示,与原始日期共用一个图例,图例名称不变
B.时间轴用两行显示两组时间,原始日期在上
c 鼠标移入可查看两组时间下的数据
(3)分布图
# 3.4.3.3 日期对比对于表格的展示
以多分析对象、多分组条件为例,说明展示状态下增加日期对比后的展示方式。
# 3.4.3.4 日期对比在看板中的影响
原始日期下的分组数据将以实线表示,对比日期下的分组数据将以虚线表示。时间线上将有原始日期和对比日期两个坐标轴。
# 3.4.4 事件明细内容的查询下载
# 3.4.4.1 分析事件的总次数时,表格增加详情选项
选择分析事件的总次数,用户可以通过点击表格中的链接进入事件详情
要记录分析指标的条件、分析的时间段(注意时间对比功能)、分析时间点
# 3.4.4.2 记录数
并且记录加载的条数(最多展示 1000 条,可以通过数据下载功能下载最多 500000 数据)
# 3.4.4.3 表格筛选条件
可以对事件包含的事件属性进行筛选,选择展示和下载时需要的属性
# 3.4.5 报表的保存
可查看报表管理一章获得更多信息
【确认分析】过数据分析模型的内容后,可对报表进行保存,以方便之后在数据看板中进行配置和查看。
保存时,需要输入【报表名称】、【报表介绍】、并可将报表快捷保存入某个已有【数据看板】,以方便日常查看。
保存完后,可在事件分析的报表管理中,编辑修改报表。
# 四、最佳实践
# 4.1 了解各行为的基础指标
事件分析可以覆盖绝大多数聚合指标的计算,包括某行为的参与人数、次数、人均次数,以及该行为数值类型属性的聚合值。通过这些事件分析的聚合指标,能够对该行为的参与情况有一个基本的认识。比如说一个活动的整体参与情况,我们可以通过事件分析计算出该活动的参与人数、次数以及参与率,获知这些指标的变化趋势与分布情况。通过上述分析,我们可以对活动的基础情况有一个宏观的认识,接下来可以在此基础上进行更深入的下钻,或者在其他分析模型中了解更深入的指标。