01 数据采集层 流量分发第一步规范采集海量数据

news2024/10/7 4:37:18

《易经》:“初九:潜龙勿用”。潜龙的意思是隐藏,阳气潜藏,阳爻位于最下方称为“初九”,龙潜于渊,是学而未成的阶段,此时需要打好基础。

而模块一我们就是讲解推荐系统有关的概念、基础数据体系搭建、埋点上报、用户和物品画像、标签挖掘、AB 测试系统等各基础知识,助你快速了解互联网业务场景及推荐系统的作用。

这一讲作为模块一的第一讲,有必要先来了解一下个性化流量分发体系的整个搭建流程。

在课程开始之前,我们先看一个例子:

在日常生活中,打开 58 同城网站时,我们可能会遇到以下情形:

  • 和好友同时打开 App,发现我俩的首页金刚区本地服务的图标和文字不一样?

  • 搜索“小区搬家”,发现首页搜索框里的推荐词也发生了变化。

58 同城怎么知道我需要什么样的本地服务?为什么搜索框里的推荐词也发生了变化?这就涉及这一讲要讲的内容——个性化流量分发体系。

以平台是否掌控整体流量分配情况为依据,我们把个性化流量分发体系的模式分为中心化模式和去中心化模式。为了方便你理解,我们再拿 58 同城举例(主要看下中心化模式)。我们知道 58 同城 App 首页有搜索框、分类宫格式导航、部落信息轮播、头条栏目、猜你喜欢推荐等业务模块,流量就是通过这样的设计模式从首页中心化分配到其他各个业务模块。

相信你对个性化流量分发体系已经有了初步了解,接下来我们继续揭开它的真面目。

个性化流量分发体系

那到底什么是个性化流量分发体系呢?个性化流量分发体系是通过、策略手段来平衡用户体验和商业目标。在这个过程中,我们需要把用户的访问流量合理分配到各个流量利用区,促进流量利用最大化,或者说获得流量最大限度转化,最终提升流量价值,从而达到战略意图。因此,个性化流量分发体系的本质就是对整个产品的用户行为路径进行优化。

在个性化流量分发体系搭建过程中,数据是非常重要的资产,也是驱动决策的燃料。这里提及的数据,主要指的是基本信息、显式反馈、隐式反馈这三种。

  • 基本信息:主要指用户的性别/年龄/地区、物品的分类/款式/重量等。

  • 显式反馈:一般指用户对物品的真实评分,这类数据的特点是用户操作成本高,数据量小,更真实。

  • 隐式反馈:一般指除直接评分以外的若干用户行为数据,包括点击、加购、收藏、购买、浏览时长等,这类数据特点是用户操作成本低、数据量大、具有一定的不真实性。用户行为数据还可以进一步通过聚合、梳理形成用户的行为表现数据(如活跃度、回访、复购情况等)。

而个性化流量分发的过程,其实就是先对基本数据和反馈数据进行加工,再利用加工结果进行决策的过程。在数据流转的过程中,个性化流量分发体系被划分为数据采集层、数据加工层、数据决策层、效用评价层这 4 层。

个性化流量分发体系架构

从上图可知,在数据采集阶段,我们的主要工作是全面了解产品和用户。在数据加工阶段,我们的主要工作是对用户和物品分门别类。在数据决策阶段,我们的主要工作是驱动分发方案和产品优化,这也是搜索和推荐等产品的工程和算法能力输出阶段。在效用评价阶段,我们的主要工作是评估流量分发的效果并形成数据反馈。

接下来我们着重讲解在数据采集阶段,我们都需要做哪些工作?

特殊说明:数据加工阶段的内容我们将在 02 讲和 03 讲中着重讲解,效用评价阶段的内容在 04 讲中着重说明,而数据决策阶段因为是推荐系统的核心,也是本专栏的重中之重,所以会放在模块二、三、四、五中进行深度说明。

数据采集阶段

《道德经》中说“九层之台,起于累土”,数据采集阶段作为后面三个阶段的基础,虽然它不涉及复杂算法,但这个阶段的工作内容相对细碎且容易出错,因此我们有必要从细微处着手,先把地基打牢。

在实际业务中,如果我们拥有海量数据,但是采集的数据质量很差,那么此时就算使用再好的算法也是“巧妇难为无米之炊”,并会使得后面三个阶段徒劳无功。由此可见,数据采集阶段的意义重大。

在数据采集阶段,它的最大价值是规范、高效、准确地获取海量数据,以此保证数据的准确性,防止数据出现偏差。

下面,我们通过一张图了解整个数据采集流程,以及在这个阶段我们需要做哪些工作。

数据采集流程

从图中可知,数据采集流程包括数据需求梳理、埋点规范制定、埋点实施、数据上报、生成数据表、数据验收等流程。而在数据采集之前,我们的首要工作是数据需求梳理、埋点规范构建、埋点位置梳理。

(1)数据需求梳理

在真实业务中,数据需求的来源一般都比较广,除推荐系统的需求外,还包括营销、画像、广告、标签等需求。

面对诸多需求时,我们不仅需要构建灵活的数据埋点上报规范,还要满足业务的现有需求,更重要的是要为将来可能出现的需求留出扩展空间。这就要求我们将条理化的业务指标体系(即数据需求)梳理成具体实施需求,而解决该问题的关键在于下面三个步骤。

步骤一:确认事件与变量

事件指的是我们需要分析的数据来源,最终它是一个结果性指标,比如支付成功。而变量指的是事件的维度或属性,比如用户性别、商品的种类。

这里我们可以将事件视为产品中的操作,例如加入购物车、支付成功,然后将变量视为描述事件的属性,比如不同商品的加购次数中,商品名称就是变量。

特殊说明:如果从不同的角度定位一个问题,事件和变量都会发生改变,这就要求我们基于数据需求,找到事件与变量之间搭配的最优解。

步骤二:明确事件的触发时机

在这个过程中,我们需要思考什么时候才是记录事件的合理时机,因为不同的时机其分享成功率也不一样,同时不同的触发时机将带来不同的数据口径。例如分享成功事件面临用户点击微信发生分享动作、用户分享后跳转到相应页面这 2 个时机。因此,数据使用者需要明确事件的触发时机。

时机的选择没有对错之分,我们根据具体的业务需求来制定即可。

步骤三:明确实施优先级

在实际业务中,业务部门必须基于业务指标明确实施埋点的优先级,因为开发部门不可能一次性完成大量事件的埋点。比如电商业务中,我们应该优先实施购买流程这个关键事件,与此冲突的其他事件都应该往后排序。

而且在实际业务中,我们往往需要考虑技术实现成本。如果技术实现成本不一致,我们应该优先落实能够最快落地的,以确保技术的准确性,比如有的埋点需要跨越多个接口;而如果技术实现成本相同则应该优先实施业务数据价值更高的。

(2)埋点规范制定

举个例子:某工程师给双十一活动页面命名时,采用的是拼音与英文相结合的方式,而这种不规范的埋点会让实施人员产生混淆,最终出现错误埋点。埋点规范的价值就在于帮助我们快速理解业务需求,并高效落地埋点方案。

在埋点规范制定过程中,我们通常需要遵循以下三点原则:

  • 上报内容格式清晰、简单,目标易于统计和使用;

  • 各端各推荐位置上报的请求曝光内容、可见曝光内容、点击内容、自动播放格式统一;

  • 所有推荐的内容类型编号,业务需要进行统一编排和维表维护,从请求曝光——>可见曝光——>点击——>落地页这四个阶段均需要保持一致。

(3)埋点实施

埋点规范是埋点实施的前置约束,在埋点实施时,我们需要严格按照埋点规范实施埋点,其中,需要注意三个要点。

  • 明确事件上报的条件:比如请求曝光时,我们在埋点规范中明确注明请求成功后立即上报还是在曝光页面停留超过一定时长后再上报等问题。

  • 明确字段参数的数据源:通常埋点同学对数据敏感度差,为了防止数据取错,就要求我们与埋点同学一起明确每个参数的正确取数位置。

  • 数据采集流程:数据上报后,为方便数据仓库同学高效、便捷地处理日志,我们需要明确每种数据的格式,因为非标准的格式会耗费大量的时间和精力处理格式。

(4)数据上报

埋点完备且上报的数据经过数据仓库处理后就可以直接被应用了。

(5)数据统计

数据统计是非常重要、非常基础的数据应用,例如推荐系统的转化率指标( CTR),它是通过点击数/可见曝光数来计算的。在这个公式中,我们发现如果没有点击事件和可见曝光事件的数据埋点,就不可能产生 CTR 这个数据,推荐系统的效果也就很难量化评估。

(6)埋点验收

在埋点验收阶段,我们需要验收所有推荐位 置、每个位置下的所有参数、每个参数的数据格式。除此之外,我们还需要将不同数据进行连接,把不同系统的数据以报表的形式展现,并对数据的有效性和准确性进行验证。

最后,我们总结一下数据采集的整个流程:首先,我们需要对收集哪些数据进行需求梳理,并建立埋点规范;其次,依据埋点规范实施数据埋点;然后,接收实际上报的数据,并落入数据仓库;紧接着,在数据仓库中生成满足业务需求的数据表;最后,对数据埋点进行验收。

本节总结

学到这里,你已经了解了流量分发的四个阶段和数据采集阶段的完整流程啦,棒棒哒~

《道德经》中说“重为轻根,静为躁君。是以圣人终日行不离辎重。”在流量分发体系中,数据就是这个系统的辎重,而数据驱动思维方式是每个推荐算法工程师必备的思维方式。

根据这种思维方式,我们可以快速获取产品改进的分析流程:首先,确定个人分析目标,从数据规模、数据分布等角度介入发现问题;其次,确定需要分析的数据,将数据细化到数据分析指标,预估数据的有效阈值;然后,寻找并获取评估数据的渠道,得到自己想要的原始数据;接着,对数据进行合理加工和分析,得出分析结论;最后,对得到的结果进行合理分析,指导推荐迭代。

这里插播一道思考题:你还知道哪些流量分发手段呢?欢迎你在留言区进行互动、交流,分享你的个人看法。

另外,如果你觉得本专栏有价值,欢迎分享给更多好友~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1890434.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文学习_UVSCAN: Detecting Third-Party Component Usage Violations in IoT Firmware

论文名称发表时间发表期刊期刊等级研究单位 Understanding the Security Risks Introduced by Third-Party Components in IoT Firmware 2024年IEEE TDSCCCF A佐治亚理工学院 1. 引言 研究背景:物联网(IoT)已经无处不在,为我们…

【深度学习】Transformer

李宏毅深度学习笔记 https://blog.csdn.net/Tink1995/article/details/105080033 https://blog.csdn.net/leonardotu/article/details/135726696 https://blog.csdn.net/u012856866/article/details/129790077 Transformer 是一个基于自注意力的序列到序列模型,与基…

信息安全体系架构设计

对信息系统的安全需求是任何单一安全技术都无法解决的,要设计一个信息安全体系架构,应当选择合适的安全体系结构模型。信息系统安全设计重点考虑两个方面;其一是系统安全保障体系;其二是信息安全体系架构。 1.系统安全保障体系 安…

51单片机项目-点亮第一个LED灯(涉及:进制转换表、创建项目、生成HEX文件、下载程序到单片机、二极管区分正负极)

目录 新建项目选择型号添加新文件到该项目设置字体和utf-8编码二极管如何区分正负极原理:CPU通过寄存器来控制硬件电路 用P2寄存器的值控制第一个灯亮进制转换编译查看P2寄存器的地址生成HEX文件把代码下载到单片机中下载程序到单片机 新建项目 选择型号 stc是中国…

web前端开发(概述篇)

一、概念 Web是Internet上的一种多媒体信息服务系统,整个系统由Web服务器、浏览器和通信协议组成。 通信协议HTTP能够传输任意类型的数据对象,满足Web服务器与客户之间的多媒体通信的需求。 一般来说,Web开发分为前端(Front-en…

干货:科技论文写作保姆级攻略

前言:Hello大家好,我是小哥谈。科技论文是报道自然科学研究或技术开发工作成果的论说文章。通常基于概念、判断、推理、证明或反驳等逻辑思维体系,使用实验调研或理论计算等研究手段,按照特定格式撰写完成。 科技论文可以粗略分为…

产业链协同,共谋产业新高度

国际数字影像产业园始终秉承“产业协同,共谋发展”的核心理念,致力于通过深化产业链上下游的紧密合作,推动数字影像产业的持续繁荣。 一、产业协同的具体实践 1、产业链整合:园区积极整合数字影像产业的上下游资源,形…

《昇思25天学习打卡营第7天|函数式自动微分》

文章目录 今日所学:一、函数与计算图二、微分函数与梯度计算三、Stop Gradient四、Auxiliary data五、神经网络梯度计算总结 今日所学: 今天我学习了神经网络训练的核心原理,主要是反向传播算法。这个过程包括将模型预测值(logit…

CX1概念车空气动力学设计,打造典型“美式肌肉车”风格

Altair CX1概念车的设计 CX1是Altair公司为了满足汽车行业的设计和虚拟仿真需求而开发的一款概念车型。该车总长接近5米,外观具有典型的美式肌肉车的风格,具有视觉冲击力。 车辆的外形设计过程就是风险管理,设计师想要一个大胆而富有表现力的…

Continual Test-Time Domain Adaptation--论文笔记

论文笔记 资料 1.代码地址 https://github.com/qinenergy/cotta 2.论文地址 https://arxiv.org/abs/2203.13591 3.数据集地址 论文摘要的翻译 TTA的目的是在不使用任何源数据的情况下,将源预先训练的模型适应到目标域。现有的工作主要考虑目标域是静态的情况…

拉曼光谱入门:1.光谱的分类与散射光谱发展史

一、光谱是什么? 在一个宁静的午后,年轻的艾萨克牛顿坐在他母亲花园里的一棵苹果树下,手握一块精致的三棱镜。他沉思着光的奥秘,意识到光并非单一的白色,而是一种由多彩色组成的复杂结构。 他决心进行一次实验&#xf…

静态时序分析:ideal_clock、propagated_clock以及generated_clock的关系及其延迟计算规则(二)

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 生成时钟 上一节中,我们讨论了理想时钟和传播时钟的创建和使用,本节将讨论生成时钟及其与理想时钟和传播时钟的关系。 图1所示的是一个简…

Java环境变量的设置

JAVA环境变量的设置 1.设置环境变量的作用2.如何设置环境变量2.1 找到系统的环境变量2.2 设置环境变量 1.设置环境变量的作用 说明:在Java中设置环境变量主要是为了能够让Java运行时能够找到Java开发工具包(JDK)的安装位置以及相关的库文件。…

JavaSE阶段面试题(一)

目录 1.int a 1, int b 1, Integer c 1, Integer d 1;四个区别和联系,以及c和d是同一个吗? 2.为什么重写HashCode必须重写euqals,两者之间的关系? 3.创建对象的方式有哪些 4.重写和重载的区别 5.抽象类和接口…

Webpack: Dependency Graph 管理模块间依赖

概述 Dependency Graph 概念来自官网 Dependency Graph | webpack 一文,原文解释: Any time one file depends on another, webpack treats this as a dependency. This allows webpack to take non-code assets, such as images or web fonts, and als…

算法day1 两数之和 两数相加 冒泡排序 快速排序

两数之和 最简单的思维方式肯定是去凑两个数,两个数的和是目标值就ok。这里两遍for循环解决。 两数相加 敲了一晚上哈哈,结果超过int范围捏,难受捏。 public class Test2 {public static void main(String[] args) { // ListNode l1 …

像学Excel 一样学 Pandas系列-创建数据分析维度

嗨,小伙伴们。又到喜闻乐见的Python 数据分析王牌库 Pandas 的学习时间。按照数据分析处理过程,这次轮到了新增维度的部分了。 老样子,我们先来回忆一下,一个完整数据分析的过程,包含哪些部分内容。 其中&#xff0c…

四十篇:内存巨擘对决:Redis与Memcached的深度剖析与多维对比

内存巨擘对决:Redis与Memcached的深度剖析与多维对比 1. 引言 在现代的系统架构中,内存数据库已经成为了信息处理的核心技术之一。这类数据库系统的高效性主要来源于其对数据的即时访问能力,这是因为数据直接存储在RAM中,而非传统…

二叉树的前中后序遍历(递归法、迭代法)leetcode144、94/145

leetcode144、二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root [] 输出:[] 示例 3: 输…

前端入门超级攻略:你的第一步学习指南

如果您觉得这篇文章有帮助的话!给个点赞和评论支持下吧,感谢~ 作者:前端小王hs 阿里云社区博客专家/清华大学出版社签约作者/csdn百万访问前端博主/B站千粉前端up主/知名前端开发者/网络工程师 前言 由于前端技术的快速迭代性,国…