快手、孩子王、华为等专家分享大模型在电商运营、母婴消费、翻译等行业场景的实际应用 了解详情
写点什么

推荐系统燃料:数据那些事儿

  • 2019-07-09
  • 本文字数:3289 字

    阅读完需:约 11 分钟

推荐系统燃料:数据那些事儿

兵马未动,粮草先行


《森林中的远征》


虽然数据还没有被列入企业的资产负债表,但这只是一个时间问题


维克托·迈尔·舍恩伯格


对于变现能力而言,数据将作为重要资产。 搭建推荐系统前期必然需要做好一定的准备,而数据就是这一必要环节。当然数据作为燃料,不仅仅可以为推荐做贡献,也可以驱动更多的事情往前发展。


通过数据采集,全面了解产品和用户;通过数据挖掘,对用户分群/分层;通过数据决策,驱动运营方案和产品优化。最终了解产品、了解用户、了解目标。在合适的时候对合适的人做合适的事。

1. 请先了解一个问题

数据多一定能驱动业务吗?往往大家都有一个误区,就是我们只要收集海量的数据就可以带来非常好的收益,但是正如前面几章介绍的,推荐系统是一个全局的工程,不是只收集海量的数据就可以的,往往是采数据易,用数据难。当我们拥有的数据数据质量参差不齐,或者我们收集了一些垃圾数据,其实很难产出驱动业务的优化。当数据分析与业务割裂时,我们很难去获取较优的结果,很容易像无头苍蝇一样,淹没在充满噪声的数据中。如果在正确的业务建模和高效地工程支持后,海量的数据将带来效果非常大的提升。

2. 数据驱动推荐系统的方式

原则上是数据准确,方法适当,解读无误。


数据驱动思维方式每个推荐算法工程师必备,根据这种思维方式可以确定产品的分析改进流程:首先确定自己的分析及目标,从规模、分布等角度去介入,发现一些问题;通过目标确定需要分析的数据,细化到数据分析指标,预估有效的数据阈值;寻找并评估获取数据的渠道,得到自己想要的原始数据;对数据进行合理的加工和分析,得出分析结论,数据需要可比较;对得到的结果进行合理分析,指导推荐迭代。


前推荐系统阶段,通过数据我们必然需要了解的有以下几点,这些可能已经有 BI 团队产出相关的数据,如果没有的话,你可能需要自己结合业务场景进行分析。 我们首先对用户行为进行拆解,用户的行为 = 商品/内容 - 信息载体 ( 明星、类目、年代 ) + 显性操作 ( 购买、常看、关注、下载、收藏 ) + 隐形操作 ( 时长、跳过 )。


  1. 谁购买:用户规模,人群特征,文化特征,如场景 uv ,pv ,年龄分布、性别分布、地域分布、偏好分布。

  2. 购买什么:购买品类分布、品牌分布

  3. 为什么购买:结合用户的一些细粒度的挖掘。客户价值、使用好处

  4. 用户行为路径分析:用户在进入产品以后的行为轨迹,用户用了哪些功能模块?用户使用的顺序是什么?通过分析用户行为路径,验证用户的使用是否和当初设计推荐产品的逻辑是一致的。如果和产品设计逻辑偏差很大,就需要思考为什么?是我们设计的逻辑有问题?还是其他方面出现了问题?通过用户购物路径的分析,建立对用户的认知、对链路各个环节进行流失分析、并关联场景、 结合行为流程,识别相关短板,进而找到破局点,设计方案验证可行性。

  5. 单体用户行为跟踪:验证猜想、挖掘需求、理解用户、还原场景。人是分析的最基本元素,需要清楚的知道每一个用户所处生命周期、活跃情况、环境信息等。有了用户群的画像以后,通过单体用户行为跟踪,我们就可以进一步追踪到个人身上,通过对个体用户行为的跟踪,可以查看用户具体是如何使用产品的。

  6. 精细化用户分群:行为特点、回访留存、群体画像、漏斗转化。根据用户行为的特征将其按需拆分成不同属性的用户群,例如:做过 A 事件的人拆分成一个用户群,做过 B 事件的拆分成另一个群,看群体用户画像有什么区别,看他的留存和回访有什么区别。

3. 数据考察维度

面对复杂的系统数据如何管,如何用。当数据不完整,将直接影响结果,一般对现有数据评估维度主要围绕以下几点展开:


  1. 完整性:流量红利期结束,新用户获取成本高于老用户留存成本,建立以人为核心的数据体系变得更加紧迫,市场数据,位置数据,生活数据,行为数据,人口学数据,认知数据,设备数据,运营数据。评估数据是否已经覆盖了每个环节的业务需求,以及哪些业务需求丢失了需要被采集,或者哪些数据当前不可被信任。

  2. 及时性:互联网时代,信息及机会瞬息万变,快速、及时地获取数据,对快速决策带来非常多的好处。我们需要评估数据是否可以被实时的采集,以足以满足某些特殊使用场景,尽可能地被可视化管理监控。

  3. 规范性:数据产生依赖我们作出一些动作,也就是所谓的输入,然后输出就是我们需要的数据。我们需要评估是否各个岗位有系统性规范化的,对于数据输入输出的定义以及计算方式。

  4. 一致性:往往在有些岗位和环节,数据会产出类似或者相同功能的数据,这个时候我们就需要对这些数据进行统一的归并,并且制定逻辑自洽的口径。这一过程需要评估不同领域的同类数据是否一致,以及数据是否有重复,如有则需要制定相应的归并规则。

  5. 准确性:这个自然就是评估数据是否体现了真实的用户行为、市场动态及运营状况。

  6. 关联性:数据是流动和共享的,我们需要评估是否在一个业务链上的各个部门和岗位都可以连接并共享数据,以及数据是否能够准确的触发相应的业务事件。

4. 数据类型

数据类型是从结构化程度来看的,主要分为结构化数据和非结构化数据。如用户基础信息数据、推荐系统中用户行为数据中的访问数据为结构化数据。用户的评价,推荐物料的文本数据、图像数据则为非结构化数据。

5. 数据收集:埋点

5.1 埋点的意义

想要通过数据进一步了解产品,则需要收集更多的数据,而数据的收集离不开埋点,埋点利用流程、方法、工具在各个用户接触点收集信息。

5.2 指标规划

要想采集好哪些数据,就是制定采集的指标规划,包括指标定义、维度设置、更新周期,其中更新周期会涉及到资源的分配,是时时更新,还是每周、每月更新。比如 pv、uv、ctr、cvr、gmv 等等指标。基于主要规划之后要做的,比如字段分类、数据埋点、数据上报。采集什么数据,以什么形式上报,这些都要考虑清楚。

5.3 类型

  1. 点击、收藏、加购、购买、浏览时长、观看

  2. 搜索 query

  3. icon/页面相关其它行为收集

  4. 推荐/展示逻辑信息 ( 回溯平台 )

6. 埋点后流程

6.1 ETL & 数据清理

数据采集上来之后,我们需要对这些数据进行数据清洗入库落表, 这时候需要考虑数据的质量,如一致性、精细化程度等将成为关键。并对数据进行存储,评估数据量、数据的复杂性和多样性、数据的更新速度选择合适的存储介质。 数据化管理主要奉行这样的思路:数据采集 - 数据分析 - 行动策略 - 快速执行。

6.2 数据连接

将不同系统产生的数据整合、关联在一起,实现您对数据的全局性把握,并在数据整合的基础上,实现业务管理的整合与优化。

6.3 报表呈现

接着我们可以做报表呈现。这里有很多坑,比如要做报表的趋势图,是用柱状图还是折线图?列表就是一个用户的详细类似表;筛选控件,如果要做到可视化,你需要考虑将来在实际运用时需要从哪些维度去筛选,比如国家、版本、渠道这些;最后是有效性、准确性的验证,我们做了数据上报之后,如果是一堆垃圾数据,或是不准确的数据,对后续的运营就没有什么帮助。

7. 推荐直接相关数据

7.1 用户维度:基本信息 &显示与隐示反馈

用户基本信息主要指用户的性别、年龄、地区等。前面提到了推荐系统需要构建用户对商品的评价模型,当然这一过程需要数据让我们从中学习到这个评价模型,而从可供学习的样本数据主要分为显式和隐式两种:


  1. 显式:一般指用户对物料的真实评分,这类数据的特点是用户操作成本高,数据量小,更真实 ( 由于用户有操作成本 ) 。

  2. 隐式:一般指直接评分以外的若干行为数据, 包括:点击、加购、收藏、购买、流量时长等,这一类数据的特点是用户操作成本低,数据量大,相对评分,用户成本低,具有一定的不真实性 ( 由于用户有操作成本 ) 。


用户反馈数据往往还可以进行进一步聚合、梳理形成用户的行为表现数据,如活跃度、回访、复购情况等。

7.2 物料基本信息 &表现数据维度

物料基本信息主要包括了物料的标题、标签、类目等,表现数据主要是基本数据上的聚合及汇总,与用户维度反馈数据类似。

7.3 其它数据

额外数据:天气、经纬度、节假日、cpi


作者介绍


姚凯飞,Club Factory 推荐算法负责人。硕士毕业于上海交通大学,前阿里推荐算法工程师,多年电商及视频推荐经验,目前在出海电商 Club Factory 负责推荐算法工作。


本文来自 DataFun 社区


原文链接


https://mp.weixin.qq.com/s/NaKoqmzrLxTlkPuut8tLag


2019-07-09 08:003079

评论

发布
暂无评论
发现更多内容

了解MySQL6种约束的不同和特点

华为云开发者联盟

MySQL 数据 约束 主键约束 自增长约束

突破关系型数据库桎梏:云原生数据库中间件核心剖析

京东科技开发者

数据库 nosql 分布式系统

LoadRunner测试中遇见的不可思议的问题及其解决方法

陈磊@Criss

七日更 28天写作 3月日更

关于MPI-IO,你该知道的

焱融科技

存储 HPC 焱融科技 文件存储 分布式存储

币管家量化交易软件开发|币管家量化交易APP系统开发

系统开发

Java程序员福利!2021年最新17套完整版一线大厂面试真题

Java架构追梦

Java 架构 面试 金三银四

职场里,对数据库要有敬畏之心!

Simon

MySQL 数据库

Python 语言基础变量的类型转换

HoneyMoose

LDAP身份认证管理最佳实践

龙归科技

服务器 ldap 客户端

Python 语言基础变量获得变量类型

HoneyMoose

高考大数据:全国31省高考难度,哪个才是地狱模式?

不脱发的程序猿

大数据 数据分析 28天写作 高考难度 3月日更

mongodb 源码实现系列 - Mongodb write写(增、删、改)模块设计与实现

杨亚洲(专注MongoDB及高性能中间件)

MySQL 数据库 mongodb 架构 分布式数据库mongodb

【LeetCode】分割回文串 II Java题解

Albert

算法 LeetCode 28天写作

如何招聘一名产品经理

马踏飞机747

互联网 产品经理 招聘 职场成长

2021最新分享:阿里内部总监手码的“Redis学习手册”风靡全网

比伯

Java 编程 程序员 架构 面试

《我想进大厂》之分布式锁夺命连环9问 | 大理版人在囧途

艾小仙

Java redis zookeeper 分布式锁

Python 语言基础变量定义和使用

HoneyMoose

纯干货 | 详解 HDFS 3.x 新特性-纠删码

五分钟学大数据

大数据 hdfs 28天写作 3月日更

Python 中文编码

依旧廖凯

Python 28天写作 3月日更

智能炒币机器人软件开发|智能炒币机器人APP系统开发

系统开发

不吹不黑聊中台

Geek_dn82ci

云计算 中台 企业架构

亿级用户中心的设计与实践

vivo互联网技术

大数据 架构设计 数据安全

36 Kr | 打造企业统一数据安全入口,「图尔兹」想用新思路解决数据安全问题

BinTools图尔兹

数据库 sql 数据安全 权限 数据库管理工具

2021网络系统流行架构

杨东冬

架构 网关 ebpf cilium envoy

数据库定时备份linux篇

xiezhr

数据库 Linux Shell 数据备份 3月日更

JAVA已经呈饱和趋势了吗?

cdhqyj

Java 程序员 工作 IT

阿里P8大牛亲自讲解!难道Android真的凉了?3面直接拿到offer

欢喜学安卓

android 程序员 面试 移动开发

实习记录-埋点测试

YUKI0506

力扣(LeetCode)刷题,简单题(第19期)

不脱发的程序猿

程序员 LeetCode 28天写作 算法面经 3月日更

平安智慧社区建设方案,平安小区的系统功能

13530558032

区块链电子合同应用落地--区块链电子合同签约

13530558032

推荐系统燃料:数据那些事儿_大数据_DataFunTalk_InfoQ精选文章