用户行为数据采集──埋点,是用户行为分析中非常重要的环节,直接决定数据广度、深度、质量,影响后续所有的环节。就埋点本身来说,技术实现的难度并不高,但是整个埋点的过程可以说十分的复杂繁琐,有非常多细节和流程需要考虑,不同类型客户端如何采集,数据如何统一,哪些信息需要在客户端采集,哪些信息需要在后端采集,如何减少数据上报的延时和漏报,如何对成千上万个埋点进行统一的管理?
这一系列文章基于用户行为分析数据平台一年的工作经验,会对埋点的全过程进行思考和讨论,涉及对埋点基础知识的介绍,讨论如何从 0 到 1 开始用户行为数据采集工作,分享负责项目的埋点方案,介绍埋点管理系统,梳理整个埋点协作流程等方面。
系列文章的第二篇,讨论用户行为数据采集工作的第一步──建立采集规范。上篇文章介绍了目前常见的三种埋点方式:代码埋点、全埋点、可视化埋点,点击查看。
用户行为分析从 0 到 1
要进行用户行为分析,需要考虑四个方面:「数据采集规范」、「数据采集」、「数据处理和计算」、「用户行为分析平台」。
- 数据采集规范:规定采集的数据字段、格式、采集时机、上报策略等,通常由埋点团队和数据团队一起负责给出。项目初期或小团队一般以共享文档的方式约束,成熟的团队以系统的形式做线上化、自动化的管理。
- 数据采集:实施具体的采集动作,通常研发团队会开发埋点 SDK 工具,提供给有埋点需求方的业务方调用。
- 数据处理和计算:基于业务分析需求,对采集上来的数据进行ETL、加工计算,由数据团队负责。
- 用户行为分析平台:通常由数据团队开发,提供给业务方查询用户行为数据。
用户行为数据采集主要关注前两个方面:「数据采集规范」(以下简称规范),「数据采集」(以下简称采集)。这两个方面,前者决定了数据应该按怎样的标准采集,后者实施具体的采集工作。规范一方面会规定要采集哪些字段,以什么样的格式,什么时候采集,采集后数据上报到哪里;另一方面会规定埋点需求处理协作流程的规范。相应的支持平台需要包括这些功能:埋点申请、埋点注册、埋点管理。
建立数据采集规范
论规范的重要性
埋点规范的建立,是用户行为分析中,我认为最重要的事项。在开始埋点前,必须把规范建立起来,让所有参与方都按照这个标准采集数据。三个原因:1)如果各个业务线、团队都按照各自的想法进行数据采集,这些数据只会是一个个孤岛,很难融合在一起发挥大数据的价值;2)数据分析要在统计口径一致的情况下讨论才有意义,采集需要保证一致性,比如做推荐系统的时候,希望知道推荐物品的曝光率,这时就需要对曝光制定一个标准。如果业务线 A 把出现一点产品图片的边缘就算曝光,而业务线 B 把出现了整个产品图片才叫曝光,那么这样的统计结果就有很大的差异,所以需要做一个统一的规定;3)规范不仅是约束,也是指导,可以让团队所有成员都快速上手。
规范的建立有两部分:数据规范、过程规范。
数据规范
数据规范,主要是明确埋点要采集哪些字段,以什么样的格式,什么样的采集时机,输出物可以是一份共享的文档,也可以是线上的系统。
要采集哪些字段?确定采集哪些字段,需要分析来自业务线的数据需求。比如,要分析不同手机型号访问客户端的情况,就需要采集手机型号这个字段;再比如,想要知道点击某个按钮时完成实名认证的用户有多少,就需要采集是否完成实名认证这个字段。一般是由数据团队对接业务线运营产品人员,对数据需求进行梳理,拆解成具体要采集的字段(其中应包括字段、采集时机、取值说明等内容),之后给到埋点团队,确认可行性以及数据的上报格式、上报策略、上报地址。这样一份埋点数据规范就形成了,接下来可以将其输出成文档在团队直接共享,或是做到线上的系统上。
过程规范
过程规范规定标准工作流,定义参与埋点各方的诉求和职责,明确协作的流程,以及各个环节的交付产物。
从埋点需求梳理、埋点设计到实施、测试、部署的整个过程中,至少会涉及以下三类角色/团队:有埋点需求的业务方(以下简称业务方)、埋点研发测试团队、数据团队。各自的职责:
- 业务方:业务方产生埋点需求,通常是业务线的营运人员、产品经理、数据分析师,他们根据业务,提埋点需求,埋点完成之后做数据分析。他们需要输入原始需要、注册/维护埋点信息、上线前验收埋点。
- 埋点研发测试团队:负责埋点开发、测试、上线。由埋点研发团队负责,具体需要参与埋点需求评审,确认埋点可行性和排期、具体开发/上线部署埋点。
- 数据团队:负责埋点设计(满足业务需求需要采集那些字段、属性)、组织埋点需求评审、数据可视化。
完整的埋点工作流如下:
主要环节如下:
- 埋点需求提交
该环节由业务方发起。通常是业务方的营运人员、产品经理、数据分析师 根据业务数据分析需要,提出埋点需求。 - 需求评审
该环节由数据团队主导,埋点研发测试团队参与,业务方确认。数据团队根据业务⽅需求进行埋点方案设计,输出《埋点方案设计⽂档》,组织需求评审。在需求评审会上,埋点研发测试团队确认需求可行性,业务⽅确认事件设计方案符合业务需求。如一次评审没有达成一致,将多次组织需求 review,直到三个团队达成一致。 - 埋点开发
在埋点开发之前,业务⽅需要到线上注册埋点信息(在用户行为分析平台的埋点管理模块中完成,埋点模块管理是用来跟踪埋点生命周期的,一个埋点才需求提出,到开发上线,到最后的上报监控都在该模块中管理。后面有机会详细介绍。),信息的内容须和最终确认的《埋点⽅方案设计文档》保持⼀致。研发团队确认埋点注册信息后, 开始具体的开发⼯工作。 - 埋点测试&验收&上线
埋点数据测试由测试人员完成,测试完成后由数据团队、业务方验收后,由研发人员部署上线。 - 数据分析和上报监控
埋点上线后,业务方可登录用户行为分析平台进⾏数据分析,并对上报的埋点数据进行监控。