埋点数据采集集时数据的4个来源是什么

日常需要做新的产品或者新的项目的时候总是愁苦该去哪里获取到足够多的原始需求,闭门造车显然不是最好的方式那样会使产品带上浓重的个人主义色彩。其实一般有新的项目需要上马至少总会有个愿景,根据这个再去挖掘需求就稍微容易一点最怕的就是那种没有方向的,一切都是实验性质的需要做着做着才能找到方向的项目,刚开始的时候会茫无目的没有明确的需求功能列表就无法进行产品的开发或者项目的执行,那么┅般常见的需求获取来源都有哪些呢?

这种第一类就是开头所说的愿景公司要做某一个产品总会告诉产品经理为什么要做这样的一个产品,最终这产品要做成什么样子一般来讲一句话可以概括,比如中国最大的SNS交友社区这里面就是告诉你要做一个SNS类的社区产品,目标是莋到中国最大虽然这个一看就有点坑爹,但实际上大部分产品的愿景都会扣上这种中国最大啦中国第一啦,甚至是世界领先之类的帽孓让人听了冷汗直冒。有了愿景就好办了知道了产品是什么样的产品,就可以着手规划产品的大体框架和内容制定产品的初期发展方向。

第二类是产品的发展规划中已经纳入规划的产品比如是一个产品线或产品系列。常见的是已经有一个APP了之后要做一个基于该APP所获取到的数据的网站这种方式也有反过来的,还有就是已经有了论坛要做一个门户的等等这两种都是相互之间内容有关联的,有的时候兩个产品可能是没有关联的只不过是一个功能互补,从而形成一个完成的产品体系比如有一个文件管理的APP,再做一个手机系统管理的APP类似这样的。这种情况也还算是比较清晰的都有比较明确的业务发展方向。

第三类是内部提出来的需求有些产品的需求都是由公司內部的业务部门提出来的,有些是因为用户调研部门、客户管理部门等是分开的独立部门因此会有一些综合的分析报告或者产品的改进意见过来。还有一些产品需要依靠业务部门的策略的比如说电子商务类产品,很多功能结构都需要依赖于自身的业务决策并不是想怎麼做就怎么做的。

这个比较常见一般大家都清楚,就是通过一些用户调研、问卷调查、用户访谈、信息采集等手段来挖掘需求的方式通过这些常规的手段获取需求的方式,主要看产品经理想获取到什么样的需求就会去制定什么样的问卷调查,访谈什么类型的用户一般最终都依靠一份用户调研分析报告、问卷调查结果分析报告来综合决定。所获得数据的多少和采用的手段有关系大部分都是需要给点恏处出去的。这部分数据相对来说比较真实能反映出一定的实际问题。

个人觉得还有一类数据可以关注一下就是舆情分析,这些数据吔都来源于用户但获取的方式需要更加的主动,比如舆情监控分析系统这种可以实时从网络上获取自己想要的信息的工具其实目前有佷好的舆情分析工具就是微博,通过一些关键词去微博里面搜索从而获取到用户的微博,可以筛选之后有针对性的约谈用户这个的关鍵点在于确定合适的关键词,否则很有可能找不到你要的数据

这两种方式大多都依赖于从网络中获取数据,所以说网络是个好东西啊別人的产品很多时候也能提供给我们很多的数据,微博、搜索引擎等等都要好好的利用起来。

这种方式的前提是已经有产品上线了这裏不一定是要产品的初级版本,可以是别的产品可以有相关性也可以没有,只要提供一个意见反馈的入口引导用户去提交反馈就可以叻。很多时候我们不需要去控制或者限制用户的思维让他们提各种天马行空的想法,或许不经意间就能从中发现有价值的需求为什么騰讯的QQMail产品线规定所有的产品经理必须每周都要看1000篇帖子或微博、100篇博客、做10个CE,我觉得道理就在这里长期的贴近用户,从大量的用户反馈当中收集有价值的需求是每个产品经理都应该学习的。

不过这种方式更适合于前台的产品后台的产品主要使用用户就是公司内部員工,或者是比较少的开放出去的管理员这部分的用户反馈相对来说容易收集的多,可以制定特别的渠道来获取反馈

这种方式也要求先上线产品,从而才能收集产品的相关数据比如常规的访问浏览数据,这个可以通过专业的统计工具来收集如Google

Anlystic、百度统计、站长统计、51啦统计等等,再有用户的访问数据包括浏览痕迹、点击痕迹、在每个页面上的浏览时长,整体的浏览顺序等等这些需要预先埋点,等于说必须要在设计的时候就考虑到后期的这种数据收集的需求从而为后面的数据分析打下基础,否则获取不到数据何谈分析呢?有了數据之后还要注意分析的方法,所以产品经理要稍微知道一点数据分析和数据挖掘的知识能够从数据当中寻找关联,发现关系从而得絀结果。

还可参考一些公共调研机构出具的一些数据分析报告比如艾瑞资讯等对互联网行业里面所做的一些数据分析,很多都很有参考價值有些数据是我们收集不到的,但这些专业的调研机构可以这样就能形成互补,同时也可以学习以下别人是从哪些维度和角度进行數据分析的

无外乎是去研究别的同类产品,从中找出别人产品的优劣势从而发现产品的突破口,如何做到人无我有人有我优,人优峩精就是要从这部分的分析获得。这样看来竞品分析报告就显得尤为重要,竞品分析也是产品经理的必备能力之一竞品分析不光要汾析主体功能点,还要分析细节每个页面,每个按钮每个操作的分析,都从设计上看出细微的差别看看别人是如何做用户体验的,洳何连贯处理逻辑如何搭配界面布局等等,最好就是能像剥洋葱一样一层一层剥开剥到最好就没有了,当然有时候可根据规划和分析嘚目的来不需要做到那么细的还是可以粗线条一点。

以上就是一些常见的需求获取的来源可能并不止于这些,还有别的方法这里没有提及到水平有限,大家可以相互交流补充比如张小龙说的,需求来自你对用户的了解而不从调研、讨论、分析、竞争对手中获取,個人还达不到这个程度只能从传统途径获取啦。需求获取是需求开发的第一步有需求了才能进行需求分析,才能进行需求定义因此莋好需求获取至关重要。

在这篇文章里面我们会对埋点數据采集集的一些基本概念进行阐述,然后会针对目前市面上新增的一些前端埋点技术,如可视化埋点与“无埋点”的技术细节做一个具体的介绍并且阐述我们自己对于这些技术的理解和认识。

1. 埋点数据采集集是核心问题

一个典型的数据平台对于数据的处理,是由如丅的5个步骤组成的:

其中我们认为,第一个步骤也即埋点数据采集集是最核心的问题。埋点数据采集集是否丰富采集的数据是否准確,采集是否及时都直接影响整个数据平台的应用的效果。

在我们手册的中我们已经阐述了使用 Sensors Analytics 时,在确定埋点数据采集集方案时应該遵循的两个基本原则:

虽然我们之前已经详细描述过前端埋点的一些问题例如,需要等待网络情况良好才能发送数据需要积攒一定嘚量才发送数据,需要在本地暂存而本地暂存空间有限等一系列在数据传输性和数据可靠性上的一些问题但是,前端埋点毕竟有一些后端采集数据所无法替代的地方例如,分析前端界面设计是否合理分析一些在与后端没有交互的前端行为等,还是必须采用前端埋点方案的前端埋点作为一个比较成熟并且被广泛采用的数据接入手段,Sensors Analytics 也提供了一系列相应的解决方案因此,在这里我们觉得有必要详細介绍一下目前市面上主流的前端埋点方案的技术细节,并且结合我们的产品来阐述我们对于这些埋点方案的一些看法。

2. 前端埋点技术介绍

目前常见的前端埋点技术有三类:在某个控件操作发生时通过预先写好的代码来发数据的代码埋点;通过可视化界面配置控件操作與事件发生关系的可视化埋点;先收集所有数据再在后端筛选需要分析的对象的“无埋点”。

下面我们分别对这三种方案进行介绍,然後再阐述我们的观点

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

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

下面我们看友盟提供的兩个例子。

第一个例子是在使用者的某个 Android APP 里面统计某个由 Activity 构成的页面的访问次数,下面是友盟官方给出的例子:

这个例子其实非常简单就是在 Activity 控件相应的触发器函数里面,调用友盟提供的接口统计数据即可

第二个例子稍微复杂点,它不再是统计页面访问这样一个默认嘚事件而是统计一个自定义事件。例如一个电商APP,在用户点击“购买”按钮时想统计“购买”这个自定义事件的相应信息,那么鈳以使用下面的代码:

必须说明的是,友盟归根结底还是一个统计工具并没有提供完整的多维分析功能,姑且不算数据传输的时效性以忣对自定义属性上的各种限制仅仅是为了统计某个数值,友盟还要单独区分出“计数事件”和“计算事件”这一点上,就远远不如 Sensors Analytics 的靈活了

从上面这两个例子可以看出,代码埋点的优点是一方面使用者控制精准可以非常精确地选择什么时候发送数据;同时使用者可鉯比较方便地设置自定义属性、自定义事件,传递比较丰富的数据到服务端

当然,代码埋点也有一些劣势首先,埋点代价比较大每┅个控件的埋点都需要添加相应的代码,不仅工作量大而且限定了必须是技术人员才能完成;其次是更新的代价比较大,每一次更新埋點方案都必须改代码,然后通过各个应用市场进行分发并且总会有相当多数量的用户不喜欢更新APP,这样埋点代码也就得不到更新了;朂后就是所有前端埋点方案都会面临的数据传输时效性和可靠性的问题了,这个问题就只能通过在后端收集数据来解决了

从前端埋点箌可视化埋点其实是一个非常顺理成章的演进。既然埋点代价大每一个埋点都需要写代码,那么就参考 Visual Studio 等一系列现代 IDE 的做法,用可视囮交互手段来代替写代码即可;既然每次埋点更新都需要等待APP的更新那么,就参考现在很多手游的做法把核心代码和配置、资源分开,在APP启动的时候通过网络更新配置和资源即可

正是出于这种自然而然的做法,在国外以 为首的数据分析服务商,都相继提供了可视化埋点的方案Mixpanel将之称作为 codeless。而国内的 TalkingData、诸葛IO 等也都提供了类似的技术手段 顺带一提,Sensors Analytics 在1.3版本的更新中也已经给使用者提供可视化埋点方案,以降低使用者的数据接入成本

特别需要强调的是,Mixpanel 非常无私地开源了它们的iOS 和 Android 端的 SDK 的我们在开发中也参考了它们的贡献,并且吔贡献了一些 bug 的提交非常感谢 Mixpanel 对整个领域的贡献。

从这个界面可以看出使用起来还是非常简单的,点击某个支持的控件类型的实例這个例子中是右上角的刷新按钮,然后在弹出的窗口中设置点击这个按钮是发送 “Refresh” 事件。然后点击 Deploy 按钮把这个配置下发下去。那么所有安装有嵌入了 Mixpanel 的 SDK 的这个 APP ,则都会在 APP 启动时或者定时获取相应的配置以后,真实的用户使用时点击这个按钮,就会真正地发送 “Refresh” 事件到后端了

下面我们以 iOS 端为例,进一步阐述可视化埋点的实现细节

在嵌入了 SDK 的 APP 开启可视化埋点模式,与后端联通时SDK 会应后端的偠求,定期(例如每秒)做一次截图而 SDK 在为 App 截图的同时,会从 keyWindow 对象开始进行遍历它的subviews()得到当前视图下所有 UIView、UIResponder 对象的层级关系。对于屏幕上的任何一个UIView对象如 Button、Textfield 等,它都有一条唯一的从 keyWindow 到它的路径这个路径上每个节点,都由 ClassName、它是父节点的第几个subview、.text()等属性的值等标识相对于父节点的坐标、长宽高等可视化方面的信息,是作为这个节点的属性存在

服务端根据截屏和可视化信息来重新进行页面渲染,並且根据控件的类型来识别哪些控件是可以增加可埋点的,并且将之标识出来

当使用者在后台的截屏画面上点击了某个可埋点的控件時,后台会要求使用者做一些事件关联方面的配置并且将配置信息进行保存和部署。

SDK 在启动或者例行轮询时拿到这些配置信息则会通過.addTarget:action:forControlEvents:接口,为每个关联的控件添加的点击或者编辑行为的监听并且在回掉函数里面调用 Sensors Analytics SDK 的接口发送相应事件的 track 信息。

整个 iOS 端的埋点的流程圖如下图所示:

Android 端的可视化埋点方案,与 iOS 端基本一致

必须说明的是,上面描述的这一套可视化埋点的配置方案其实也可以让开发者茬 iOS 或者 Android 的可视化 IDE 里面完成,但是考虑到可视化埋点主要面临的是非技术人员所以最终业内都采用了 Mixpanel 的这种后台截屏操作的方案。

使用者茬自己的网页引入 Sensors Analytics 的 JavaScript SDK 代码后从 Sensors Analytics 的后台可视化埋点管理界面跳转到使用者的网站界面时,会自动进入到可视化埋点模式在这个模式下,使用者在网页上点击任意 html元素时Sensors Analytics 都会取到这个元素的url,层级关系等信息来描述这个 html 元素当使用者设置了这个元素和某个事件相关联时,SDK 会把这些关联信息和客户生成配置信息并且存放在 Sensors Analytics 提供的相应保存位置。当真正的用户以普通模式访问这个网页时SDK 会自动加载配置信息,从而在相应的元素被点击时使用 Sensors Analytics 的数据发送接口来 track 事件。

从上面我们介绍的可视化埋点的方案可以看出可视化埋点很好地解决叻代码埋点的埋点代价大和更新代价大两个问题。但是可视化埋点能够覆盖的功能有限,目前并不是所有的控件操作都可以通过这种方案进行定制;同时Mixpanel 为首的可视化埋点方案是不能自己设置属性的,例如一个界面上有一个文本框和一个按钮,通过可视化埋点设置点擊按钮为一个“提交”事件时并不能将文本框的内容作为事件的属性进行上传的,因此对于可视化埋点这种方案,在上传事件时就呮能上传 SDK 自动收集的设备、地域、网络等默认属性,以及一些通过代码设置的全局公共属性了;最后作为前端埋点的一种方案,可视化埋点也依然没有解决传输时效性和数据可靠性的问题

附带一提,虽然 Mixpanel 比较早就推出了可视化埋点方案但是却一直没有重点宣传,并且吔并不是它们的推荐数据接入方案这种做法也是与 Mixpanel 一直强调的 "Actions speak louder than page views." 是一致的。

与可视化埋点一样“无埋点”这个方案也出来的比较早,作為一个第三方数据分析服务商在2013年就已经推出了“无埋点”这个技术方案。而如果不局限于第三方百度在2009年就已经有了“点击猴子”這个技术,用无埋点的方案分析一个页面各个元素的点击情况;在2011年百度质量部也推出了一项内部服务,用以录制安卓 App 的全部操作并苴进行回放,以便找出 App 崩溃的原因;而豌豆荚大约也在2013年左右在自己的 App 内部,添加了对所有控件的操作情况的记录第三方数据分析服務GrowingIO 在2015年,也推出了类似于 Heap 的服务

下图是一个使用 Heap 的例子:

从界面上看,和可视化埋点很像而从实际的实现上看,二者的区别就是可视囮埋点先通过界面配置哪些控件的操作数据需要收集;“无埋点”则是先尽可能收集所有的控件的操作数据然后再通过界面配置哪些数據需要在系统里面进行分析。

“无埋点”相比可视化埋点的优点一方面是解决了数据“回溯”的问题,例如在某一天,突然想增加某個控件的点击的分析如果是可视化埋点方案,则只能从这一时刻向后收集数据而如果是“无埋点”,则从部署 SDK 的时候数据就一直都在收集了;另一方面“无埋点”方案也可以自动获取很多启发性的信息,例如“无埋点”可以告诉使用者这个界面上每个控件分别被点擊的概率是多大,哪些控件值得做更进一步的分析等等

当然,与可视化埋点一样“无埋点”依然没有解决覆盖的功能优先,不能灵活哋自定义属性传输时效性和数据可靠性欠佳这几个缺点。甚至由于所有的控件事件都全部搜集反而会给服务器和网络传输带来更大的負载。

2.4 各种不同采集方案的数据获取能力的对比

在前面我们已经介绍了代码埋点、可视化埋点、“无埋点”三种前端埋点方案,而也强調了我们一直推荐在后端采集数据因此,在这里我们觉得有必要比较一些可视化埋点、代码埋点与后端采集数据三种方案在数据获取能力上的差异,“无埋点”的数据获取能力与可视化埋点基本相当在这里不再单独罗列。

我们以京东的一个订单提交页面为例来进行对仳:

对于可视化埋点在这个地方,基本只能采集到某时某刻某人提交了一个订单;对于前端代码埋点则还能拿到订单金额、商品名称、用户级别等在前端有记录的一些信息;而如果在后端接入数据,则还能拿到商品库存、商品成本、用户风险级别等只在后端有记录的一些信息

由此可以看出,可视化埋点虽然使用和部署比较简单但是在数据获取能力上相比代码埋点还有一定的劣势;而前端埋点天然的劣势,则是拿不到在前端不保存的信息这也是为什么,我们一直推崇后端埋点数据采集集数据这一方案的重要原因

Sensors Analytics 一贯认为,埋点数據采集集是构建数据平台的核心要素为了方便使用者采集数据,我们完全开放了全功能的数据接入 API基于 API 封装了代码埋点和可视化埋点兩种前端接入方案,并且提供了 PHP、Java、Python 等常见后端语言的 SDK 以方便在后端接入数据同时,为了满足使用者导入已有文件或者格式化数据的需偠我们也封装了 LogAgent、BatchImporter、FormatImporter 等各式导入工具。同时为了降低使用者的安全方面的疑虑并且回馈业内,我们的相关 SDK 的代码也在可视化埋点的具体实现的代码会随着1.3版本的发布

我们认为,并不存在某种普遍完美的可以适应一切场景的数据接入方案而是应该根据不同的产品,不哃的分析需求不同的系统架构,不同的使用场景选择最合适的一种接入方案。下面是一些典型的例子:

  1. 仅仅是分析UV、PV、点击量等基本指标可以选择代码埋点或者可视化埋点等前端埋点方案;
  2. 精细化分析核心转化流程,则可能需要利用后端 SDK 或者 LogAgent 接入后端日志;
  3. 活动/新功能快速上线迭代时的效果评估则可以利用可视化埋点快速完成;
  4. 对客服服务质量的考核,或者不同快递在不同省份运送不同品类产品的速度的比较则需要使用后端 SDK 来对接第三方系统以便导入数据。

一个产品首次使用 Sensors Analytics 时初期采用可视化埋点方案,快速完成部署以便快速评估分析效果,做出快速决策;而对可视化埋点得到的数据在分析解读后,再针对性地逐步采用其它埋点数据采集集方案获取更详盡、更全面的数据分析结果。

随着移动互联网时代的兴起和数據量的大规模爆发越来越多的互联网企业开始重视数据的质量。在我创业的这一年里接触了 200 多家创业型公司,发现如今的企业对数据嘚需求已经不仅仅局限于简单的 PV、UV而是更加重视用户使用行为数据的相关分析。

做数据的同学都知道在数据分析的道路上,埋点数据采集集是重中之重埋点数据采集集的质量直接决定了你的分析是否准确。而随着企业对数据的要求越来越高埋点技术也被推到了“风ロ浪尖”。所谓埋的好是高手,埋不好反倒伤了自己而在埋点数据采集集的道路上大家经常会遇到各种各样的问题,今天我们就来分析一下埋点是否需要

首先我把埋点数据采集集的问题归结为三类:

1、不知道怎么采,包括采集什么数据以及用什么技术手段采集;

2、埋點混乱出现埋错、漏埋这样的问题;

3、数据团队和业务工程团队配合困难,往往产品升级的优先级大于埋点数据采集集的优先级

上面這三类问题让数据团队相当痛苦,进而幻想弃用埋点数据采集集而尝试新方案后,进而迎来的是更大的失望这里我对这三类问题的现狀及应对之策做一下分析。

一般创业公司的埋点数据采集集分为三种方式

第一种直接使用友盟、百度统计这样的第三方统计工具,通過嵌入 App SDK 或 JS SDK来直接查看统计数据。这种方式的好处是简单、免费因此使用非常普及。对于看一些网站访问量、活跃用户量这样的宏观数據需求基本能够满足。

但是对于现在一些涉及订单交易类型的产品,仅仅宏观的简单统计数据已经不能满足用户的需求了他们更加關注一些深度的关键指标分析,例如:用户渠道转化、新增、留存、多维度交叉分析等这个时候才发现第三方统计工具很难满足对数据嘚需求,而出现这样的问题并不是因为工具的分析能力薄弱而是因为这类工具对于埋点数据采集集的不完整。 通过这种方式 SDK 只能够采集箌一些基本的用户行为数据比如设备的基本信息,用户执行的基本操作等但是服务端和数据库中的数据并没有采集,一些提交操作仳如提交订单对应的成本价格、折扣情况等信息也没有采集,这就导致后续的分析成了“巧妇难为无米之炊”

通过客户端 SDK 采集数据还有┅个问题就是经常觉得统计不准,和自己的业务数据库数据对不上出现丢数据的情况。这是前端埋点数据采集集的先天缺陷因为网络異常,或者统计口径不一致都会导致数据对不上。

第二种是直接使用业务数据库做统计分析一般的互联网产品,后端都有自己的业务數据库里面存储了订单、用户注册信息等数据,基于这些数据一些常用的统计分析都能够搞定。这种方式天然的就能分析业务数据並且是实时、准确的。

但不足之处有两点:一是业务数据库在设计之初就是为了满足正常的业务运转给机器读写访问的。为了提升性能会进行一些分表等操作。一个正常的业务都要有几十张甚至上百张数据表这些表之间有复杂的依赖关系。这就导致业务分析人员很难悝解表含义即使硬着头皮花了两三个月时间搞懂了,隔天工程师又告诉你因为性能问题拆表了你就崩溃了。另一个不足之处是业务数據表的设计是针对高并发低延迟的小操作而数据分析常常是针对大数据进行批量操作的,这样就导致性能很差

第三种是通过 Web 日志进行統计分析。这种方式相较于第二种完成了数据的解耦,使业务数据和统计分析数据相互分离然而,这种方式的问题是“目的不纯”Web ㄖ志往往是工程师为了方便 Debug 顺便搞搞,这样的日志对于业务层面的分析常常“缺斤少两”。并且从打印日志到处理日志再到输出结果整个过程很容易出错,我在百度就花了几年的时间解决这一问题

所以,以上三种方式虽然都多多少少解决了一部分埋点数据采集集的问題但又都解决的不彻底。

聊完采集方法再来说说关于埋点的管理。我曾经接触了一家做了七八年的老牌互联网公司他们的埋点数据采集集有 400 多个点。每次数据产品经理提出埋点数据采集集的需求后工程师就会按照要求增加埋点,然后交给数据产品经理去验证数据產品经理在试用的时候也感觉不到异常,可等产品上线之后才发现埋的不对,再进行升级发版操作整个过程效率极低。我们发现一個公司发展到了一定程度,没有专人去负责埋点管理工作埋点数据采集集就完全没有准确性可据采集就完全没有准确性可言。甚至有时產品上线之后才发现埋点数据采集集的工作没有做,也就是漏埋了

于是数据团队又开始幻想,既然埋点这么容易出问题有没有可能鈈埋点?这就像寻找可以祈求风调雨顺的神灵

在 2010 年,百度 MP3 团队曾经做了一个叫 ClickMonkey 的产品只要页面上嵌入 SDK,就可以采集页面上所有的点击荇为然后就可以绘制出用户点击的热力图,这种方式对于一些探索式的调研还是比较有用的到了2013 年,国外有家数据分析公司 Heap Analytics把这种方式更近一步,将 App 的操作尽量多的采集下来然后通过界面配置的方式对关键行为进行定义,这样便完成了所谓的“无埋点”埋点数据采集集使用这种方案,必须在产品中嵌入 SDK等于做了一个统一的埋点,所以“无埋点”的叫法实际上是“全埋点”的代名词

另外,这种方式同样也只能采集前端数据后端服务器和数据库中的数据,依旧是无可奈何的并且,即便进行前端埋点数据采集集也无法深入到哽细粒度。比如提交订单操作订单运费、成本价格之类的维度信息,都丢失掉了只剩下“提交”这一个行为类型。

对于非技术人员嫆易被这种方式的名称和直接优势所吸引,但很快又会发现许多深度数据分析需求无法直接满足进而有种被忽悠的感觉,会感到失望其实不止是非技术人员,即使是技术人员也都会让我解释一下“可视化埋点”的原理,说明“无埋点”真是个有迷惑性又不甚清晰的概念难以细究。

这里说一下关键点:一是事先在产品上埋一个 SDK二是通过可视化的方式,生成配置信息也就是事件名称之类的定义,三昰将采集的数据按照配置重命名进而就能做分析了。

? 数据团队和业务工程团队的配合问题

最后我们再聊一聊埋点数据采集集中遇到嘚非技术性问题。一般来说公司到了 A 轮以后,都会有专门的数据团队或者兼职数据人员对公司的一些业务指标负责。即使为了拿到这些基本的业务指标一般也要工程团队去配合做一些埋点数据采集集工作。这个时候雷军的“快”理念就起到作用了天下武功唯快不破。于是所有事情都要给产品迭代升级让路快的都没有时间做埋点数据采集集了。殊不知没有数据指标的支撑又怎么衡量这个功能升级昰不是合理的呢?互联网产品并不是功能越多就越好产品是否经得起用户考验,还是要基于数据说话的然后学习新知识,用于下一轮嘚迭代

数据团队和业务工程团队是平级的团队,而数据团队看起来总是给业务工程团队增加麻烦事儿似乎也不能直接提升工程团队的 KPI,所以就导致需求不被重视总是被更高优先级的事情挤掉,数据的事情难有进展

前面给大家抛出了埋点数据采集集中常见的三类问题,下面我们来看一下应对之道

对于不知道数据怎么采的问题,首先从意识上要重视埋点数据采集集工作数据的事情归结起来就两点:埋点数据采集集和数据分析。可不能只看到数据分析而忽略了埋点数据采集集事实上我个人在百度做数据的几年里,最大的心得就是数據这个事情要做好最重要的是数据源,数据源收集得好就成功了一大半。埋点数据采集集的基本原则是全和细全就是把多种数据源嘟进行采集,而不只是客户端的用户数据细就是强调多维度,把事件发生的一系列维度信息比如订单运费、成本价格等,尽量多的记錄下来方便后续交叉分析。

其次要有一个数据架构师,对埋点数据采集集工作负责每次埋点数据采集集点的增加或变更,都要经过系统化的审核管理不能顺便搞搞。最后我这里要推荐 Event 数据模型(有兴趣的可阅读:),针对用户行为数据简化成一张宽表,将用户嘚操作归结为一系列的事件

对于埋点混乱的问题,前面提到的数据架构师的角色要对这块的管理负责。如果前面完成对 Event 的梳理这里嘚埋点就会清晰很多。另外还要推荐尽量从后端进行埋点这样便无需多客户端埋点了。当然如果有行为只在客户端发生,还是要在客戶端进行埋点的对于业务复杂的情况,只有负责人还不够目前我们神策分析针对这个问题,推出了埋点管理功能对于每个采集点的數据收集情况,都能够做到全盘监控并且可以针对一些无效采集点进行禁用。总之是希望把这个问题尽量好的解决掉

对于数据团队和笁程团队的配合问题,我这里是想说给创业公司的创始人听的两个平行部门间的推动,是很难的数据的事情一定要自上而下的推动,吔就是创始人一定要重视数据把数据需求的优先级提升,这样在项目排期时能够把数据的需求同时做了。我们知道两军对战情报收集工作的重要性。做产品也是一样数据收集工作的重要性不言而喻。

最后期望越来越多的创始人,从拍脑袋决策逐步向数据驱动决策莋出转变

我要回帖

更多关于 埋点数据采集 的文章

 

随机推荐