QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

  • 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:003138

评论

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

又一里程碑!阿里首推Java面试通关手册,必须人手一份!

Geek_0c76c3

Java 数据库 程序员 架构 面试

谈谈前端性能优化-面试版

loveX001

JavaScript

vivo互联网机器学习平台的建设与实践

vivo互联网技术

人工智能 机器学习 推荐系统

Qt | Qt的动画框架和类

YOLO.

qt 10月月更 C++

两数之和

掘金安东尼

算法 10月月更

STM32L051测试 (二、开始添加需要的代码)

矜辰所致

stm32 STM32CubeMX 10月月更

前端线下面授培训机构该怎么选择?

小谷哥

上岸稳了!GitHub标星115k+的阿里内部Java学习教程限时开源

Geek_0c76c3

Java 数据库 程序员 架构 开发

MobPush iOS端常见问题

MobTech袤博科技

ios

数字化转型:营销数字化

Taylor

数字化 营销数字化 客户数据平台 CDP 营销数据中台

初学大数据培训学习入门

小谷哥

Python进阶(十)Python 编程规范

No Silver Bullet

Python 编程规范 10月月更

Qt | 深入了解Qt的委托类

YOLO.

qt 10月月更 C++

算数、赋值、比较、逻辑、三元运算符

共饮一杯无

Java 运算符 10月月更

如何用AR Engine环境Mesh能力实现虚实遮挡

HarmonyOS SDK

AR

如何在 SAP BTP 平台上重用另一个已经开发好的 service

汪子熙

云原生 SaaS 云平台 SAP 10月月更

web前端技术培训学习好点

小谷哥

大数据学习培训机构怎么去选择

小谷哥

LinkedList源码分析(四)

知识浅谈

linkedlist 10月月更

全网首发“Java面试考点大全”,25+专题梳理:JVM+多线程+Spring全家桶+MySQL+Redis等

Geek_0c76c3

Java 数据库 程序员 架构 面试

web3 chainlink 预言机喂价、VRF

1_bit

智能合约 web3 chanlink

前端培训学习的就业前景是什么样的

小谷哥

小程序运营怎么做?

源字节1号

软件开发 前端开发 后端开发 小程序开发

研发效能领域的“百科全书”重磅来袭!

博文视点Broadview

AndroidStudio最新版(2021.1.21)编译C++代码生成so文件

中国好公民st

c++ Android; 10月月更

SeaTunnel连接器V1到V2的架构演进与探究

Apache SeaTunnel

API 数据集成 连接器 Apache SeaTunnel 数据集成平台

Java数据类型转换

共饮一杯无

Java 类型转换 10月月更

搜索中常见数据结构与算法探究(一)

京东科技开发者

数据结构 ES 哈希 数据结构算法 搜索算法

翻遍GitHub,这份MySQL全面手册,受喜爱程度不输任何大厂笔记

Geek_0c76c3

Java MySQL 程序员 架构 面试

年底前端面试题总结(上)

loveX001

JavaScript

打破“双十定律”,华为云AI推动超级抗菌药Drug X研发加速

华为云开发者联盟

AI 华为云 药物研发 盘古大模型 企业号十月 PK 榜

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