"); //-->
中智讯(武汉)科技有限公司
基于大数据的个性化推荐导流引擎设计与实现
一、 背景近年来,随着互联网电子商务的发展,网络上的商品和服务数量快速增长,目前,Amazon上有数百万图书,淘宝上有过亿的商品,消费者面对如此海量的商品容量,仅仅通过传统网购系统的分类+搜索方式,难以找到称心如意的商品。
其次,对于电商来说,仅仅售卖热门商品,大部分“长尾”商品沉淀在网络中,不仅无法挖掘“长尾”商品的销售机会,而且长期维护大量呆滞商品,造成电商平台维护和线下供应链体系资源的极大浪费。
因此,大型电商如Amazon、阿里、京东等都开发了各自的推荐引擎,通过分析用户行为和购买历史,推荐用户潜在喜欢的商品。在广大垂直电商领域,也迫切需要利用互联网和大数据技术,收集用户行为数据,分析用户行为模式,并在此基础上进行精准的商品和服务推荐。在这种情况下,中智讯适时推出基于大数据的个性化推荐导流引擎,就是为广大垂直电商客户提供更加精准和贴心的个性化商品推广服务,提高最终用户的销售转化率。
根据以上背景论述,个性化推荐导流引擎主要解决客户的以下几个问题:
终端用户面对很多同类同质的商品,面临“选择困难”,除了查看评论和交易量外,很难比较评定商品孰好孰坏;
商家拥有大量的“长尾”商品,处于睡眠状态,需要发掘终端用户对这些商品的潜在需求,提高销售转化率和商家线下体系的效率。
为了满足以上需求,我们的解决方案是通过收集终端用户的网络行为数据,运用大数据和机器学习等先进技术,进行用户画像,实现个性化推荐和跨站导流,为每个终端用户打造“我的、贴心、暖心”的个性化网购场景,提高终端用户的网购体验,最终实现商家的收益增长。
以下是个性化推荐和跨站导流具体需求的分析:
(一) 用户行为分析
用户行为分析是在实时收集用户行为数据的基础上,按照用户行为特征指标进行统计,将统计结果以图表的方式展现给客户,为更高级的数据挖掘和分析提供数据基础。
(二) 个性化推荐
个性化推荐是针对C端用户在买对网购海量商品时的“信息过载”问题,满足用户对个性化推荐服务的需求。
目前,网购网站一般提供两种方式作为满足用户购物需求的入口:分类和搜索,这两种方式最终都需要用户自己从众多的产品和服务中挑选。 根据认知心理学实验,发现人类面对多于7个选择时,会感到选择困难,增加更多的选项,就会给人造成很大的心理压力。很多顾客面对大量的网上商家和产品名录会感到无所适从,导致网购体验的下降。
另一方面,国外一些先进的互联网购物和消费网站,如亚马逊和在线付费视频提供商Netflix,通过个性化推荐实现的销售,已经占到销售总额的30%以上。这说明通过个性化推荐在实现网络消费增长方面,仍然有很大的空间。
个性化推荐的业务场景包括以下几种:
用户未登录的推荐:由于缺乏用户历史行为数据,存在“冷启动”问题,一般推荐网站“关注最多”和“本周/本月销量最多”的产品,用热门产品激发用户购买欲望;
用户已登录但没有交易行为数据的推荐:这也属于推荐的“冷启动”问题,采取网站“关注最多”、“销量最多”和 “长尾”产品随机推送三者结合的方式进行推荐,其中加入“长尾”产品的逻辑是,既然用户已登录过,但没有交易行为,可能是对网站浏览最多和销量最多的产品不感兴趣,因此推荐比较冷门的“长尾”产品会有可能提高转化率;
用户已登录且有交易行为数据的推荐:采取协同过滤等推荐算法的结果进行推荐 – “猜您喜欢”和“长尾”产品随机推送两者结合的方式;
用户搜索后的推荐:除了按照用户搜索关键词,提供搜索列表外,还提供“其他用户还搜索”等推荐;
用户加入购物车后的推荐:提供“购买A产品的用户还购买”和“组合产品”两者结合的推荐方式;
用户交易后的推荐:提供“猜您喜欢”、 “购买A产品的用户还购买”和“组合产品”三者结合的推荐方式,进一步促进销售。
推荐方式 |
关注最多 |
销量最多 |
猜你喜欢 |
其他用户还搜索 |
其他用户还购买 |
组合产品 |
“长尾”产品随机推荐 |
用户未登录 |
★ |
★ |
|||||
用户已登录无交易 |
★ |
★ |
★ |
||||
用户已登录有交易 |
★ |
★ |
★ |
||||
用户搜索后 |
★ |
||||||
用户加入购物车 |
★ |
★ |
|||||
用户购买后 |
★ |
★ |
★ |
(一) 跨站导流
跨站导流主要是为了满足用户对不同类商品或服务的需求,从而实现在线的“一站式”购物体验。类似于女孩子逛街,喜欢到不同的门店进行消费,跨站导流也是为了满足这种消费心理,但与传统的导流推广不同,我们的跨站导流方式是基于大数据技术,对用户行为数据进行分析,并结合时间季节性和地域当地性等外在因素,提供各种导流策略组合,并根据用户的选择反馈,对策略模型进行动态调优而形成的智能导流方式。
跨站导流模式示意图如下:
图 1 跨站导流模式示意图
(一) 个性化推荐导流引擎系统框架
个性化推荐导流引擎系统包括用户行为数据收集、推荐导流大数据处理、推荐导流管理和推荐导流应用展现四个部分,系统架构框架如下示意图:
图 2 个性化推荐导流引擎系统框架
以下是各部分功能描述:
(一) 用户行为数据收集
用户行为数据收集方式:
采取埋点代码和系统日志分析两种方式:
埋点代码是类似于Google Analytics和百度分析的方式,在客户网站嵌入少量的JS埋点代码,然后收集网站和移动端用户行为数据;
系统日志分析是收集客户网站日志数据,对日志数据进行分析,抽取所需的用户行为特征数据。
用户行为收集数据:
用户行为类别 |
数据项 |
登录 |
登录URL、登录账号、IP地址、登录时间、页面名称、浏览器名称、浏览器版本、APP应用名称、APP应用版本 |
登出 |
退出URL、退出时间(或会话失效时间 - 延迟) |
浏览 |
浏览URL、页面名称、页面进入时间、页面退出时间、后访问URL |
下载 |
下载URL、下载资源名称、下载资源类型、下载资源大小、下载时间、下载是否成功 |
上传 |
上传URL、上传资源名称、上传资源类型、上传资源大小、上传时间、上传是否成功 |
搜索 |
搜索URL、搜索引擎、搜索时间、搜索关键词(非常重要)、搜索后页面URL |
评论 |
评论URL、评论内容或文本、评论时间 |
购物车 |
购物车URL、购物车动作(加入或取出)、物品SKU(非常重要)、操作时间 |
结算 |
结算URL、结算物品SKU列表、结算物品数量、结算物品金额、结算总金额、结算时间、结算方式(结算后链接)、结算是否成功 |
其他 |
异常事件(404,500等,APP闪退) |
(二) 用户行为分析
推荐导流引擎提供用户行为分析功能,汇总用户行为数据,形成用户行为分析仪表盘(Dashboard),并提供各种商业指标的实时数据分析展示。
序号 |
功能名称 |
功能说明 |
1 |
仪表盘(Dashboard) |
仪表盘汇总各种用户行为分析指标的展示图表,客户可以根据自己的喜好,调整各种图表位置和尺寸,定制符合自己个性的仪表盘。 |
2 |
访客分析 |
提供网站访客的PV页面浏览各种指标,维度包括访问时间、访问路径、来源地域、实时地图分布等访客实时统计信息,并根据访客会话(Session)统计用户浏览UV指标,进行访客忠诚度分析。 |
3 |
页面分析 |
提供入口页面、出口页面、最多访问页面、页面停留时间等指标,分析访客在网站的活动路径,有利于分析网站设计是否合理,识别访客的兴趣分布,分析访客流失原因等。 |
4 |
来源分析 |
提供网络访问流量来源分析,识别搜索引擎、广告链接等网络推广手段带来的不同网站访问流量,确认推广手段的有效性。 |
5 |
电子商务 |
提供电子商务分析的各种指标分析展示,包括订单量趋势、访问转化率、购物篮分析、产品销售统计等。 |
6 |
自定义目标分析 |
管理员可以自定义各种跟踪目标,对用户特定行为进行监控,并结合其它指标如访问流量、销售额等,进行相关分析、因子分析等高级的用户行为分析。 |
具体功能界面如下:(以惠翰珠宝为例)
仪表盘(Dashboard):
1)客分析:实时访客人数:显示不同日期网站的实时访客人数(UV)
2)时访客页面分析:
3)访客轨迹分析:访客在网站浏览页面顺序和停留时间
4)客来源分析:进入本网站的其他网站来源统计
5)客地域分析:
6)客浏览器分类:
8)客忠诚度分析:根据访客Session会话,确定老访客(回头客),统计不同日期老访客访问次数、访客平均停留时间、跳出率等
9)访客实时地图:
页面分析:
1)口页面:分析用户通过哪些入口进入网站
2)口页面:用户最后浏览页面统计
3)内搜索分析:分析关键词搜索频次
4)索结果:用户输入关键词,在本站搜索结果统计
4.分析:
访问来源趋势和类型分析:直接访问、搜索引擎、其他推广网站链接等来源
2、索引擎推广(SEM)分析:
3)交网络推广来源分析:
电子商务:
销售额趋势分析:分析某一时间段内,订单数量、订单总额、计算客单价、订单/UV的转化率、丢弃购物车分析等
3)售综合分析:汇总销售转化的访问来源、搜索关键词、访问地域,以及自定义变量,综合分析以上各种因素与销售的相关性
(一) 推荐导流大数据处理
推荐导流大数据处理,主要是应用大数据技术,对收集的海量用户行为数据进行预处理、存储和分析。
1. 数据预处理
数据预处理包括以下几个工作:
数据汇交:按照业务需求,将原来存储在关系型数据库中满足一定范式要求的分块数据进行聚合,按照所需的维度对数据进行汇交,形成包含各种维度的数据,以便后续进行数据挖掘分析;
数据转换:包括将各种等级数据转换为数值数据,例如将用户的评论“赞”和“一般”分别转换为8和5等数值型数据;
缺失数据处理:缺失数据需要根据业务场景进行补充,也可以按照要求对缺失数据进行丢弃;
数据指标计算:包括将各种数据进行必要的聚合(Aggregation),比如根据用户浏览数据,计算每小时/每天/每周的浏览次数指标等;
数据存储
大数据存储与原有关系型数据库数据存储有所不同,为了海量数据存储,一般将数据存储在Hadoop集群的HDFS文件系统中,存储格式采取利于大数据集群MapReduce等计算模型的数据存储方式,包括列式数据库HBase、也可以按照SequenceFile或CSV方式存储在HDFS中。
数据存储按照不同的业务需求分为以下几种:
经常读写的数据:这部分数据一般是经过计算的数据指标结果,需要支持实时的写入和频繁的读取,保存在HBase数据库中;
写一次经常读取的数据:这部分数据是数据预处理后的“原料”(Raw)数据,数据包含所有维度,增长量非常迅速,但要经常进行读取以进行挖掘分析,这种数据以SequenceFile或其他支持压缩的方式保存在HDFS中;
写一次很少读取的数据:这部分数据主要是预处理前的“原生”数据,包括日志流数据、以及一些视频和图片数据,这部分数据经过压缩保存在HDFS中。
数据分析
数据分析是利用各种数据挖掘和机器学习技术,基于抽取的用户行为特征,进行用户画像,同时依据不同业务场景,建立各种个性化推荐模型,对用户进行推荐。
数据分析具体的内容请参考后面“四、 大数据应用设计”。
(二) 推荐导流服务管理
推荐导流服务管理包括以下几个模块:
推荐引擎管理:输入输出参数管理、算法参数调整、推荐结果指标查准率(Precision Rate)和查全率(Recall rate),ROC曲线和AUC值等的计算和展示;
推荐规则管理:包括组合产品规则管理、推荐结果筛选规则管理、导流网站规则管理;
服务流量管理:对客户网站使用推荐服务的流量进行统计,作为财务结算的基础;
服务性能管理:对各种推荐服务实际运行的性能如响应时间、数据吞吐量、CPU和内存占用、网络宽带消耗等进行监控,便于运维人员进行调整维护。
推荐导流服务展现
推荐导流服务数据展现提供两种方式:一种是推荐导流专页,支持桌面端和移动端浏览器的浏览;另外一种是提供推荐导流服务,客户网站可以使用这种服务,将推荐导流结果嵌入其网站。
推荐导流专页界面示意图如下:
图 3 个性化推荐导流专页界面
个性化推荐导流引擎的后台由大数据集群进行支撑,大数据集群提供的功能主要包括两部。
(一) 大数据处理
主要利用大数据集群的高吞吐量、高可用性(High Availability)和水平扩展性,对客户网站收集的用户行为数据进行处理。
我们的大数据集群采取最新的Spark技术,进行内存计算,大大降低了原有Hadoop的MapReduce计算模型开发和部署的难度;同时利用Hadoop提供的HDFS分布式文件系统,提供数据的容错性和水平扩展性。
个性化推荐导流大数据集群
|
数据存储 |
推荐导流结果 (HBase) |
Hadoop集群 HDFS分布式文件存储 (提供文件容错和分布式计算) |
非实时数据分析 (R、Python脚本、 Mahout命令行) |
数据处理转换 (Spark集群Job) + 实时数据分析 (Spark MLlib)
|
实时数据分析REST前端 (Spark Job Server) |
用户行为数据库 (HBase) |
数据预处理程序 |
推荐导流专页 |
埋点 日志 |
客户网站 |
以下是大数据集群软件框架图:
图 4 个性化推荐导流大数据集群组件框架
(一) 数据挖掘和机器学习
个性化推荐导流大数据集群利用Spark MLlib、Mahout和R等数据挖掘和机器学习框架,建立各种场景的推荐算法模型,满足实时性和准实时性的推荐导流服务需求。
个性化推荐导流的算法主要是基于内容的推荐算法和协同过滤的推荐算法:
1. 基于内容推荐算法
基于内容的推荐算法,是收集用户相关人口地理、网站行为和产品特征数据,提取各种指标特征,运用各种相似度算法,进行用户画像和产品分群,最终基于用户相似度和产品相似度进行推荐。这种推荐算法对数据要求比较高,很多用户人口地理特征无法获取,而且产品特征也很难量化,因此应用推广较难。
2. 协同过滤推荐算法
协同过滤算法的优势在于不要求分析用户和物品的各自属性数据,而是分析大量的用户-物品的交互关系数据,进行推荐。实践证明,协同过滤算法与基于内容的推荐算法相比,在推荐指标方面具有明显的优势。
协同过滤推荐算法计算过程介绍如下:
1) 基于用户(User-based)的推荐算法
基于用户的推荐算法,是根据用户对物品的偏好数据进行分析,以推荐相关产品的算法。
算法的输入数据格式:[{用户ID、物品ID、偏好值}]
其中关键数据是偏好值,偏好值可以是用户对某物品的主观评价,比如“超赞”、“赞”等,也可以是通过用户对物品的客观操作统计而成的值,比如某一月内,该用户对某一物品的搜索或浏览次数、时长等,变换成偏好值。
算法计算过程
以下是协同过滤推荐算法的过程:
第1步:将用户-物品数据导入数据模型(DataModel);
第2步:计算用户相似度(UserSimilarity),一般使用欧几里得距离算法,也可以用皮尔逊算法、余弦距离或最大对数似然率算法;
第3步:计算用户邻近度(UserNeighborhood),这是根据用户相似度的聚类分析结果;
第4步:将以上参数传入Recommender,最后得到结果。
算法示意图如下,其中1,5,3是用户ID,102,102…107是物品ID。
算法的输出数据格式:[{用户ID、物品ID、推荐值}]
基于物品(Item-based)的推荐算法
基于物品的推荐算法与基于用户的推荐算法过程相同,不过在不是计算用户相似度(UserSimilarity)而是物品相似度(ItemSimilarity)。
算法的输入数据格式:[{用户ID、物品ID、行为}],“行为”可能是浏览-View,也可能是购买-Purchase,或者是搜索-Search;
算法的输出数据格式:[{用户ID、物品ID、推荐值}]
一、 系统部署
1. 集群部署框架
1. 服务器硬件设施
个性化推荐导流引擎大数据集群包括所需的计算能力,随业务需求而定,一般日PV达100万以上的网站,需配置150个节点以上。各个节点的硬件规格如下
服务器型号:Dell PowerEdge R910或同等类型
CPU:至强6 CPU24核以上
内存:64G以上
存储:150G固态硬盘 + 30TB SATA3硬盘
网络设备:10G高速网卡
操作系统:CentOS 6.5
-----------------------------------------------------------------
更多详情请登录中智讯(武汉)科技有限公司官网,欢迎致电垂询!
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。
eleaction01 阅读:3122