如何高效进行数据采集,这里有一套完整方案
大家好,今天给大家带来指标实施体系中关于落地实施方案的一点经验,希望可以在日常的数据采集中对大家有所帮助。
作者:王汉
来源:GrowingIO 增长公开课第 41 期
GrowingIO 高级技术顾问,毕业于北京大学,Extron 认证工程师。服务过奇瑞汽车、中铁建工、滴滴等头部企业,有丰富的技术 部署经验。
1. 数据质量是数据分析的基石
假设一个场景:我们想要采集一个广告投放页的数据。
首先,我们与技术同学描述用户进入 App 开屏页所面临的场景:浏览—点击—跳转到广告页;接着,我们提出埋点需求。
点击数据分为有效点击和无效点击两类,但是由于技术侧同学并不会纠结此问题。 他便随便从网上下载了一个闪屏页框架,集成到项目中。
在该框架下,点击动作被拆解为:按下,抬起。而我们平时认为的点击动作应该是:短时间内按下和抬起两个动作同时出发。
由于框架的目标是增加点击率,即让看到广告详情页的人变多。所以,当用户按下的时候,就已经触发了跳转到详情页的操作。
大部分非目标客户都会很急躁的退出广告详情页,而真正看到广告并感兴趣的人员则会主动进入广告详情页。
由此带来的洞察结果是:点击率高,转化效果差。市场侧的同学误认为是广告设计的失败,这会影响下次广告投放的视觉效果或投放策略。
通过上述例子,我们得出结论: 数据采集的时机和技术侧的实现方式会大大影响业务侧的决策。
“九层之台,起于累土。”在形成一套可被洞察的数据之前,数据采集是最基础也是最关键的步骤。 只有数据采得准,这个洞察结果才能在你做商业决策时提供帮助。 否则将适得其反,再漂亮的数据分析也带不来实际的效果。
但是在埋点方案的实际实施过程中,我们可能会遇到以下困惑:
-
如何和技术端沟通你的埋点需求?
-
技术同学是否很快理解并落地?
-
最终数据生产结果是否符合你的预期?
GrowingIO 在与上百家客户落地埋点方案的经验中,发现“数据采集带来的数据质量问题”也许已经成为了企业的共性问题,而导致这一问题发生的原因主要有以下 4 点:
-
前期沟通业务不明确。 例如程序员不清楚有效点击和无效点击的区别,只是单纯地从技术层面完成埋点;
-
采集时机口径对不齐。 你希望采集数据的那个时机,技术同学并不明确;
-
采集点没有统一管理。 如果没有统一的渠道去管理点击、浏览等数据,你的埋点方案将因繁琐的程序而无法落地;
-
版本更新。 比如你在新旧版本之间进行比对时,无法发现数据的变化。
数据采集关乎数据质量,它需要产品及业务侧同事做出让技术同学 “看得懂、埋的对、实施快” 的技术落地方案。
2 . GrowingIO 为数据高效采集保驾护航
针对这些棘手问题,GrowingIO 的无埋点技术可以快捷定义页面、按钮、文本框等常见用户行为操作,从而减少在某些重复性高的用户共性行为的埋点代码操作量,为数据快速可视化提供便利。
1.无埋点的定义
什么是无埋点?我们先来看看你是否遇到过以下这些场景:
-
做了一场运营活动,需要在用户的每一次点击行为上都埋点,却缺乏产研资源;
-
想衡量交互细节以推测用户行为之间的关联,却苦恼于繁琐的工序;
-
想查看用户在访问时的一切行为轨迹,探索用户使用产品场景;
-
想要快速地对比新旧版本,衡量发版效果;
-
想要分析的事件,没有事先埋点;
-
新功能上线时,发现有一个重要的元素没有埋点。
针对以上问题,无埋点都可以很好的解决。其实无埋点就是人物、时间、地点、内容、方式的数据采集方式,通过 GrowingIO 的圈选(可视化定义工具)功能,我们可以所见即所得地定义指标。
无埋点(圈选)的核心思想基于以下 5 个元数据:
-
人物:人的属性,包括 ID、性别、所在区域等;
-
时间:触发行为的时间;
-
地点:行为发生的城市、地区浏览器等;
-
内容:行为的对象,如按钮等;
-
行为:行为的操作方式,如浏览、点击、输入等。
无埋点能够定义常见事件类型,尽可能地减少代码的使用,减少开发工作量。通过 GrowingIO 的圈选功能,我们能快速采集数据、定义指标、查看实时数据。
2.埋点和无埋点如何选择?
新的无埋点虽然简单便捷,但也有它自身的局限性。同时,我们离不开业务数据维度,所以传统埋点也不能放弃。
埋点和无埋点各有优势,面对不同的场景,我们需要明确目的、结合具体情况综合判断,选择数据采集的最优方式。
(1)埋点
-
优势
-
数据定义清晰,稳定性高,用户一旦触发事件,数据就能上报;
-
可以多次添加业务属性,以支持维度拆解和下钻分析。
-
劣势
-
需要提前规划,和开发团队沟通业务需求,跨团队协作确定埋点方案;
-
历史数据无法回溯,在下一个版本中才能看到。
-
适用于「监控与分析式」数据场景:
-
核心 KPI 数据
-
需要长期监控和存储
-
业务属性丰富
(2)无埋点
-
优势
-
自主性高,可实时查看数据,便于灵活采集;
-
无需等到发版便可回溯过去 7 天数据。
-
劣势
-
受制于产品开发框架和开发规范,任何一个路径发生改变都会产生影响;
-
维度预定义,无法拆分事件级维度,且无法采集滑动等行为。
-
适用于「探索式」数据场景:
-
交互属性强
-
突发问题快速及时分析
-
作为补充数据相互印证
综合以上,我们整理出了以下表格,方便大家更好的理解和选择:
总之,埋点技术灵活、稳定、局限性低、精度高,适合跟踪关键节点,隐藏程序逻辑搭配业务维度观察的数据。
无埋点技术确定快,有历史数据,有预定义维度加持,适合快速查看某些趋势型或流程型数据。
当我们选择无埋点还是埋点时,只需要关注: 该行为非核心指标且存在预定义无埋点指标中。
如果存在该预定义指标(即无埋点),且预定义维度也满足需求,那么,我们就要针对该无埋点的指标和维度进行观察,可放心选择无埋点。如果不存在或预定义维度无法满足观察该指标的角度,则需要通过埋点指标进行上报。
3 . 完整埋点方案设计的四要素
在规划完指标体系后,推进实施是价值落地过程中最重要的一环。
很多客户即使对要监控的数据体系相当明确,也仍然会在实施时遇到瓶颈。这很大程度上归结于团队协作问题,例如数据埋点工程量大、沟通成本高、业务方与开发方无法统一目标等。
这最终会导致我们空有体系,无数可看。
如果将一整套的数据采集方案直接给到研发侧,业务场景描述和逻辑理解的差异会造成大量的沟通成本,最终导致低迷的实施效率。
所以,我们需要将条理化的指标体系梳理成实施需求。而解决该问题的关键点在于以下 4 个步骤:
1.确认事件与变量
-
事件:这是我们最终要分析的数据来源.,是一个结果性指标,比如支付成功;
-
变量:事件的维度或属性,比如用户性别、商品的种类;
如果从不同的角度去定位一个问题,它的事件和变量也会发生改变。我们要基于数据需求,找到事件与变量搭配的最优解。
2.明确事件的触发时机
-
需要思考:什么时间才是记录事件的合理时机。例如“分享成功” 事件面临 2 个时机:用户点击“微信”发生分享动作;用户分享后跳转到相应页面。不同的时机会带来不同的“分享成功率”。
-
所有数据使用者需要明确这一时机。
时机的选择没有对错,需要根据具体的业务需求来制定。同时,不同的触发时机会带来不同的数据口径。
3.规范命名
举个例子:某客户给双十一活动命名时采用拼音与英文结合的方式,这会使得程序员产生混淆,错误埋点。而规范的命名有利于程序员理解业务需求,高效落地埋点方案。
-
动词+名词 or 名词+动词:如加入购物车、商品点击。
-
使用驼峰法,即首字母小写,随后每一个关键单词的首字母大写:如 addToCart。
-
确保事件命名规范一致。
4.明确实施优先级
-
业务部门必须基于业务指标,明确实施埋点的优先级。因为对于大量事件,开发部门不可能一次性完成所有埋点。以电商为例,购买流程的关键事件应当优先实施,与此冲突的都需往后排列;
-
考虑技术实现成本,比如有的埋点需要跨越多个接口,应该优先落实能够最快落地的,以确保技术准确性;
-
如果技术实现成本相同,就优先实施业务数据价值更高的。
通过明确优先级,我们可以专注于产品中需要跟踪的真正重要事件,避免技术埋点冲突,实现价值的持续交付。
基于上述四要素来完成埋点方案设计,不仅可以提升需求方与开发团队的协作效率,更能为后期的数据提供质量保障。
以下表格是我们整理出的模板, 该表格完整承接埋点方案设计的四要素,可直接交给技术方进行埋点。
4 . 团队协作是埋点方案落地的关键
接下来,我们如何在团队中又快、又准明确埋点需求,实现埋点方案的高效落地呢?
-
快: 需求方希望方案快速落地,快速产生数据,以推动决策;这需要需求方、数据规划师、开发团队三方有序协作。
-
准: 需要确保数据的数据质量和业务含义,保证数据采集的准确度和决策的正确性。
1.完整的埋点协作流程
我们 GrowingIO 在服务过上千家企业的经验中,梳理出了一套完整的埋点协作流程。包含了业务需求方、数据规划师及开发团队。
这三方协作的具体流程和时间轴是:
-
需求产生,需求方对业务指标进行拆解和设计,与数据规划师沟通,确认合理的采集点,形成埋点方案;
-
三方探讨技术实现成本,确认埋点方案;
-
开发团队和数据规划师执行方案,沟通埋点落实情况,呈现数据;
-
数据规划师进行数据校验,检查埋点时机和指标是否正确,过程是否完整;
-
程序发版上线,实现数据监控和分析。
2.具体场景演示
接下来将以某 App 的注册场景为例,帮助大家理解埋点方案落地的具体流程。
(注册首页填写手机号——注册验证输入短信验证码—注册信息 A、B、C——进入 App 首页)
(1)场景 1
业务方的需求是:快速分析现有注册流各个步骤间的转化率,从而找到流失较大的环节进行优化。
可见,业务方单纯关心该流程间步骤的转化流程,那么我们就要关注用户的浏览行为动作,可以把指标定义为各个步骤间的页面。
具体来讲,登录动作从登录首页到进入登录后的首页共 6 步,而且我们的关注角度如机型、地区、国家等不属于业务范畴,都在预定义维度中,这就很符合我们无埋点指标的定义规则。
所以,我们可以快速定义出 6 个浏览页面指标,即可完成对于数据的分析。
通过 GrowingIO 产品分析,我们可以得到以下图表,看到各个步骤的人数和转化情况。据观察,注册验证——注册信息 A——注册信息 B 这 3 个页面间的流失率高,我们需要在此进行优化。
以上就是无埋点的快速定义,我们不需要等待下次发版,就可以实时观察数据,分析事件。
(2)场景 2
客户的需求是:查看完成注册的用户中,填写实习行业和性别的分布情况。
根据完整埋点方案设计的四要素,我们应逐一确认:
-
事件:注册完成;
-
维度:实习行业、性别;
-
采用无埋点还是埋点指标:很明显,实习行业和性别是与业务相关的指标,我们需要通过埋点采集相关数据;
-
埋点的触发时机:在注册完成的回调中拿到性别及行业信息;
-
确认命名:事件——registerSuccess 注册完成;维度——practiceVocation 实习行业、sex 性别。
根据呈现出来的埋点方案文档,我们无需反复沟通,程序员便可以快速地明确业务需求,进行埋点操作。
3.数据校验
数据采集完毕后,还需要进行最终的确认,也就是我们通常所说的数据校验。
对此,GrowingIO 有一套完整的数据校验工具,可以快速定位数据产生的流程。如浏览了哪些页面、是否触发事件 、埋点事件是否与定义字段对应等。
如果发现某个环节出现纰漏,我们就能及时地反映问题、解决问题。
最后,在这里想与大家分享一句话:“柢固则生长,根深则视久”。 数据驱动的“根”在于数据采集,只有采集的数据足够准确,我们才能做出正确的决策,推动企业持续发展。
今天的分享就到这里结束了,感谢大家的宝贵时间,希望能对大家有所帮助。