作者:Aaron(转载已取得作者授权)

在第一篇《数据分析之如何制作数据埋点文档》中已经对工作中应用的数据埋点的基础概念、基本分类、定义规范、流程以及应用场景做了简单的介绍,基于部分看官老爷反馈Key-Value字段晦涩不易读的一些问题。

所以本篇将在之前介绍的基础之上,深入一步,详细讨论Key-Value字段的价值,以及灵活运用的方法。期望能帮助各位看官老爷基于业务需求在自己进行产品的埋点方案设计时提供一些解决问题的思路。

在第一篇文章埋点定义规范部分对应Key-Value字段没有向看官老爷交代清楚,本汪痛定思痛,面壁思过,还望各位海涵。在本篇中针对遗留问题做了详细的图文解释。

正文

在上篇中我们已经知道,一个完整的埋点需要定义哪些字段,回顾如下:

  • 功能字段

  • 中文名字段

  • 事件类型字段

  • 事件ID字段

  • Key字段

  • Value字段

  • 记录规则字段

  • 备注字段

写到这里,看官老爷可能会问:埋点中定义Key-Value有什么价值?接下来本篇第一部分的篇幅将与大家一起一探究竟。讨论到底Key-Value是做什么用的。

先写结论:

设计事件埋点时:

  • 同种属性的多个事件,建议命名一个埋点事件ID,并通过Key-Value键值对进行区分。

  • 不同属性的多个事件,建议命名多个埋点事件ID,不建议使用Key-Value键值对进行区分。

乍一看,可能有些晦涩难懂,以下将举两个实例,自然就能明白易懂。

实例背景:某汽车互联网公司,领导对负责新车业务的产品经理X君、负责二手车业务的产品经理Y君提出需求:对新车APP和二手车APP销售线索数据指标进行数据监控,如有超过5%的数据变动,则需要向上级汇报波动数值以及波动原因。

名词注释:

  • 销售线索:通过事件记录到用户有明确的购买意向,记录行为的事件例如:电话咨询、短信询价、加入心愿单、收藏、特别关注等类型事件。记录一个用户即代表一个线索。

  • 数据波动:即((当日数据-昨天数据)/昨日数据)*100%=环比数据波动

根据领导需求,假设定义短信砍价按钮与电话咨询按钮为销售线索指标,销售线索按钮页面的入口来源页面包含:页面A与页面B。

X君与Y君分别设计了埋点方案,如图所示:

X君埋点方案:

X君经梳理得出,在商品详情页共计有两个按钮是销售线索的核心指标分别是按钮一:短信砍价、按钮二:电话咨询。并且有外部入口导流到详情页的有两个页面,分别是:页面A、页面B。根据流量来源的不同与事件类型的不同分为4个埋点事件,每一个埋点事件代表一种情况,如上图所示。

方案分析:

X君对每一种情况都单独设置了一个埋点事件ID,初步看上去还没什么问题,X君只需每天用这四个事件ID去后台搜索即可满足领导的需求:对核心指标进行监控。

假设随着业务的快速增长,新增更多的外部入口页面,由原来的页面A、页面B的2个入口页面增加至4个、8个、12个,同样随着产品优化需求的上线,新增更多的销售线索事件,由原短信砍价和电话咨询2个销售线索事件增加至4个、8个、12个。

在极限情况(12个外部页面入口、12个销售线索事件)下X均需要共计维护:

12*12=144个埋点事件ID。

假设分析场景:12个流量来源、12个销售线索事件,分析X天共计提交了多少线索?,来自页面A的有多少?

问题一:分析X天提交的销售线索中来自页面A的有多少?

解决以上问题,X君首先需要将流量来源是:页面A的12个不同类型销售线索埋点事件ID找出来求合算出数值。

问题二:分析X天用户共计提交了多少线索?

其次需要将剩下的11个流量来源各维度下12个不同销售线索事件的ID一一取出数据加上流量来源是页面A维度下的所有类型线索取出的数据,并进行最终求合算出X天共计提交线索数…写到这里,各位客官老爷可能会说:X君好累啊~,其实不仅累,并且会带来严重效率问题:

  • 产品经理自身的工作效率会极大的降低,埋点事件ID越多,效率越低,最后极限情况下会无限逼近于零效率、零产出。

  • 埋点事件无论是普通埋点还是关键核心指标埋点,不仅产品经理需要监控自身产品健康情况,兄弟部门像:数据运营同事、数据分析同事都会基于部门需求对产品进行数据分析与监控,如果像刚才这种情况,数据运营同事每周写数据周报时,单单是一个埋点事件就要计算12个流量来源进行求合,效率极低,会严重拖累运营同事的工作效率。并且对于数据分析师来说,假设在统计整体的销售线索指标时,如通过X君定义的埋点进行分析,在写查询语句SQL时,单是事件ID就要写144个,(大家脑补下数据分析师有节奏的拷贝事件ID 144下时这个画面),数据分析时会毫不犹豫的说:“来来来,X君我有事找你谈谈~~”可能有的看官会说:一个按钮用一个埋点事件ID记录就好了,不用区分页面流量来源,那问题来了:当数据产生异常波动时怎么确定是哪个页面的流量入口的流量变动导致最终的结果?

  • 由于每天产品经理需要大量的埋点事件ID来统计一个指标,导致工作效率低下,可能会让领导对你产生工作能力差,产出效率低下的不好印象…

那客官老爷会问:那怎么办?稍安勿躁,马上揭晓,请继续向下看。

Y君埋点方案:

首先Y君对于销售线索有关的内容从各个维度,按照逻辑关系进行拆分,梳理出以下脑图:

写到这里就不卖关子了,基于思维导图中的逻辑关系,Key-Value闪亮登场!!!

Y君基于思维导图中的逻辑关系,使用Key字段表示分析的维度,使用Value字段表示不同维度下对应的唯一参数标识,从而将每个维度下众多不同的参数区分开来。通过Key-Value与同属性事件ID的配合,像销售线索这个指标就可以用一个事件ID来表示。在未来即使扩展N个外部入口流量页面,也只需要在当前事件ID在表示流量来源Key维度下在首次开发时新增N个Value参数即可。在未来应用于数据分析时,只需要搜索或写一个事件ID即可对各维度(Key)下不同参数(Value)进行分析,简介、高效。

例如假设分析场景:12个流量来源、12个销售线索事件,分析X天共计提交了多少线索?,来自页面A的有多少?

问题一:分析X天提交的销售线索中来自页面A的有多少?

Y君只需在后台查一个事件ID,并指定维度Key=指标来源(source)、Value=对应维度下参数为:页面A,最终求出的结果,即代表来自页面A的总数。

问题二:分析X天共计提交了多少线索?

同理,Y君只需要写一个事件ID,并指定维度Key=指标来源(source),Value=无。最终查询出的结果即代表总的线索数。

注释:

  • 当不指定Value时,默认为包含该维度下所有参数(本例中即代表所有来源)。

  • 各位看官可能会问:当不指定Value参数,且不指定Key维度,Key=无,Value=无 时,对最终总线索数有影响吗?答案是没有。

  • 同理,一个事件ID,指定Key=其他的维度,例如:Key=指标类别(type),不指定Value参数,例如Value=无,对最终总线索数统计有影响吗?同理答案是没有。

Y君通过梳理逻辑关系,将同属性的埋点事件使用一个总事件ID表示,结合Key-Value细分不同维度下的不同参数,方便日后数据分析。通过此方式很好的解决了X君面临的问题,不仅如此,并且具备以下优点:

  • Y君的维护成本低,更加简洁,新增时只需要首次开发时加一个Value参数即可。

  • 提高Y君自身、数据运营、数据分析师等兄弟部门在数据分析时的工作效率。

  • 扩展性好,对未来新增业务需求有良好的扩展性。

相信介绍到这里,大家对埋点事件中Key字段、Value字段配合使用带来的价值已经有了一定的了解。当然如果不同属性的埋点指标还是建议分开,一个属性定义一个事件ID,不能将八竿子打不着两种属性的埋点强行捆绑在一个埋点事件ID上,为了用Key-Value而用Key-Value,生搬硬套,最后只会适得其反,没有实际意义。

例如:在实际业务中,将用户点击“注册账号提交”按钮的行为放在销售线索这个属性事件ID中也通过Key字段、Value字段进行区分标识。结果没有参考价值,更没有实际意义。

综上所述,得出在正本第一篇幅中给出的结论:

设计事件埋点时:

  • 同种属性的多个事件,建议命名一个事件ID,并通过Key-Value键值对进行区分。

  • 不同属性的多个事件,建议命名多个事件ID,不建议使用Key-Value键值对进行区分。

各位看官老爷可根据自己产品的实际业务需求灵活运用,希望对大家在进行埋点方案设计时提供一些逻辑思路,帮助大家解决实际问题。O(∩_∩)O~

总结:

通过上一篇文章的基础理论铺垫,以及本篇中对埋点Key-Value字段的进一步介绍,涉及埋点方案规划的内容已基本讨论完成,期望本文中涉及埋点的篇幅能够帮助0-1岁的产品老爷在工作中规划以及维护埋点时提供一些逻辑思路,以及针对不同情况下解决问题的一些方案。

使最终交付的产物具备良好的扩展性、健壮性、易用性、高效性、可维护性等特性,以达到使自己以及兄弟部门花最少的时间成本获得最高数据价值的目的!

此外,视频号晚上直播答疑,欢迎有问题的老铁来聊聊。

最后,我建立了各大城市的产品交流群,想进群小伙伴加微信:yw5201a1  我拉你进群。

关注微信公众号:产品刘 可领取大礼包一份。

··················END··················

今日研报:普华永道发布《亚洲食品市场挑战:了解亚洲新消费群体》,公众号后台回复“ 亚洲食品”,即可下载完整PDF文件。

RECOMMEND

推荐阅读

实战 | 手把手教你设计优惠券前后台

手把手教你做B端产品经理

产品经理如何写好MRD文档

面试题,你有看过啥产品经理书籍嘛?

点击“阅读原文”

查看更多干货

数据分析之如何制作数据埋点文档(二)相关推荐

  1. 数据分析之如何制作数据埋点文档

    作者:Aaron(转载已取得作者授权) 在流量红利基本消失殆尽的大背景之下,流量逐步呈现愈发明显的马太效应,智勇双全的前辈们遂提出了精细化产品探索之道,等各种方法论,通过数据分析团结一切可以团结的力量 ...

  2. 数据分析入门:初始数据埋点(二)

    本文主要针对Key-Value字段的价值展开讨论,并简析其灵活运用的方法. Hi,各位看官老爷们好O(∩_∩)O~,在第一篇<数据分析-初识数据埋点>中已经对工作中应用的数据埋点的基础概念 ...

  3. [经典]数据产品需求文档怎么写?

    何为数据产品? 从广义上讲,一切以数据作为驱动或者核心的都叫数据产品(例如数据报表平台.DMP.搜索与精准化产品.风控产品等等),从狭义上讲,就是公司的内部数据平台.今天和大家讨论的,主要是关于公司的 ...

  4. Python数据分析大作业 4000+字 图文分析文档 销售分析

    资源地址:Python数据分析大作业 4000+字 图文分析文档 销售分析 +完整python代码 数据来自某商场,具体商业数据保密 资源地址:Python数据分析大作业 4000+字 图文分析文档 ...

  5. 使用javaHelp制作java swing帮助文档

    使用javaHelp制作java swing帮助文档 最近在做一个Swing项目,项目接近尾声,需要做最后的帮助系统了.就想到了javaHelp.JavaHelp是sun退出的编写帮助系统的一个类库, ...

  6. 深入浅出理解数据分析系列之:Python安装Excel文档库openpyxl和Pycharm为项目安装Excel文档库openpyxl

    深入浅出理解数据分析系列之:Python安装Excel文档库openpyxl和Pycharm为项目安装Excel文档库openpyxl 一.Python安装openpyxl 二.Pycharm为项目安 ...

  7. java将后台数据库查询到的数据导出word文档当中

    java将后台数据库查询到的数据导出word文档当中 之前项目需求使用Java导出word文档,一直没有进行整理,今天把它进行整理出来,以便以后使用到:下面是导出的word文档. // 前端报告表格 ...

  8. java如何根据模板填充数据生成word文档

    java根据模板填充数据生成word文档 这篇文章干什么? 思路总览 1.准备word模板 2.转换文件格式 3.编写代码 补充--下载流 这篇文章干什么?   使用代码将word模板内容进行替换,并 ...

  9. 【开发教程10】疯壳·开源蓝牙智能健康手表-OTA镜像制作及下载技术文档

    DA14580(SDK5) --疯壳·智能穿戴系列 OTA镜像制作及下载技术文档 一.镜像制作 打开相关准备文件夹下的 图1 解压,出来如下图所示. 图2 按照官方文档把两份代码的 hex 改好名字后 ...

最新文章

  1. 利用zxing读写PDF417码制的二维码
  2. QML ListView几个常用且非常重要的属性
  3. 1.1 编程语言介绍
  4. 【软工项目组】第九次会议
  5. python读取栅格gdal库下载链接
  6. 荔枝图床阿里掘金搜狗奇虎图床源码
  7. /var/log目录中Linux日志文件的功能详解
  8. 我的2013 --岁月划过生命线(大二.上)
  9. 【LeetCode】剑指 Offer 24. 反转链表
  10. boost电路输出电流公式_boost电路解析
  11. 新法规将处罚垃圾邮件制造者
  12. 基于SaltStack完成LVS的配置管理
  13. tomcat使用线程池配置高并发连接
  14. 活动目录回收站之终极应用---Windows2008 R2 新功能系列之十一
  15. 功能机用上下键实现MoveEvent
  16. AI英雄 | 论人工智能与自由意志,请看尤瓦尔与李飞飞的这场“激辩”
  17. 创建对象的几种常用写法
  18. vue上线后图片不显示_vue开发之图片加载不出来问题解决
  19. 家里6只猫,我是如何分辨品种?前端程序员的AI识猫
  20. 权力的游戏中文字幕词云图

热门文章

  1. vue可以直接进行运算么_Vue实现计算器功能
  2. php熊掌号怎么设置json-ld,dedecms织梦系统对接百度熊掌号并添加JSON_LD数据
  3. resultmap拿不到数据_阿里巴巴国际站每日电商运营工作数据表格
  4. python中读取txt文件、统计其中所有字母出现的频度_Python编程小技巧:如何统计序列中元素的出现频度...
  5. C语言-字符串处理函数strcpy
  6. C++基础07-类之静态成员变量和成员函数
  7. libvirt虚拟机管理常用指令
  8. 使用iometer测试
  9. 打包jar文件后的spring部署及hibernate自动建表经验总结
  10. 回溯法在解决八皇后问题中的应用