关闭

用户行为数据分析——数据埋点篇

在用户行为数据分析当中,我们常用的采集数据方式有两种,一种是埋点数据,另一种是无埋点技术,我们今天主要来分析一下埋点技术与无埋点技术的优劣势......

在用户行为数据分析当中,我们常用的采集数据方式有两种,一种是埋点数据,另一种是无埋点技术,我们今天主要来分析一下埋点技术与无埋点技术的优劣势,他们的之间的特点及其使用场景。在这篇文章里面,我会对数据采集的一些基本概念进行阐述,本人对于这些技术的理解和认识。

代码埋点其实出现的时间很早了,在 Google Analytics 年代,就已经出现了类似的方案了。目前,国内的主要第三方数据分析服务商,如百度统计、友盟、TalkingData 等都提供了这一方案。Sensors Analytics 也一样提供了 iOS、Android、Web 等主流平台的代码埋点方案。

它的技术原理也很简单,在APP或者界面初始化的时候,初始化第三方数据分析服务商的SDK,然后在某个事件发生时就调用SDK里面相应的数据发送接口发送数据。例如,我们想统计APP里面某个按钮的点击次数,则在APP的某个按钮被点击时,可以在这个按钮对应的 OnClick 函数里面调用SDK提供的数据发送接口来发送数据。

如下图所示,友盟给出的某个APP例子(本公司也是使用友盟平台统计),该例统计某个由Activity构成的页面访问次数,这个例子其实不复杂,在Activity控件相应的触发器函数中,调用友盟提供的接口统计数据即可。

因此需要说明的一点是,友盟毕竟是一个统计工具,此而并没有提供完整的多维分析功能,姑且不算数据传输的时效性以及对自定义属性上的各种限制。实际上像友盟、百度统计等第三方统计工具,几乎都是通过嵌入APP SDK或JS SDK,便可一目了然看到相关统计数据,这种方式的好处在于便捷,免费,因此普及率非常之高,对于流量一些网站的PV、UV等一些宏观层面的数据,基本能够满足需求。但是在一些细化类的产品数据上,做一些深度的用户渠道转化、留存等多维度交叉分析操作,这个时候采用这种采集数据方式便难以满足,而需要我们今天讨论的重点手段对其采集——埋点技术

数据埋点采集数据

所谓埋点就是为了数据分析的需求在原本的复杂的代码逻辑之上在加上N行获取数据的代码。比如如果想获取某商品的点击数量,就得在点击事件的中搜集点击的商品数据,发出包含商品名称和点击事件的数据,比如说在注册按钮,下单按钮等加载了监测代码,我们便可知道用户是否点击这些按钮,频次如何转化如何等等。

埋点采集数据的主要优势在于:

可以更加详细的描述每个事件的属性,特别是针对结果数据。且埋点往往可以添加较多的业务属性,方便产品经理对事件进行业务属性拆解和下钻分析,能很好地从业务逻辑切入行为分析,理解行为背后的业务思路。

那么埋点采集数据的过程又分为哪些呢?一般情况有如下步骤:

1、确定场景或目标

确定一个场景,或者一个目标。比如,我们发现很多用户访问了注册页面,但是最终完成注册的很少。那么我们的目标就是提高注册转化率,了解为什么用户没有完成注册,是哪一个步骤挡住用户了。

2、数据采集规划

主要思考哪些数据我们需要了解,以帮助我们实现这个目标。比如对于之前的目标,我们需要拆解从进入注册页面到完成注册的每一个步骤的数据,每一次输入的数据,同时,还有完成或者未完成这些步骤的人的特征数据,建立起用户画像。

3、埋点采集数据

我们需要确定谁来负责收集数据,一般是工程师,有些企业有专门的数据工程师,负责埋点采集数据。

4、数据评估及分析

我们需要对收集上来的数据进行筛选,数据产生的坪效如何,对这些数据又该如何着手分析等等,需要进一步考量。

5、提出优化方案

发现问题后,需要给出什么样的最优解决方案。比如,是否需要在设计上改进,或者是否是产品上的 bug,可以通过组织一场脑暴会议任由小组成员发表其意见,产品经理或相关数据分析人员收集重要决策方案。

6、落实优化方案

谁负责实现解决方案,需要确定方案的实施责任人。类似项目排期,确定好工期或具体工时,落实具体责任人,时间节点等。

7、评估解决方案的结果

进行下一轮数据采集和分析,回到第一步继续迭代。

知易行难。这整个流程里,第 2 步到第 4 步是关键。目前传统的服务商比如 Google Analytics、百度统计、友盟所采用的方式称作 Capture 模式。

埋点采集数据的4大缺点

埋点最重要的前提条件是必须十分清楚目标,即需要收集什么样的数据必须提前确定。所以埋点最容易出现的问题就是漏埋,一般来说在发布前一定要经过谨慎的校验和测试,因为一旦版本发布出去而数据采集出了问题,埋点采集4大劣势大致分为以下几种:

1、依赖经验导向

Capture 模式非常依赖人的经验和直觉,采集哪些指标和维度的数据,这都需要提前想好。不是说经验和直觉不好,而是有时我们自己也不知道到底什么是好的。经验反而会成为一个先入为主的负担,我们需要用数据来测试来证明。

2、沟通成本高

一个有效的分析结果,依赖于数据的完整性和完备性。在企业里不少的吐槽都跟数据格式有关,比如 “连日志格式都统一不了,更别提后续分析了“。这不是具体人的问题,更多是协作沟通的问题。参与人多,产品经理、分析师、工程师、运营等等,每个人的专业领域又各不相同,出现误解太正常了。

3、需要大量的时间做清洗

由于需求的多变性、埋点分成多次加入、缺乏统筹设计和统一管理,结果代码自然是无比混乱。所以数据工程师还有个很大的工作是数据清洗,手动跑 ETL 出报表。根据统计,绝大多数分析工作,百分之七十到八十的时间是在做数据清洗和手动跑 ETL,只有百分之二十左右的时间在做真正有业务价值的事情。

4、数据漏采或错采

如果说上面的缺点很让你头疼,那么接下来的问题就更让人抓狂。很多时候,埋点监测代码上线后,发现数据采集错了或者漏了;修正后,又得重新跑一遍流程,这样一个星期两个星期又过去了。这也是为什么数据分析工作如此耗时,一般以月计的原因。

无埋点采集数据

坊间称之为Record 模式,也就是现在的“无埋点”数据采集方案。区别于 Capture 模式,Record 模式是用机器来替代人的经验,无需手动一个一个埋点;只需在第一次使用时加载一段 SDK( Software Development Kit,软件开发工具包 )代码,即可采集全量、实时的用户行为数据。

原理如下:

因为自动化,从分析流程的源头开始就控制了数据的格式。所有数据,从业务角度出发,划分为 5 种维度:Who,行为背后的人具有哪些属性;When,什么时候触发的这个行为;Where,城市地区浏览器甚至GPS 等;What,也就是内容;How,是怎样完成的。对信息的解构,保证了数据从源头就是干净的,在此基础上面,完全可以把 ETL 自动化,需要什么数据可以随时回溯。

无埋点技术的优势

回顾上面埋点采集数据的 7 个步骤,无埋点很好地解决了第二、三、四步的需求,将原来的多方参与减少到基本就一方了。无论是产品经理、分析师还是运营人员,都可以使用可视化工具来查询和分析数据,真正做到所见即所得。不仅是 PC,它还支持 iOS、Android 和 Hybrid,可以进行跨屏的用户分析。相对于埋点方式带来的收益就是正好就是埋点容易产生的问题,由于采集的是全量数据,所以产品迭代过程中是不需要关注埋点逻辑的,也不会出现漏埋、误埋等现象。无埋点方式因为收集的是全量数据,可以大大减少运营和产品的试错成本,试错的可能性高了,可以带来更多启发性的信息。

写在最后——

不论是采用无埋点还是埋点的方式,都需要能够将用户的每一次线上访问过程用数据描述清楚,在分析解读后,再针对性地逐步采用其它数据采集方案,获取更详尽、更全面的数据分析结果,这个是数据采集的基本目标!

参考文献:https://blog.csdn.net/sensorsdata/article/details/80916861

产品小七,与你共同探讨移动互联网产品中的术与道,感谢关注~

0条评论 添加新讨论

登录后参与讨论
Ctrl+Enter 发表