阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

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

评论

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

密码你真的了解吗

卢卡多多

密码学 6月日更

流式基础设施--云基础设施的未来

俞凡

云计算 架构

低代码开发简史

俞凡

架构

架构实战训练营 - 模块六课后作业

Johnny

架构实战营

DevOps的未来

俞凡

DevOps

跨越式成长 - 高效的学习方法

Ryan Zheng

架构训练营模块6作业

Geek_649372

架构训练营

【21-11】PowerShell 特殊变量

耳东@Erdong

PowerShell 6月日更

Python——计数器(Counter)

在即

6月日更

源码分析--golang读写锁

en

大学生如何让更好的入门计算机?

Bob

入门 话题讨论 话题 大学生

kubelet分析-csi driver注册源码分析

良凯尔

源码 Kubernetes kubelet CSI Kubernetes Plugin

Google大规模监控系统--Monarch

俞凡

架构 分布式 大厂实践

JAVA面向对象(七)--类的属性和方法详讲

加百利

Java 6月日更

【Flutter 专题】99 初识 EventBus

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

Angular模板简介

devpoint

angular.js angular 6月日更

Anaconda 如何安装 BeautifulSoup 环境

Qien Z.

6月日更

【Vue2.x 源码学习】第十九篇 - 根据 vnode 创建真实节点

Brave

源码 vue2 6月日更

Golang生成随机字符串的八种方式与性能测试

张俭

Performance Go 语言

自媒体从业者如何选择合适的公司

石头IT视角

OnceAgain

一个向往理想的现实主义者

个人总结

计算机系统性能评价

若尘

性能 计算机组成原理 6月日更

智能无线接入网的崛起

俞凡

AI OpenRAN

Angular管道PIPE介绍

devpoint

angular.js angular 6月日更

crypto/md5

康家沟偶像天团王大锤

揭秘MySQL的主从同步实现方案

架构精进之路

MySQL 6月日更

架构实战营模块六作业

竹林七贤

如何使用EasyRecovery巧妙恢复被误删的办公文档?

淋雨

数据恢复 文件恢复 Easyrecovery破解 免费恢复软件

CSS工程化

法医

CSS 大前端 6月日更

《Software Engineering at Google》免费开放

俞凡

c++ 软件工程 Google 大厂实践

六、拆分电商系统为微服务

菠萝吹雪—Code

架构实战营

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