事件分析

最后更新于:2018-12-10 13:00:36

1. 事件分析概述

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

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

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

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

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

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

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

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

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

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

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

2.1 选择分析方式

在 1.6 版本增加了 Session 分析功能,第一次进行 Session 分析之前,首先需要在“元数据”的“Session管理”里创建 Session。这里对 Session 的相关概念进行说明,见下图:

在 a 处选择已经创建的 Session。在 b 处选择此 Session 中的事件,选择“Session总体”可以对 Session 整体情况进行分析。在 b 处选择事件,则 c 中对应的指标也会发生变化。在 c 中选择具体指标,除一些通用指标外,还包含 b 处所选事件的属性的指标。d 处圈红的是 “Session 属性”,每个 Session 内首次触发事件的属性的并集。下边对几个主要概念进行说明:

  1. 跳出率: Session 中事件发生次数为 1 的 Session 个数除以总 Session 数。比如有三个 Session,第一个 Session 事件序列为 A,B;第二个 Session 事件序列为 A;第三个 Session 事件序列为 A,C,B;则 Session 总体的跳出率为 1/3。
  2. 退出率: Session 的退出率包括 Session 中某个事件的退出率 和 Session中任意事件的退出率。某个事件的退出率指该事件作为 Session 的结束事件的次数除以该事件发生次数,任意事件退出率指 Session 数除以 Session 中所有事件发生次数。比如有三个 Session,第一个 Session 事件序列为A,B;第二个 Session 事件序列为A;第三个 Session 事件序列为A,C,A;则 Session 中A事件的退出率为 2/4, 任意事件的退出率为 3/6。
  3. Session 时长: Session 内最后一个事件触发的时间减去 Session 内第一个事件触发的时间。
  4. Session 深度: Session 内触发事件的次数。
  5. Session 内事件时长: 假如某 Session 内事件触发顺序为 a > b > c > d,则事件 a 的时长为 b 减去 a,事件 d 的时长未知。
  6. Session 初始事件: Session 内第一次触发的事件。
  7. Session 属性: d 处的 Session 属性是指一个 Session 中初始事件的属性。比如一个 Session 的事件序列为 A,B,C;A 事件的操作系统为 iOS,B 事件的操作系统为 Android,C 事件的操作系统为空,则这个 Session 中的 Session 属性操作系统应该是 iOS,是第一个事件对应的操作系统属性值。

如果您想了解 Session 的定义、使用等内容,可阅读神策博客文章《如何应用 Sensors Analytics 进行 Session 分析》

2.2 选择指标

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

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

  1. 总次数: 在选定时间范围内,该事件触发的次数。
  2. 触发用户数: 在选定时间范围内,触发该事件的独立用户数。
  3. 人均次数: 在选定时间范围内,独立用户触发该事件的平均次数。

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

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

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

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

特别的,在神策分析 1.5 版本里面,我们推出了“自定义指标”功能,通过点击指标前面的切换按钮: 即能进入自定义指标的编辑界面:

在这里,可以做如下的一些操作:

  1. 在输入框 A 里面,可以输入自定义指标的描绘公式,支持常规指标、常数之间的四则运算;
  2. 在输入框 B 里面,可以对自定义指标进行命名;
  3. 在下拉框 C 里面,可以选择“百分比”、“两位小数”、“取整”三种展现样式;
  4. 点击按钮 D,可以保存这个自定义指标。 说明:如果选择的事件是虚拟事件,表达式中的虚拟事件名需要添加英文单引号引入;

2.3 添加事件

如果要对多个事件的指标进行分析,点击左侧的加号可以添加事件。

1.6.5版本中增加了事件标签功能。事件非常多时,可以通过“标签选择”来筛选事件,以便快速找到事件。在使用事件的标签之前,需要“元数据”中给事件打标签。

在 Sensors Analytics 中任何选择事件的地方,都可以通过这种方式来选择事件。

2.4 按分组(维度)查看

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

用法举例:

某产品近期通过不同渠道进行了推广,新用户量大增。通过查询“注册”事件的“触发用户数”,并“按照渠道分组”,可以对比不同渠道带来的增长效果。

当分组数大于 10 个时,图表会默认展示在最近一个时间单位内数值最大的 10 个分组。同时查看多个指标时,默认优先展示指标。

如果这里选择的属性是数字类型,可以自定义分组区间。

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

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

2.5 增加筛选条件

通过添加筛选条件,可以精细化查看符合某些具体条件的事件数据。

点击“+筛选条件”,从下拉属性列表中选择需要针对其筛选的属性。

你可以通过3个类型的属性来进行筛选:

  1. 事件的通用属性: 当使用 Sensors Analytics SDK 时,这些是默认会被记录的事件属性。
  2. 事件的自定义属性: 在追踪事件时,你所自定义的有关该事件的特定属性。
  3. 用户属性: 代表用户自身特质的一些属性。包括预定义属性和自定义属性。

根据不同的属性的数据类型(文本、数值、日期时间、布尔、集合等),提供不同的筛选逻辑操作,如下图所示:

当添加了多条筛选条件时,用户可以点击下图中[a],切换筛选条件之间的关系:

  • 选择“且”,代表查询结果要符合每条筛选条件
  • 选择“或”,代表查询结果只需要符合一条或多条筛选条件

点击[b]可以删除相应的筛选条件。

查询结果的相应变动,会实时地反映在下方的图表和表格中。

2.6 选择时间范围

选择查询的时间范围。点击『对比时间』可以选择对比时间段,绿色的是对比时间段,此时在图形和表格中会展示两个时间段的对比数据。

2.7 切换图表类型

可选择的图表类型:

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

1.8 版本中新增了对部分可累加的指标的累积图类型展示,包括总次数和数值属性总和,当前只支持单指标,不支持多指标和对比时间区间下的累积图。

在多个指标的情况下,可以人工选择要展示哪些指标的哪些分组,如下图所示:

2.8 选择聚合时间单位

可选择的数据聚合时间单位:

  1. 按分钟
  2. 按小时
  3. 按天
  4. 按周
  5. 按月

其中,选择『按分钟』聚合时,最多可展示1天的数据;选择『按小时』聚合时,最多可展示30天的数据。

2.9 数据表格

1.6.5版本提供了两种表格展示方式,点击 I 处的转置按钮以1.6.5之前的方式查看数据。点击 J 处的百分号,可以在表格内展示两个时间点的数据变化百分比。百分比公式(以12月28号表格内百分比的计算为例):12月28号减12月27号数据之差,除以12月27号的数据。

默认表格展示方式

以有分组、多指标、有对比的场景来介绍表格的展示方式。

  1. A 列展示分组,多个分组时每个分组单独一列。无分组不展示此列。点击此列表头可以对分组进行排序。
  2. B 列展示指标,一个指标时不展示此列。每个指标单独一行,同一个分组值从上到下依次展示指标。
  3. C 列展示对比时间段,没有选择时间对比时不展示此列。同一个指标内,从上到下依次展示主时间点数据、对比时间点数据、对比时间点相对主时间点的变化率。
  4. D 列展示合计值,此列数据不是简单相加,如果是触发用户数,会做去重。点击此列表头内的折叠按钮,可以将右侧的详细时间点数据隐藏。
  5. E 列展示每个时间点的数据。

1.6.5版本之前表格展示方式

单个指标查询的表格展示:

  1. A 点击展示合计数据。
  2. B 为日期列,可以排序,合计行不参与排序。维度展示在表头行,如[b]所示。
  3. C 列中包含绝对数据,和相对上一个相邻时间单位的变化百分比。

多个指标查询的表格展示:

  1. A 为日期列,按照日期排序后,时间内按照第一个指标倒序排列。
  2. B 为维度列,多个维度用逗号分割展示,排序功能仅在日期内进行排序。
  3. C 为指标列,展示指标数据。

有时间对比查询的表格展示:

2.10 浏览用户详情

找到『触发用户数』对应的单元格,点击分析结果的数字,则可以浏览这些用户的具体情况,以及单个用户的详细行为序列。

2.11 切换计算精度

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

3. FAQ

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

答:App 端有缓存机制。

3.2: 分组过多,数据显示不完整

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

3.3: 事件分析里和漏斗里查看的用户数不一致

答 :事件分析和漏斗分析逻辑不太一致。

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

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

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

答:用户数有去重机制。

3.6: 为什么按天查看和按周查看数据不一致

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