天天看点

数据埋点

数据埋点

数据科学中的数据从哪里来?

•主动收集(爬虫)

•被动收集(埋点)

埋点是数据采集的一种方式,数据采集是数据分析的起点,今天我们就来聊聊埋点

数据埋点

1,埋点

1.1 什么是埋点?

一种非常传统、非常普遍的方式就是通过写代码去定义这个事件。在网站需要监测用户行为数据的地方加载一段代码,比如说注册按钮、下单按钮等。加载了监测代码,我们才能知道用户是否点击了注册按钮、用户下了什么订单。

所有这些通过写代码来详细描述事件和属性的方式,国内都统称为“埋点”。这是一种非常耗费人力的工程,并且过程非常繁琐重复,但是大部分互联网公司仍然雇佣了大批埋点团队。

1.2 埋点步骤

一般可以分成以下七个步骤:

数据埋点

(1)确定场景或目标

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

(2)数据采集规划

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

(3)埋点采集数据

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

(4)数据评估和数据分析

收集上来的数据质量如何,又该如何分析呢?

(5)给出优化方案

发现问题后,怎么来出解决方案。比如,是否在设计上改进,或者是否是工程上的 bug。

(6)实施优化方案

谁负责实现解决方案。确定方案的实施责任人。

(7)如何评估解决方案的效果?

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

这整个流程里,第 2 步到第 4 步是关键。目前许多传统的服务商所采用的方式 大多数为Capture 模式。通过在客户端埋下确定的点,采集相关数据到云端,最终在云端做呈现。

数据埋点

1.3 埋点的缺点

Capture 模式采集到的数据非常精准,对于非探索式分析来说是一个非常行之有效的方法。同时,对参与整个流程的人也提出了非常高的要求。

  • 依赖经验导向

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

  • 沟通成本高

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

  • 大量时间数据清洗

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

  • 数据漏采错采

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

在经历了无数个痛苦的夜晚以后,我们决定要换个思路思考了,希望能最大限度的降低人为的错误。我们称之为 Record 模式,这也就是现在的“无埋点”数据采集方案。

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

因为自动化,我们从分析流程的源头开始就控制了数据的格式。所有数据,从业务角度出发,划分为 5 种维度: Who,行为背后的人,具有哪些属性;When,什么时候触发的这个行为;Where,城市地区浏览器甚至 GPS 等;What,也就是内容;How,是怎样完成的。

基于对信息的解构,保证了数据从源头就是干净的,再在此基础上面,我们完全可以把 ETL 自动化,需要什么数据可以随时回溯。

1.4 无埋点的技术优势

回顾上面埋点采集数据的 7 个步骤,无埋点很好地解决了第二、三、四步的需求,将原来的多方参与减少到基本就一方了。无论是产品经理、分析师还是运营人员,都可以使用可视化工具来查询和分析数据,真正做到所见即所得。不仅是 PC,还支持 iOS、Android 和 Hybrid,可以进行跨屏的用户分析。

1.5 “埋点+无埋点”的数据采集优势

那么为什么需要要无埋点和埋点相结合的方式去采集数据呢?

第一,因为无埋点的方法本身效率比较高。经过实践我们发现,无埋点产生的数据指标是埋点产生的数据指标的 100 倍甚至更多。

第二,无埋点数据采集成本低,App 发版/网站上线,都不影响数据自动采集。

第三,埋点采集的优势是可以更加详细的描述每个事件的属性,特别针对结果数据。

用无埋点采集的用户行为数据是用户产生最后结果的“前因”数据,用埋点采集的业务数据是结果数据是“后果”。无埋点和埋点相结合的解决方案提高了工作效率,同时记录了“前因”和“后果”数据,帮助市场、产品和运营分析获客、转化和留存,实现用户的快速增长。

2.3 如何选择埋点或无埋点

新的无埋点虽然简单便捷,但也有它自身的局限性。同时,我们离不开业务数据维度,所以传统埋点也不能放弃。

埋点和无埋点各有优势,面对不同的场景,我们需要明确目的、结合具体情况综合判断,选择数据采集的最优方式。

数据埋点

总之,埋点技术灵活、稳定、局限性低、精度高,适合跟踪关键节点,隐藏程序逻辑搭配业务维度观察的数据。

无埋点技术确定快,有历史数据,有预定义维度加持,适合快速查看某些趋势型或流程型数据。

当我们选择无埋点还是埋点时,只需要关注:该行为非核心指标且存在预定义无埋点指标中。

如果存在该预定义指标(即无埋点),且预定义维度也满足需求,那么,我们就要针对该无埋点的指标和维度进行观察,可放心选择无埋点。如果不存在或预定义维度无法满足观察该指标的角度,则需要通过埋点指标进行上报。

在预定义无埋点指标中。

如果存在该预定义指标(即无埋点),且预定义维度也满足需求,那么,我们就要针对该无埋点的指标和维度进行观察,可放心选择无埋点。如果不存在或预定义维度无法满足观察该指标的角度,则需要通过埋点指标进行上报。

继续阅读