如何做好数据埋点?

2017-5-18 11:28| 发布者: ym| 查看: 12539| 评论: 0

摘要: 一、什么是数据埋点 数据埋点实际上就是pm或运营分析人员,基于统计分析需要,对用户行为的每一个事件进行埋点布置,并通过SDK上报埋点的数据结果,进行分析,并进一步优化产品或指导运营。 二、数据埋点技术 2 ...

一、什么是数据埋点

数据埋点实际上就是pm或运营分析人员,基于统计分析需要,对用户行为的每一个事件进行埋点布置,并通过SDK上报埋点的数据结果,进行分析,并进一步优化产品或指导运营。


二、数据埋点技术

2.1 代码埋点

这是目前使用最广泛的一种方案。所谓的代码埋点就是在你需要统计数据的地方植入N行代码,统计用户的关键行为。比如你想统计首页某个banner的点击量,上报的数据可以采用KEY-VALUE形式,我们定义KEY为「CLICK_ADD_BTN」,VALUE的值为点击的次数。当用户点击banner时,banner详情的代码会通过按钮的「回调」来触发执行,程序猿在业务代码执行完后,又加上了统计代码,把「CLICK_ADD_BTN」对应的VALUE加1,banner被统计到了一次使用。

代码埋点的优点:

  • 使用者控制精准,可以非常精确地选择什么时候发送数据
  • 使用者可以比较方便地设置自定义属性、自定义事件,传递比较丰富的数据到服务端。

代码埋点的缺点:

  • 埋点代价比较大,每一个控件的埋点都需要添加相应的代码,工作量大;
  • 更新代价比较大,如果我们需要添加新的统计事件,就需要一个个重新添加,需要额外的开发和发布版本,然后通过各个应用市场进行分发,而且有的用户还不一定更新,这样你就获取不到这批用户数据。


2.2 可视化埋点

既然代码埋点代价比较大,每一个埋点都需要写代码,那就使用可视化交互手段代替写代码;既然每次代码埋点都需要更新,那就参照现在的很多手游做法,把核心代码和配置、资源分开,每次用户启动app的时候通过网络更新配置和资源即可。

可视化埋点优点:

  • 高度的可配置和易用性,解决了代码埋点代价大和更新代价大两个问题。

可视化埋点劣势:

  • 可视化埋点能够覆盖的功能有限,缺乏灵活性和针对性,它无法像有码埋点一样自定义事件,无法应对较深入的行为分析要求。


2.3 无埋点

可视化埋点先通过界面配置哪些控件的操作数据需要收集;“无埋点”则是先尽可能收集所有控件的操作数据,当需要特定的数据时直接查询即可,“无埋点”也就是“全埋点”的意思。

无埋点的优点:

  • 无码埋点解决了数据回溯的问题,最大化的提升了数据收集的速度,大幅缩短了数据收集周期。让数据统计过程不完全依赖人的前瞻性,后续的数据报表可以灵活配置,随时配置随时看数据,不依赖开发上线周期。

无埋点的缺点:

  • 由于无埋点方案所有的元素数据都收集,会给数据传输和服务器带来较大的压力。 


三、数据埋点方式

  • 公司研发在自己的产品当中注入统计代码,搭建相应的后台查询,这种代价比较大。
  • 集成第三方统计的SDK,比如GrowingIO、Talking Data等,对于早期产品而言,虽然牺牲了埋点的灵活性,但是使用第三方的埋点SDK是十分划算的。


四、如何设计数据埋点

4.1 基本逻辑

在埋点前,设计各种统计分析模型,要明确出需要哪些指标数据,以及数据是否可以获取到。下面是埋点的基本逻辑:

  • 界面无重复性。每个界面都有独立的 ID,统计访问、访客等。
  • 界面事件独立性。每个界面的事件针对当前页面都是独立的、唯一的,统计事件行为。
  • 事件参数完整性。每个界面都会有一个或者多个事件,每个事件会有不同的参数,需要完备的统计。

此外,每个界面中都会有公共参数统计,比如:userId、timestamp、taskId等最后,需要针对埋点做统计报表,这些表初期都是单一纬度的,经过模型化、数据透视等过程,形成二维、三维,甚至多维数据统计分析表,再结合运营、营销形成较完备的产品统计分析过程,从而指导产品迭代和运营、营销工作。


4.2 明确目标

经常有人会问要获取哪些数据来进行数据分析,其实这个问题不应该问别人,应该问问你自己,你是想用这个数据干什么。埋点的宏观目标是为了获取数据指标来整体上验证产品的业务逻辑是否顺畅,之前的一些基本假设是否成立?这时候涉及需要验证的数据可能会涵盖:产品方向&市场运营&商业逻辑三大方面。

通过优先级和深入度可以将指标拆解为,核心指标和相关衍生指标。下面列出的是一般性指标,具体不同产品的指标应是稍有差别的。


4.3 获取指标数据

业务不同,目的不同获取的数据也不同,这里我只说一些比较共性的数据。

(1)产品各个渠道下载量

这个可以用第三方数据统计工具来进行,这样我们可以知道我们产品着重在那个渠道进行推广。

(2)产品活跃状态分析

产品活跃状态监控,留存分析、流失分析、新增变化等,次日留存率、七日留存率、月留存率,尤其对于处于成长期的产品而已,这个指标很重要,如果留存率比较低,说明你的产品有问题,这个时候你就需要进行用户调研,找到流失的问题,否则大面积拉新,只能拉多少死多少,至于留存率、新增的变化这些数据,我们也可以借助第三方统计工具来进行。

(3)事件分析

比如你想统计某个页面的UV、PV、元素的点击量、用户停留时长、页面跳出率等数据指标,可以选择代码埋点和可视化埋点等前端埋点解决方案。当某个页面的UV很高,但是跳出率也很高,说明页面有问题,你就要好好想想页面的问题出在什么地方。

(4)基本信息获取

基本信息获取,例如机型、网络类型、操作系统,IP地域等,绘制基础用户人群画像,这种分析出来的用户画像颗粒度比较大,如果想更精准的进行用户画像可以结合推荐系统,来获取用户的兴趣指标,以及用户操作行为等数据来进行更精准的用户画像,从而为产品运营和产品设计提供参考,可以借助第三方统计工具和自定义埋点的方式进行数据的收集。

(5)漏斗模型

对于产品的关键路径一定要进行漏斗模型分析,比如电商的购买下单路径,从浏览商品到最后下单购买成功,每一个步骤的转化率是多少,对于漏的比较多的那个步骤我们肯定要着重关注,分析原因。这个可以技术研发进行埋点,获取更精确的数据,比如下图的埋点表。


五、数据埋点tips

关于上传数据的方式:坦白说,这是所有接触数据埋点项目的新手必犯的一个错误,我们知道,所有的数据传输都是会占用流量以及给服务器带来压力的,由其是面向C端的产品,如果上传的数据格式定义不够友好,那么在传输的数据量,分析的有效性上就会大打折扣。所以对于埋点数据,通常很少直接传输未加工的“元数据”而是采用数据映射的方式,即只进行映射后的数据传输,根据MAP-KEY的映射关系约定文档进行映射。比如购买不购买的行为,上传的数据只是0/1。服务器根据约定规则进行翻译。再者就是何时上传数据。常规的方式是实时上传,但考虑到网络,有时也会采用非实时的方式,将多条数据打包,定时上传。


六、总结

数据是用来临摹过去,而不是描绘未来的。它可以让你发现存在的问题,但是并不会告诉你解决途径,它只会验证你的解决途径是否有效。你要清楚的的知道你可以通过哪些数据发现问题,然后再想出解决方案,用事后的数据去验证你的解决方案。

当然了,数据埋点只能收集到自有产品的用户业务数据,想要监测竞争对手的产品情况,可以用第三方的爬虫软件,例如集搜客网络爬虫,拥有10年的爬虫行业经验,专业采集网页上的公开信息,可以帮你定时采集竞争对手产品的价格、活动、产品介绍等公开信息,免去人工拷贝粘贴的烦琐,轻松实现对多个竞争对手产品的动态监测。


若有疑问可以或集搜客爬虫软件

鲜花

握手

雷人

路过
1

鸡蛋

刚表态过的朋友 (1 人)

相关阅读

最新评论

GMT+8, 2024-12-5 05:51