关于数据埋点,你需要了解这些基本知识

2024-09-09 18:08

本文主要是介绍关于数据埋点,你需要了解这些基本知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

产品汪每天都在和数据打交道,你知道数据来自哪里吗?

移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。

 

埋点类型

根据埋点方式,可以区分为:

  1. 手动埋点
  2. 半自动埋点
  3. 全自动埋点

秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定制需求难满足,成本较低;偏手动的,能满足个性化需求,但容易出错和疏漏,成本较高。

上报方式:

  1. 客户端上报
  2. 服务端上报

客户端能记录一些通用页面PV、UV、点击等信息,但更多细节无法覆盖,用户购买了什么、订单金额、成交单数,用户看了哪个视频、视频物理时长是多少等信息则需要服务端回传,服务端上报有上线灵活、不随版本、丢失率较低的优点。

客户端上报埋点数据流转如下图:

关于数据埋点,你需要了解这些基本知识

(客户端上报埋点数据流转)

埋点在个性化推荐系统(详见下一篇推送)中扮演着先头兵的角色,采集的数据的准确性将直接影响策略方向。

 

端数据

由于不同端的用户具有不同用户特征,往往会有不同的做功点,因此,采集数据时需要区分端数据,可以通过app_id区分产品不同端,如iOS、Android、iPad、PC各端。

 

埋点事件

如果作为数据分析师,思考角度较高,输出的埋点需要有“可扩展、可维护、易用性、高效性”,字少事大的典型。产品汪可降低要求,只要能看懂埋点文档,正确提出埋点需求、知道哪些数据对应哪些埋点即可。

关于数据埋点,你需要了解这些基本知识

(埋点文档示例)

根据场景,同一属性的行为往往会归为同一类埋点,成为“同一事件”,同一事件下会有相应的扩展字段来承接相关的细节信息。

关于数据埋点,你需要了解这些基本知识

 

事件字段

以资讯app(如今日头条、腾讯新闻、网易新闻)为例,按漏斗思维和用户的行为路径拆解,有哪些数据可能需要获取?

打开APP人数(客户端登录损耗)->首页/栏目访问人数(访问占比)->刷新或点击人数(刷新或点击人数占比)->点击人数(点击率)->阅读时长/停留时长(读完率、阅读进度)->跟帖/收藏/分享等互动行为(互动率)->回流人数(回流率、病毒传播系数)

以上环节怎么对应上埋点?

根据行为属性,埋点事件大致分为以下几类,并不唯一:

关于数据埋点,你需要了解这些基本知识

埋点事件下的信息怎么看?如item_id:”114774”,冒号前是字段(key),冒号后是值(value),//后的是注释。

以视频浏览事件(_vdE)为例:

关于数据埋点,你需要了解这些基本知识

字段注意点和应用场景:

  1. item_id:内容id,易错传为序列id
  2. type:内容类型,如图文、视频、音频,可区分内容类型作分析
  3. referer_id:上一页面内容id,可用于相关推荐业务的分析
  4. _pt/_pi/_pm系列:定位页面和模块,可用于不同业务线的分析,例如首页、要问频道、正文页等
  5. _pre_系列:追踪了上一级页面,可用于用户行为路径分析

除了关注字段的定义和场景外,还需留意上报时机,定义尽可能周全,就以此视频浏览事件为例:

  1. 页面退出(销毁)时:点击返回等
  2. 切换到其他视频:点击上下集,点击相关视频等
  3. 按home键退出时
  4. 锁屏时
  5. app杀死时

以刷新事件(_fsE)为例:

关于数据埋点,你需要了解这些基本知识

  1. direction:可供产品汪区分上拉、下拉作刷新行为的分析。你可能会发现,除自动刷新外,大部分用后喜欢上拉刷新,但下拉刷新的广告位更值钱(有问题存在就有工作要做了)。
  2. auto_type:在新session,打开app到达首页会有一次自动刷新(即用户没有手动操作),可用于分析用户主动刷新的行为。

以评论事件(_cmE)为例:

关于数据埋点,你需要了解这些基本知识

从以上埋点,我们能获取哪些数据?

每篇内容的评论数,可区分内容类型、栏目、评论类型、位置;结合获取到的用户id,还可以从用户维度分析。

以上埋点字段仅做示例说明,需要根据实际的数据需要来增删字段,定义要明确,场景要详尽,避免出现“想要分析次均阅读进度,却发现没有相关字段”的窘境。

 

五花八门的用户id

用户id是用户的唯一标识,是该用户在应用里活动的“身份证”,但它在获取的时候可是五花八门的,曾经某产品汪提供的deviceid和数据分析师手上的uuid完全对不上,ab实验得重做,所以懂多点儿概念提前问一问准没错。

关于数据埋点,你需要了解这些基本知识

(用户id获取示例)

以iOS系统的用户id获取为例,先补充几个概念。

  1. IDFA(广告标识符,Advertising Identifier),是苹果公司提供的用于追踪用户的广告ID,同一手机的不同APP对应着相同的IDFA,IDFA可通过以下步骤重置:设置-隐私-广告-还原广告标识符。因为IDFA会存在取不到的情况,因此需要选用其他的ID作为DeviceID。在取不到IDFA的情况下,选用IDFV。
  2. IDFV(Vindor标示符,IdentifierForVendor),一般用于追踪用户在应用内的行为,每个设备在所属同一个Vender的应用里值是相同的。如果用户删掉了该vender的所有APP,IDFV将会被重置。
  3. UUID(通用唯一标识码,Universally Unique Identifier),通用唯一识别码,每次生成均不一样;第1次生成后UUID后,需要保存到钥匙串(keyChain)中;应用被删除再重装时,仍然可以从钥匙串得取到UUID;在一台设备上,同一个开发者账号的所有APP,可获取到相同的UDID;刷机或者重新安装系统后,UUID将重新生成。

鉴于没有任何一种标识符能百分百准确获取,且为了尽可能获取用户id,会有一个退而求其次的获取逻辑,即先取IDFA的值,取不到IDFA时去取IDFV的值,再取不到时IDFA时,则生成UUID。

获取用户id逻辑示例:

  • iOS:先取user-DA;如果user-DA为空或者为00000000-0000-0000-0000-000000000000,取user-DV;如果user-DV为空,取deviceid
  • Android:先取imei;如果imei为空或者为02:00:00:00:00:00,取deviceid

 

埋点踩过的坑

字段和值

  • id字段指内容id,错传序列id,导致无法读取用户浏览的内容,丢失用户阅读历史(影响个性化推荐)。
  • 当内容是合集时,item_id传合集id还是主视频id需提前定义

上报时机

  • 需明确定义,如:不同端的文章浏览事件切换前后台时的上报时机需统一,Android切前后台都上报,iOS仅切前台时上报,导致两端的人均阅读数差异大。
  • 需正确上报,如:视频浏览事件出现同一个用户的同一条数据重复上报(事件、时间戳、用户id等都相同),使统计的浏览量偏大。

统计

  • 栗子1:过滤浏览事件中时长>=10 ms 和 时长<10000000 ms 的异常数据。
  • 栗子2:过滤刷新事件中单个用户每天几千几万次刷新的异常数据。

 

埋点注意点

  1. 埋点问题需跟版本修复,bug修复周期长:手动埋点如果出现漏埋或埋错的情况,必须依赖下一个版本发版,才能看到数据(发版还需时间覆盖,很伤),想周全+多测试=高效率
  2. 定义明确,格式规范,正确上报
  3. 测试环节很重要(老生常谈)

 

日常反馈bug姿势

产品汪反馈bug是家常便饭,甩个bug截图可能会被忙碌精分的开发直接无视,掌握反馈bug的正确姿势:

  1. 截图
  2. 提供自己的app账号或手机信息
  3. Android:提供imei(手机数入*#06#可自助查询)
  4. iOS:提供idfa(抓包查询)
  5. 说明时间和场景,给开发补充上下文,方便定位问题

走上述流程,开发一定觉得你可爱无比。

 

结语

只要产品仍在迭代,就需要更新埋点以供数据分析使用,可以说埋点将伴随产品终生,携手埋点,头发也将越来越少,且行且珍惜。

这篇关于关于数据埋点,你需要了解这些基本知识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1151891

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

pandas数据过滤

Pandas 数据过滤方法 Pandas 提供了多种方法来过滤数据,可以根据不同的条件进行筛选。以下是一些常见的 Pandas 数据过滤方法,结合实例进行讲解,希望能帮你快速理解。 1. 基于条件筛选行 可以使用布尔索引来根据条件过滤行。 import pandas as pd# 创建示例数据data = {'Name': ['Alice', 'Bob', 'Charlie', 'Dav

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者