从埋点到「无埋点」,是过去和未来的差别

August 09, 2016 tag管理 数据驱动增长

自从 GrowingIO 去年发布无埋点方案以后,就获得外部很多的关注,一方面感觉到很神奇,只加了一段 SDK 就能实时地,全量地,自动地收到用户行为数据了,另一方面数据开始沉淀,这样业务人员就可以在任何时候都回溯,很多人在问这是怎么实现的。

的确,这里面有很多我们称之为黑科技的东西在里面,有在运行时的操作,也有在编译期做修改的,同时又要求能站在用户行为分析的角度去思考 SDK 的应用场景和数据逻辑,对于 SDK 开发团队来说有非常高的要求。

埋点采集技术原理说起来很简单,主要是基于树形结构和事件驱动模型,有兴趣的可以看看我之前写的一篇文章:无需埋点的数据分析原理

就我所知,类似的无埋点方案,阿里做过,百度做过,腾讯也做过。之前就有阿里杭州的小伙伴们专门来北京跟我们做这一块的技术交流,都是非常优秀的小伙伴。但是只有当你真正去尝试解决并且产品化的时候,你才会发现这想起来简单的事情做起来是多么的困难,这里面的水有多深。没有什么比 Ninety-Ninety Rule 能更形象的表达这个事情了。

Ninety-Ninety Rule

今天,我想借这篇文章跟大家介绍一下我们是如何思考这个事情的。

一、无埋点更适应当下的互联网公司

当下的时代是一个大前端时代,Web、手机APP的使用时间越来越长,以前的应用程序,前端的代码量并不大,但是如今随着JavaScript的发展,移动端APP的飞速发展,同时大家使用手机APP和网站的时间越来越碎片化,很多行为不一定要提交到服务器,用户只是做了和前端的一些交互操作,很多关于用户体验的代码都在前端实现。比如在一个旅游网站上面,用户对起点和目的地的条件选择,对酒店的房型的选择,下拉菜单的内容点击,只要用户不提交这个请求,后端的服务器,就无法记录用户的这些行为。

这也是为什么大趋势发展下,后端埋点(也就是俗称的打点、埋点)越来越不再适用,后端能采集到的数据是片面并且有限的,一方面后端与前端之间往往是缺乏数据交互的,大量操作都是预加载或者延迟加载,另一方面当用户出现网络故障或者环境问题时,后端再也没有机会知道用户在那些时间点上的操作。比如 Mixpanel 就会直接把数据扔掉。一般我们在说无埋点的时候,都说的是前端 SDK 全量数据采集,在前端尽可能做异步操作,尽量让用户感觉不到任何延时,不仅在客户端能抓取到全量的用户行为数据,同时也会先把数据缓存到本地,等网络正常后再次上传,尽可能保证用户数据的完整性。

数据分析的目的是为了驱动业务增长,我们需要的是从用户做了什么中找到趋势,找到转化率。《精益分析》书中第一章提到一个好的指标,首先应该是稳定的,其次应该是可比较的。我们的重心就是从数据中找到那些变化点,为什么今天的数据比昨天涨了,或者跌了,今天发生了什么事情,哪个渠道带来的流量,这是不是可持续的,如何才能保持增长。

数据驱动运营

基于数据和指标去思考为什么、我能做什么、我要做什么以及效果如何,这才是数据驱动。

二、无埋点能够更好地解决业务需求

很多人对于无埋点的理解误区在于认为无埋点只是看一下某个元素的浏览量和点击量,缺乏业务场景,这其实是非常片面的。

一切都是起源于商业问题。我们做无埋点的初衷是为了减少沟通提高效率,快速得到结果辅助决策。无埋点不等于不写代码,除了那些本身可以在前端采集到的业务数据,我们同时还提供了一系列的高级功能,让用户在集成时花费很轻的成本,就可以采集到更多的业务数据,比如:

我们有用户属性的集成,用于构建用户画像,从多维度分析一个用户的方方面面;

我们有页面属性的集成,可以基于业务场景划分一个应用为多个不同的页面组,每个组可以根据业务需求进行各自自己的多维分析;

我们还有行为属性的集成,可以让你在用户具体行为上集成业务属性。

这些就如 Google 一样,一方面在数据处理和自然语言处理上不断精进,但是同样会有一套 Semantic Web 的规范,让搜索引擎能够更理解业务。

而后端埋点,有个非常严重的硬伤是,行为数据和后端数据无法很好的关联,后端数据只是个结果,但是却无法归因。比如当我们去分析注册转化率时,我们会发现因为缺乏很多前端行为交互数据,而不知道有多少人放弃注册了,放弃注册是因为什么,我们应该如何去改进等等。

在无埋点方案下,我们非常清楚的从用户细查里查看到用户的每一步操作,帮助我们快速定位问题。

GrowingIO 用户细查

同时,我们提供了 GrowingIO 热图让你对群体行为更加一目了然。

GrowingIO 热图

任何的数据分析都是基于业务需求场景化的,是一个发现问题、思考原因、提出方案、验证论证的循环过程,如何在用户尽可能少的参与下,能理解和分析出用户的业务场景,是我们一直在努力的方向。这并不是一个人一个团队孤独地在战斗,是一个基于群体的智慧学习的过程。我们会继续深入研究和挖掘这部分,让业务需求能更快更直接的呈现在用户面前。

三、无埋点是否只是一个宣传的点?

像很多改变现在的新科技能力刚面世一样,也有些人会问无埋点到底能产生什么业务价值。

很难想象,如果3 年后 5 年后,业务端还要不停地和产品经理、分析师、工程师沟通埋点,极其浪费时间和资源。活在当下,立足未来,站在我们今天的成果上来说,我们能很清楚地感觉到,未来在哪里,有多远,如何才能给用户提供最大的价值。

Nothing Is Impossible. 这是我们在招聘时非常看重的一点。世界上所有做不了的事情,并不是因为真正做不了,而是我们自己认为这个做不了。我们不会因为别人不会做、告诉我们做不了,就不去思考接受认为自己也做不了。总是有那么一群可爱的人,他们就是比较傻,每天想着如何自己能多做一点,让我们客户能更快更方便的直接得到价值。

今天,我们已经将完成一个数据分析的时间,从原来的几周,缩短到了几小时,节约了大量的跨部门沟通成本和工程师的开发成本。明天,我们还会再从几小时缩短到几秒钟,深入挖掘商业洞察。任何以「难」为借口而让客户迁就于你、浪费大量无谓时间的解决方案都是耍流氓,我们一直有这个信念。越困难的事情,解决了就能带来越大的价值,我们做的越多,客户获取的价值就越高,而这就是为什么今天我们在这里的意义。一切缘起于商业!我的朋友奇点金融的联合创始人海舟说的一句话,我非常喜欢:

Do Great Things

最后,感兴趣的可以了解下我们的帮助文档 (https://help.growingio.com),看看我们的实现逻辑,明白了的话可以约我聊聊,欢迎一起来做一件非常有技术挑战的事情。

从 0 到 1,是守旧和改进的区别,是过去和未来的差别。而有这群愿意不断挑战、自我时刻以客户价值为第一位的伙伴一起,是 GrowingIO 走向未来的坚实保障。

如需转载,请注明文章来源于GrowingIO 官方博客:https://blog.growingio.com

Yedingding

关于我

技术创业者,系统架构师,GrowingIO 联合创始人,Teahour 主播。