1. 视频版讲解

事件分析基础功能讲解视频

事件分析高阶功能讲解视频

2. 事件分析概述

事件,是追踪或记录的用户行为或业务过程。举例来说,一个电商产品可能包含如下事件:用户注册、浏览商品、添加购物车、支付订单等。

事件分析,是指基于事件的指标统计、属性分组、条件筛选等功能的查询分析。借助于神策分析强大的筛选、分组和聚合能力,事件分析可以帮助回答以下问题:

  • 最近三个月来自哪个渠道的用户注册量最高?变化趋势如何?

  • 各个时段的人均充值金额是分别多少?

  • 上周来自北京的,发生过购买行为的独立用户数,按照年龄段的分布情况?

  • 每天的独立 Session 数是多少?

根据您的产品特性合理配置追踪事件和属性,可以激发出事件分析的强大潜能,回答关于变化趋势、维度对比的各种细分问题。

查看事件分析功能应用示例

3. 事件分析界面功能简介

  • 可以对一个指标进行分析,比如对『提交订单』的『触发用户数』。也可以再添加一个指标,同时对多个指标进行分析。

  • 对事件的『触发用户数』进行分析,还可以下载行为相关的用户详情,见下图。

3.1. 选择指标


3.1.1. 添加常规指标

在第一个下拉框中选择事件,在第二个下拉框中选择要分析的指标,点击可以添加多个指标。

对于所有事件,都可以分析如下指标:

  1. 总次数: 在选定时间范围内,该事件触发的次数。
  2. 触发用户数: 在选定时间范围内,触发该事件的独立用户数。
  3. 人均次数: 在选定时间范围内,独立用户触发该事件的平均次数。
  4. 预定义指标:只能在按天查询下使用,根据事件发生时间或选定时间范围进行汇总统计,稍后在自定义指标的使用示例中会详细介绍。

对于所有类型的属性,都可以将如下值作为分析指标:

  1. 去重数:在选定时间范围内,该属性出现的独立去重个数。

对于有数值型属性的事件,还可以将数值型属性作为分析指标:

  1. 总和: 在选定时间范围内,该属性的取值求和。
  2. 均值: 在选定时间范围内,该属性取值的算术平均值。
  3. 最大值: 在选定时间范围内,该属性取值的最大值。
  4. 最小值: 在选定时间范围内,该属性取值的最小值。

3.1.2. 添加自定义指标(搭配预定义指标实现分析场景)

对于某些特殊的分析场景,需要使用自定义指标来实现计算,从神策分析 2.1 开始,事件分析支持预定义指标作为分析指标,我们来列举两个例子

  1. 当天的活跃用户数占当月活跃用户数的比率,此场景下会将当前日期所在月份的活跃用户数作为分母参与计算;
  2. 当天的活跃用户数占选定时间范围的活跃用户数的比率,此场景下会将所选时间范围的总活跃用户数作为分母参与计算;

以上两个场景可以通过添加自定义指标来实现,首先添加一个自定义指标: 

即能进入自定义指标的初始界面: 

点击编辑框内任意位置,可以对自定义指标进行编辑:

  1. 选择需要添加的事件、配置事件度量、添加运算符(+、-、*、/、括号)、输入数值,通过四则运算来得到自己想要自定义指标表达式,如设置表达式为「提交订单的用户数」/「提交订单的当月用户数」;
  2. 表达式内的事件、事件度量、运算符均可以通过点击进行调整,比如下图可以点击运算符“+”,切换为其他运算符
  3. 点击事件度量右侧的筛选按钮配置,对事件增加筛选条件。
  4. 在设置好指标计算公式后,可以选择“百分比”、“两位小数”、“三位小数”、“取整”三种展现样式,默认为百分比设置;
  5. 可以自定义一个指标名,例如重命名为「提交订单 DAU/MAU」;
  6. 编辑完成后,直接点击编辑框外空白处,则自动校验表达式,如表达式正常,则自动保存表达式,如表达式不满足四则运算规则,则提示表达式异常,需修改正确后,才能保存应用自定义指标的查询。

3.2. 添加筛选条件

在 2.1 之前的事件分析中如果想要对男和女分别做出年龄段限制来查询,需要用两次查询来实现,本次更新中支持了两层的嵌套筛选可以直接进行查询

在需要用组合条件来筛选的属性后点击来增加嵌套筛选,设置完成后如下图:

本次更新也新增了一项筛选属性「事件发生时间」,可以按「时段区间」过滤,支持设置按小时(0-23)过滤


3.3. 按分组(维度)查看

按维度查看数据,可以进行更加精细化的分析。这里支持通过多个维度分析数据。

用法举例:

我们可以将提交订单的用户按国家、省份、城市来进行分组,以便对比不同地区的提交订单的用户数情况。



当用户分组的属性是数值类型时,可以自定义分组区间


如果这里选择的是时间类型,可以选择不聚合,按照时间单位分钟/天/小时等进行分组查看,也可以选择按照时间段汇总,例如,以『按天(日期)』汇总,查询会将当前时间段内的每月第几天的数据汇总到一起,会得到每月 1 号到每月 31 号的汇总数据,展示的注册时间属性的值为 1 ~ 31,含义为 1 日 ~ 31 日 的汇总数据,如果按分钟汇总,则结果为 0 ~ 59 。

如果没有设置,查询引擎会动态计算分组区间。此设置仅在当前查询生效,将查询保存为书签后在书签中也生效。


如果这里选择的是分群或者标签,需要选择分群或标签的数据结果。如果选择「最新结果」,则取最新的一版计算结果。如果选择「动态匹配」,则取事件发生日期和分群或标签的basetime一致的计算结果。如果选择「自定义」,则可以自己选择历史某一个计算结果。

注意:如果某一basetime的分群结果包含截至到昨天的用户,分群会在今日(T+1)计算,basetime会是今日,这时如果数据结果选择「动态匹配」时,会导致事件发生日期比分群中的用户行为日期晚一天。如果希望希望事件发生日期和分群的用户行为日期一致,可以通过分群选择包含今日的时间语义关系创建分群或标签。

3.4. 时间组件

3.4.1. 查询的时间粒度

可选择的数据聚合时间单位,例如选择查看数据的时间范围是 2020-09-10 日:

  1. 按分钟:按照分钟聚合,即查看 2020-09-10 日这一天每一分钟的数据,比如,2020-09-10 00:00的数据的查询时间范围为2020-09-10 00:00:00:000  到2020-09-10 00:00:59:999。0分到59分为一小时的60分钟,最多可展示 1 天的数据
  2. 按小时:按照小时聚合,即查看 2020-09-10 日这一天每一小时的数据,比如,2020-09-10 00:00的数据的查询时间范围为2020-09-10 00:00:00:000  到2020-09-10 00:59:59:999。0时到23时为一天的24小时。最多可展示 30 天的数据
  3. 按天:按天聚合,即查看 2020-09-10 日这一天的数据。
  4. 按周:按周聚合,即查看 2020-09-10 日这一天所在一整周的数据。
  5. 按月:按月聚合,即查看 2020-09-10 日这一天所在一整月的数据。

3.4.2. 静态时间和动态时间

静态时间下在快速选择区域选择时间范围与在日历框中选择起始日期,当保存至概览时会设置成固定时间,日期不会随着时间的推移而改变。

举例:

今天是 1 月 1 日,我们选择左侧的「今日」并创建概览,查询的数据是 1 月 1 日的,到了 1 月 2 日,这个概览的数据时间还会是 1 月 1 日。


动态时间下在快速选择区域选择时间范围与在日历框中选择起始日期,当保存至概览时会设置成动态时间,日期会随着时间的推移而改变。

举例:

今天是 1 月 1 日,我们选择左侧的「今日」并创建概览,查询的数据是 1 月 1 日的,到了 1 月 2 日,这个概览的数据时间会是 1 月 2 日。

3.4.3. 时间对比

支持选择「上一段时间」「去年同期」「自定义」做为对比日期。

举例:

上一段时间:

去年同期:

自定义:

不同的时间粒度下,其对比时间的精度如下:

  • 按分钟:精度到59秒999毫秒。eg. 今日 17时05分 对昨日 17时05分,则是 今日 17时05分00秒000毫秒到17时05分59秒999毫秒 的数据,对比 昨日 17时05分00秒000毫秒到17时05分59秒999毫秒 的数据
  • 按小时:精度到59分59秒999毫秒
  • 按天/周/月:精度到23时59分59秒999毫秒


3.5. 合计配置的切换

支持配置合计的计算方式,包括「快速总和」和「精准合计」,由于「快速总和」能提升查询速度,建议在没有精准合计的需求,比如无需看查询时间范围的用户数去重结果时,建议按照「快速总和」发起查询。

两种合计方式在部分指标上的口径差异详见:


3.6. 查询

3.6.1. 查询过程中支持取消查询

在已经发起查询的进程中,可以随时中断查询,可重新编辑查询条件或查看上一次已查询出的数据。

3.6.2. 查询完成后指标配置区自动收起

页面查询完成后,指标配置区会自动收起,更大面积展示出已经查询出来的数据。

        该功能可以通过右上角「自动收起」的开关开启或关闭

       

收起状态下支持显示已选择指标的配置详情。

在收起时,可以对时间粒度和时间筛选条件进行修改,快捷发起查询。

在想查看配置条件的同时对比图表数据,可以冻结收起区于页面顶端,仅图表区上下滑动。


3.7. 图表类型切换

可选择的图表类型:

  1. 线图
  2. 柱状图
  3. 饼图
  4. 累积图


3.7.1. 线图

所有的查询场景均支持线图预览。

3.7.2. 柱状图

所有的查询场景均支持柱状图预览。

  • 支持数值类型和百分比类型两种展示形式
  • 在多指标场景下,支持设置纵坐标轴和横坐标轴
  • 当选择了分组维度时,横坐标轴可切换来源。若选择”以分组维度组合为横坐标“时,将按照分组维度组合展示所选时间范围内的汇总数据。此时的指标数据仅支持以数值类型展示,不支持选择百分比。


3.7.3.  饼图

有分组的查询场景支持饼图预览。

查询中使用了预定义指标时不支持饼图预览。

3.7.4. 累积图

查询指标中只有总次数、总和时支持累积图预览。

查询中使用了预定义指标时不支持累积图预览。

3.8. 图表中的筛选

图表有四个维度支持筛选:

  1. 通过点击来选择需要在图中展示的指标
  2. 通过筛选调整展示的分组
  3. 通过选择 TopN 调整图中的线条数
  4. 通过图例的点击进一步调整图表中展示的项

3.9. 表格

在本次更新中重新设计了表格,表格可以将数据分层 / 平铺进行展示,表格所提供的分析能力更强了。

3.9.1. 分层展示

两个及以上分组的查询支持分层表格:

  • 分层表格下,仅有一个指标时,支持列占比开关
  • 分层表格的最后一层会有「子合计」,子合计是当前分组内的汇总结果
  • 分层表格支持整体数据的合计值。

3.9.2. 平铺展示

平铺下可以点击右上角的展开 / 收起日期切换行列,实现数据的按日期展开 / 按指标展开查看

  • 平铺下支持环比增长率展示:「环比增长率 = (本期指标值 - 上期指标值) / 上期指标值」

3.9.3. 导出数据 Excel

3.9.3.1. Excel 文件中的内容分类:

「汇总数据」对应的是表格按分层展示时的格式,不包含展开的每个日期的明细。

「明细数据」对应的是表格中的原始明细数据,支持通过该数据快速添加透视表。

「横向日期数据」对应的是表格横向日期展示时的数据。

「透视表」如果表格中数据支持生成透视表则出现此 Sheet ,生成透视表需要满足三个条件:

  1. 未开启时间对比。
  2. 查询条件中至少有一个分组。
  3. 查询条件中至少有一个有可用于在 Excel 透视表中进行后续计算的指标,例如:「总次数」「总和」「最大值」「最小值」。

3.9.3.2. 各场景下导出 Excel 文件格式

无分组、任意指标个数:

  • 导出 Excel 文件包含「汇总数据」+ 「明细数据」+「横向日期数据」。

一个或多个分组,指标中有非去重的计数型指标:

  • 导出 Excel 文件包含「汇总数据」+ 「明细数据」+ 「横向日期数据」+「透视表」。

一个或多个分组,指标中无非去重的计数型指标:

  • 导出 Excel 文件包含「汇总数据」+ 「明细数据」+ 「横向日期数据」。

3.10. 重置和切换计算精度

当已经配置了大量的条件后,需要重新配置新条件时操作比较繁琐,需要先删除已有配置,本次更新中我们提供了重置功能。

重置后会清空指标、分组、筛选条件,重新设置指标为「任意事件的总次数」,如果没有任意事件,则取事件列表中第一个事件的总次数,事件组件重置为按天,日期为最近一个有可用数据的日期。


事件分析可选择 “精确计算“和“近似计算”。近似计算只对和触发用户数相关的指标生效,包括触发用户数,人均次数和属性人均值,以及由以上三个指标组成的自定义查询。近似计算使用 HyperLogLog 算法,和精确计算比有 2% 的误差。使用近似计算能够加速查询。


3.11. 查看SQL

事件分析支持查看SQL,在出现数据问题需要排查时,用户可以复制查询SQL,去自定义查询做进一步排查。

注意:此功能为运维配置项,默认不开启,如有需求请联系神策工作人员。


4. FAQ

4.1. 查看 App 端数据,为什么今天查看昨天的数据和昨天查看当天的数据不同

答:App 端有缓存机制。

4.2. 分组过多,数据显示不完整

答:可以通过查询 API 获取完整数据。

4.3. 为什么分组和按总体查看的用户数不一致

答:以城市为例,同一个用户,在北京和上海两个城市浏览过同一个网页,如果按总体查看,数量为 1,如果按城市查看,北京和上海的用户中都会有这个用户。

4.4. 为什么合计值和每天相加的用户不一致

答:用户数有去重机制。

4.5. 为什么按天查看和按周查看数据不一致

答:按周查看,查看的是自然周的数据。