当前位置: 首页 > news >正文

移动互联网+智能运营体系搭建=你家有金矿啊!

摘要: 每个企业都有许多的数据,但能否将数据转化成商业价值,是企业非常关心的问题。阿里巴巴曾自嘲是一家坐在数据的金矿上啃着馒头的企业,前几年集团积累了很多的数据,但这些数据并没有真正应用起来,受限于几个原因,比如大数据的技术框架还不成熟,运营团队对数据应用的意识还不是很强,但今天,数据在阿里巴巴的应用范围已经越来越广泛。

每个企业都有许多的数据,但能否将数据转化成商业价值,是企业非常关心的问题。阿里巴巴曾自嘲是一家坐在数据的金矿上啃着馒头的企业,前几年集团积累了很多的数据,但这些数据并没有真正应用起来,受限于几个原因,比如大数据的技术框架还不成熟,运营团队对数据应用的意识还不是很强,但今天,数据在阿里巴巴的应用范围已经越来越广泛。

图片描述

本文根据2018年云栖大会杭州站移动研发平台EMAS专场上,阿里巴巴资深技术专家元绰的演讲整理成文,介绍面向移动互联网时代的智能运营体系搭建,主要分成三块内容:第一,智能运营的使命和典型应用场景;第二,个性化推荐系统的架构;第三,AB在智能运营系统中的应用。

一、智能运营的使命和典型应用场景

衡量一个智能运营系统做得好不好,目标非常明确,就是看能不能帮企业实现数据的增长,因为增长是企业最核心的诉求。

要实现企业智能运营,首先要进行数据运营闭环的建设。传统的BI,收集数据,给老板产出报表,让老板做决策,但智能运营系统,最重要的是把数据应用到实际业务场景中,形成数据闭环。收集数据,通过模型的训练转换成系统的预测能力,运用到实际业务场景中,最后把用户的使用数据反馈给我们的系统。经过几轮迭代,整个系统的预测能力会越来越强。

企业希望提升业务结果,业务结果的提升依赖于平台上的用户对我们的认可。EMAS的业务统计模块可以承担数据采集的工作,了解了用户的行为,机器智能的作用就在于将用户的行为数据转换为企业的运营行动。

图片描述

具体的流程可以分成这么几个部分:首先基于原始数据,以新客为例,根据用户对冷启动阶段的热门数据的点击情况,对用户进行第一次打标,我们大体识别该用户属于什么样的类型;其次,我们做尝试性推送,比如资讯或者产品,用户根据我所推送的资讯或者产品,会有相应的点击行为,经过几次交互,机器对该用户的理解会加深。最后,经过用户跟平台的多次互动后,企业配合相应的运营策略,比如促销,转化效果就会有比较明显的提升,这是智能运营系统的基本流程。

我们对用户的全生命周期理解,是从新客到老客以及老客帮你做传播这一整个阶段,时间周期还是比较长的。针对一个新用户,你直接把希望他下单的信息推送给他,效果往往不会特别好。所以必须要对用户整个生命阶段做一些细致的分析。

智能运营的三个典型的应用场景:

第一,千人千面。淘系在PC时代也做过推荐相关的工作,但效果不好。但到了无线时代之后,个性化推荐的效果就提升明显,源于用户行为发生了很大的变化。无目的性,碎片化,随时随地。我们能否将用户给我们的碎花片时间充分利用好,让我们的消费者一下子对我们的产品感兴趣,需要企业对用户要有非常深的理解和洞察。

第二,精准营销。营销活动前,分析所面向的人群,具体的定价策略,以及在这样的定价策略下的销量预测,这样企业就可以预先知道KPI的完成情况。

第三,智能选品。前面讲的更多的是,产品如何更多与用户进行互动,智能选品适用的场景是我们对目标客群有认知,希望触达我们原来没有触达到的那批用户。超市希望吸引年轻人,就需要调整货品结构,把年轻用户吸引回来。盒马、淘宝心选,是阿里做的比较好的案例。

图片描述

二、个性化推荐系统架构

接下来,给大家介绍一下个性化推荐系统。个性化推荐在阿里巴巴集团这几年有很多的沉淀。以手机淘宝首页为例,很多地方都做了个性化,比如入口图,每个APP都有子频道,子频道的入口图大部分用的是设计师做的静态图,如果用子频道的数据跟用户做个性化匹配,做千人千面的入口图,入口点击的转化会有很大的提升。

好的个性化推荐需要有哪些注意点:

第一,工程实现。个性化推荐,传统的实现方法,是截止某一个时间点给用户计算一个推荐列表,每天把这个数据刷新一遍。这样做的问题是什么?用户的数据量一直在增长,相应的存储成本也会随之增长,企业投入成本会很大。所以系统设计的时候需要考虑借助标签的能力。另外,每个人对标签对应的货品排序应该不一样,我们要增加二次排序,要保证每一个人的推荐列表虽然货品一样,但是顺序有差异。

第二,实时推荐。离线推荐主要是基于历史数据,实时推荐是基于当天的数据,当天给用户做推荐,转化率往往最高。但是对我们的挑战是什么?第一,必须有实时计算的能力,因为用户给我们的时间非常少,如果你延迟五分钟,基本上用户就流失了。第二,从算法角度来讲,必须要做一个平衡,你是基于历史推荐数据,还是当天的实时数据,到底哪个转换率最高,要做一个平衡。

第三,时间和空间。拿电商来说,羽绒服或者衣服都有季节属性,羽绒服适合冬天穿,电子产品有新老款,判断一个用户从来都只买新款,你就应该把新款推荐给他。另外,推送有时间衰减效应,不能一直推相同的货品。时间和空间是必须考虑的两个维度。

第四,发现性。大家在做个性化推荐的时候,模型基本上都是以一个具体的目标来做优化,但这里会有一个什么问题呢?会产生很严重的马太效应:第一,我的推荐依赖于我的历史数据。为什么给你推衣服?是因为你老是看衣服,模型判断推衣服的转化肯定是最高的,我推荐了,然后你又点了,这样又产生了一条历史数据,我发现效果确实很好,那模型下次推什么?肯定还是给你推衣服。但实际上每个人的兴趣爱好很广泛,我给你推的品类越来越窄,最后发现你的行为也越来越窄,这跟人的实际特征是不匹配。我们要在推荐系统里扩展品类的宽度。第二,推什么样的产品转化率最高?肯定是爆款,不管是金融行业还是其他的行业,爆款转化率最高,模型判断推爆款的转化比一般产品的转化要更高,导致什么结果?系统推荐的产品范围也越来越窄,这是很严重的问题。就是说给用户推荐的品类越来越窄,产品范围越来越窄。所以在整个模型过程中,去尝试推荐一些他可能原来历史记录里面不存在的东西,去做一些尝试性的发现,这是非常有意义的,否则对短期收益有好处,但是对长期收益有影响。所以转化率很重要,但是发现性更重要,品类拓宽会让你的业务体量越来越大,产品也一样,爆款之后肯定有新品,新品也需要变成爆款。

第五,脏数据。脏数据一般分两类,第一类是无效数据,比如说“双十一”,因为当天他们的行为非常特殊。“双十一”当天买了你平时可能不会买的东西。这样的数据对日常推荐并没有太大的帮助,这些数据必须要剔掉。第二类数据是作弊数据。像刷信用、刷积分的数据量往往很大,这样的数据如果不剔除掉,最终预测的结果和你原来的真实值之间的偏差会非常大。

图片描述

最后介绍一下阿里巴巴实时推荐的系统架构,大概会分成这么几个部分,有EMAS数据统计模块,采集数据,拿到数据之后要对数据进行加工和训练,形成模型后把数据应用到生产环境。生产环境,一般来说是存储到图数据库,因为它是网状结构,最后是一个非常简单的API,可以简单调用数据。系统中有一块很重要,就是在模型训练过程中必须要具备支持行业经验的输入,因为我们在实践过程中发现,今天通用的模型去叠加一些行业规则,它的效果是非常好的,因为每个行业有每个行业的特殊性,今天一套通用算法想应用到所有行业是不现实的。这是我们个性化推荐系统的简单系统架构图,它一定要是一个闭环,数据一定要转起来,因为数据不转起来我们就不知道我推荐的结果是否准确、对用户的洞察是否准确,我们要必须保证数据运行一段时间后,数据是整体往上涨的。

三、AB在智能运营中的应用

最后给大家讲一下AB测试在智能运营中的应用。大家也知道今天算法的发展非常快,像前几年深度学习很火,这几年强化学习,一些新的算法发展很快,我们在模型迭代过程中需要应用新的算法。但一般来讲,我们不一定能确认哪个算法的效果更好,我今天在线下做非常多的评测,但最后还是要到生产环境去做实验。我们可以做分桶测试,基准桶和测试桶,测试桶我们用一个模型,基准桶用另一个模型,比较两个模型的效果。实际在应用过程中,我们在做AB测试前,必须要做AA测试,保证在实验之前两个桶的数据是一模一样的,这个时候你再把一个桶的模型换掉,数据是可信的。

相关文章:

  • 进制之间的相互转换
  • 值得推荐的10本PHP书籍(转)
  • C文件操作
  • 深入理解ReactRedux
  • 使用JAVA进行MD5加密后所遇到的一些问题
  • ExpandableListView使用(三)-ScrollView嵌套ExpandableListView,列表显示不全
  • ORACLE中的各种数据类型详细的介绍
  • 一个简单的golang json解析库
  • Java Web笔记 – Servlet中的Filter过滤器的介绍和使用 编写过滤器
  • java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
  • maven中jar、war、pom的区别
  • 尝试使用word发布博客
  • Python之优先级问题(待修改)
  • Algs4-2.2.23-3根据经验给出应该在何时为子数组切换到插入排序
  • 提高Vector容器的删除效率
  • 2017届校招提前批面试回顾
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • Bytom交易说明(账户管理模式)
  • Django 博客开发教程 16 - 统计文章阅读量
  • Javascript基础之Array数组API
  • PHP面试之三:MySQL数据库
  • ReactNative开发常用的三方模块
  • React中的“虫洞”——Context
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • vue2.0项目引入element-ui
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 观察者模式实现非直接耦合
  • 前端
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​一些不规范的GTID使用场景
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (20050108)又读《平凡的世界》
  • (7)STL算法之交换赋值
  • (C++20) consteval立即函数
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (备忘)Java Map 遍历
  • (超详细)语音信号处理之特征提取
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET 8.0 发布到 IIS
  • .Net 代码性能 - (1)
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .NET业务框架的构建
  • .skip() 和 .only() 的使用
  • @Resource和@Autowired的区别
  • [Android 数据通信] android cmwap接入点
  • [Android]常见的数据传递方式
  • [hdu 2896] 病毒侵袭 [ac自动机][病毒特征码匹配]
  • [HDU 3555] Bomb [数位DP]
  • [Java][算法 双指针]Day 02---LeetCode 热题 100---04~07
  • [MySQL数据库部署及初始化相关]
  • [OLEDB] 目前还找找不到处理下面错误的办法
  • [one_demo_18]js定时器的示例