数据埋点2

news/2024/11/17 0:03:57/

文章目录

  • 1 数据埋点流程
  • 2 六个步骤实现数据埋点设计
    • 2.1 确认事件与变量
    • 2.2 明确事件的触发时机
    • 2.3 明确事件的上报机制
    • 2.4 设计数据表结构
    • 2.5 统一字段命名规范
    • 2.6 明确优先级
  • 3 以电商购物成交转化为例实现数据埋点设计

作为数据分析师的你,是否和我一样经常会被业务方拿着两个不同数据平台的报表数据进行灵魂拷问。下面的场景你应该在熟悉不过了。

一场拉新促活的活动之后,运营拿着两个不同团队维护的报表数据来问我,为什么两份报表统计出来的日活跃用户(DAU)数量不一致?
我解释道,“你确定两份报表的统计口径是一致的吗,最小的统计维度是一致的吗?”
运营说,“都是一样的啊,统计的都是DAU。”
我说,“DAU以account_id为最小维度进行统计或者以device_id或者以open_id为最小维度进行统计的结果都会有一定的差距。
我们这边是以account_id为最小单位统计的DAU。而且,即使统计口径一致,埋点和上报方法也有区别。”

后来,我向另外一个数据平台的相关人员咨询之后,发现他们统计DAU的最小单位是open_id,不同的统计口径会造成一定的数据差异。而统计口径的差异不止出现在报表统计阶段,在数据埋点阶段也会出现口径不一致的问题,触发事件的条件、数据埋点的方式、数据上报的方式不同都会造成数据不一致的情况出现。

为了避免这些问题,小编把自己踩过的坑总结出来并形成一套方法论,希望初学的你或即将转行的你能够少采坑,高效地完成数据埋点工作!

1 数据埋点流程

数据埋点是数据治理流程中重要的一环,是一项多部门协作共同完成的工作,数据分析师在这个流程当中承担着重要的角色。我们将数据埋点流程梳理为下图,数据分析师从数据需求评估阶段直至数据应用阶段都会参与流程,可谓是埋点工作的中流砥柱。
在这里插入图片描述
在数据埋点这项工作中,数据分析师需要立足于当前的数据需求,提炼出数据指标方案,并且构思要看这些指标需要有哪些数据,这些数据也就是需要埋的点。当然,这只是一些初步的埋点方案,想要让埋点指标变得“准”而“全”当然还需要另外一些方法实现,比如用户路径之类的。有了初步的埋点规划之后,分析师还需要确定时间触发机制和上报机制,因为不同的机制意味着不同的统计口径。对于新业务来说,为了避免统计口径不一致而出现乌龙事件,最好能和之前的口径一致,以方便横向比较。除此之外呢,统一各个项目之间的字段命名和表结构也是一项必不可少的工作,这个步骤也是数据治理流程当中必不可少环节。完成这些步骤之后,一份初步的埋点就差不多完成了。在和需求方以及程序的反复讨论中修改完善埋点文档,将埋点文档交付程序进行埋点,在此期间分析师需要通过测试环境的数据验证当前埋点是否存在一定的问题,若有问题还可以在该阶段进行修改,若无问题可上线埋点事件。

2 六个步骤实现数据埋点设计

数据埋点设计师数据分析师是埋点的重中之重,埋点设计得好能够极大地方便后续的数据应用。对于数据埋点设计,我们也总结了六个关键步骤。

2.1 确认事件与变量

这里的事件指产品中的功能或者用户的操作,而变量是指描述事件的属性或者关键指标。确认事件与变量可以通过AARRR模型或者UJM模型进行逐步拆解,理清用户生命周期和行为路径,抽象出每一个步骤的关键指标。

2.2 明确事件的触发时机

不同的触发时机代表不同的计算口径,因此触发时机是影响数据准确的重要因素。以用户付款为例,是以用户点击付款界面作为触发条件,还是以付款成功作为触发条件进行埋点呢?二者口径不同,数据肯定会有一定差异,因此明确事件触发条件非常重要。

而在用户付款这个例子中,我们建议使用两个字段记录用户付款行为,一个字段记录点击付款界面这个行为,另一个字段记录是否付款成功。

2.3 明确事件的上报机制

不同的上报机制也是数据准确性的重要影响因素之一,客户端上报数据可能会由于网络原因出现丢包的情况,前面章节已经详细介绍过,这里就不在赘述上报机制之间的异同。而作为数据分析师,在完成埋点工作的时候也需要确定数据是实时上报还是异步上报,以确定埋点是否合理,并及时调整数据埋点方案。

2.4 设计数据表结构

统一的数据表结构,方便团队内部进行数据的管理和复用,建议团队内部形成一套统一的数据结构规范。例如,将表分为不同的层级,第一层记录用户的基础信息,包括id,地区,昵称等;第二层记录玩家行为信息。

2.5 统一字段命名规范

有了统一的数据表结构档案还是不够的,统一数据命名规范数据埋点工作的重要一环。确保同一变量在所有的数据表当中都用统一的字段,比如消费金额这个字段,我们希望所有的表只要出现消费金额都用Amount字段,不要出现money,pay等其他字段。
建立公司内部或者团队内部的命名规范是非常必要的,可以采用「动词+名词」或者「名词+动词」的规则来命名,比如「加入购物车」事件,就可以命名为:addToCart。

2.6 明确优先级

数据埋点都是为数据应用做铺排,埋点之后分析师可能面临着搭建指标体系和数据报表体系的工作,可以根据报表的优先级、埋点的技术实现成本以及资源有限性为数据埋点确定优先级。

3 以电商购物成交转化为例实现数据埋点设计

(1)通过UJM模型拆分用户购买商品的路径:将用户购买路径拆解为注册-登录-商品曝光-商品点击-浏览页面详情-加入购物车-生成订单-订单支付步骤,根据产品或策划提的数据需求,确定每一个步骤学要看哪些字段才能实现数据需求。
(2)确认触发机制:明确是在点击按钮时记录行为还是在用户完成该步骤时记录行为。
(3)确认上报机制:明确数据上报机制,是实时上报还是异步上报,不同的上报机制采集到的字段可能不一样,或者说需要将字段拆分到不同表进行记录。
(4)统一字段名:业务内同一变量在所有的数据表当中都用统一的字段,例如,用户编号用account_id,用户所属国家用region,用户所属地区用ip_region等等。
(5)统一表层级结构:我们这里采用两层数据表结构,第一层存放用户基信息,第二层存放用户行为信息。这个根据团队内部的数据接入规范进行调整,只要是统一的结构,对于数据分析师的分析都是有利的。
(6)明确数据优先级:根据埋点需求的紧急程度,给每一个买埋点任务标上优先级。
在这里插入图片描述
根据上面的六个步骤,将每一个步骤需要记录的字段按照标准格式汇总到文档,即可完成初步的埋点设计。当然完成初版埋点设计之后,还需要与产品、策划、程序一遍一遍过文档内容,不断修改完善,直至三方会谈达成统一意见。
在这里插入图片描述
参考链接
https://mp.weixin.qq.com/s/8lHa-Z5KdBGqoEGS5I9glQ
http://www.woshipm.com/pd/3070837.html
https://mp.weixin.qq.com/s?__biz=MzI2MTAxOTk5OQ==&mid=2650945421&idx=1&sn=b16a4fbe3b535b91b21baa8a2855aa8b&chksm=f19657bdc6e1deab3568d0020033a58ffeea90806eff483d9e8d8d32f3115e9160db0a72f68b&scene=21#wechat_redirect
https://www.cnblogs.com/flzs/p/13815329.html


http://www.ppmy.cn/news/60651.html

相关文章

OI 数论模板总结

1.欧几里得算法 可以通过欧几里得算法求出最大公因子。 int gcd(int x, int y) //欧几里得算法 { return y0 ? x : gcd(y, x%y); }2.扩展欧几里得 可以通过扩展欧几里得求出 a x b y d axbyd axbyd 不定方程的一组整数解。( a , b , d a, b, d a,b,d为正整…

【热门框架】Mybatis-Plus入门介绍看这一篇文章就足够了

MyBatis-Plus 是在 MyBatis 的基础上进行了封装,提供了更加便捷的开发方式,具有简化开发、提高效率等优点。以下是 MyBatis-Plus 的一些特点和用法: 通用 CRUD 操作:MyBatis-Plus 提供了通用的 CRUD 接口,可以直接调用…

TinyJAMBU的制动原理——一种轻量化的认证密码

关于TinyJAMBU的定义和介绍在另一篇博文已经介绍过了,这里只对其动作原理进行描述和说明。 对应的博文链接如下:TinyJAMBU:一种轻量化密码介绍 首先,该密码是一个流密码体系的块密码框架。其加密模式整体上来看是块密码&#xff0…

Python 扩展教程(1): 调用百度AI

关于AI 自有计算机以来,人们就想让计算机具有人的感知、意识、概念、思维、行为,代替人的工作。AI (Artificial Interligence)是计算机科学的一个分支,专注研究、开发、模拟、扩展人的智能的理论、方法、技术及应用。 从研究领域和方法上&…

当音乐遇上Python:用Pydub自动分割音频

🎵 🎵 🎵 当音乐遇上Python:用Pydub自动分割音频 随着短视频应用的普及,越来越多人开始了解并尝试制作自己的短视频作品。而在制作短视频时,背景音乐的选择和使用也是非常重要的一步。很多人喜欢选择一首长…

JAVA编程语言中的关键字有哪些?

JAVA编程语言中有关键字,它们在编程中有着特定的含义和用途。下面是这些关键字的详细介绍: abstract: 抽象类或抽象方法的修饰符,用于表示方法或类是抽象的,不能被直接实例化。 assert: 断言关键字,用于在代码中进行条…

node笔记_http服务搭建(渲染html、json)

文章目录 ⭐前言⭐初始化项目调整npm 的script运行入口搭建hello world的http服务npm run dev执行主函数的http服务 ⭐http返回类型html模板文件返回安装express渲染html的字符串 渲染html文件 sendFile渲染json返回数据类型 res.json ⭐结束 ⭐前言 大家好,我是ym…

Vue快速入门,常用指令,生命周期

Vue常用指令 案例&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"…