原论文在UMAP'16。文章并没有太高深的模型,比较接地气;但其观点与结论很独到,并且在工业界具有很强的实际操作价值。

针对推荐系统的研究大多关注在挖掘用户并不知道但是却与其兴趣相关的物品。不过每个推荐系统所在的领域都有其各自的特点,本文所讨论的是电商领域的推荐系统,在电商领域中,给用户适当地推荐其过去曾经浏览过(或者消费过)的物品(reminders)同样具有一定的价值。

实验证明,在推荐结果中同时包含有reminders以及协同过滤(CF)等推荐方式的结果时,具有最好的效果。但是在推荐reminders时候也有很多需要改进的点:(1)如何避免太过明显的重复浏览的商品,避免已经无效商品(下架等);(2)如何推荐与用户当前购物需求相关的reminders。

首先,文章分析了用户对于电商网站的推荐内容中的reminders的接受度。以Zalando网站(一家欧洲的在线购物网站)为例,抽样了3000个重度用户,他们对18w+的商品有过310w量级左右的商品浏览记录,以及10w+的购买记录。对于这些用户,从日志中分析出有一下几个重要点:

1. 一个用户的购物session中平均有9次商品的浏览行为;平均每3次购物session会转化为一次购买行为。

2. 在推荐的商品中,有约1/10的商品是reminders,即用户之前已经浏览过这些商品;有约1/4的推荐列表中包含有至少一个reminders。

3. 在成功推荐的商品(在同一次session中,用户对该商品的点击浏览行为最终转化为购买行为)中,有约40%的商品为reminders。

4. 在用户最终转化成购买行为的reminders中,用户对这些商品在此前有过若干次的浏览行为。如下图所示:有成功推荐商品数与用户距离对该商品首次浏览时候的天数间隔的关系;以及成功推荐商品数与用户对该商品的浏览次数的关系。

5. 在一次购物session中,用户平均浏览的商品类目约为2.7个,说明用户在一次session中的意图还是比较有目的性的。

reminders的推荐策略

一个通用的流程是:

1. 获取用户在过去时间内有过浏览行为的商品集合,并从中筛选出哪些商品可以用作reminders。

2. 对这些reminders进行一定规则的过滤,并进行排序得到最终的reminders推荐结果。

排序的策略有:

1. Interaction Recency(IRec)

对某商品的浏览行为发生的时刻越接近,排序分越高。

2. Interaction Intensity(IInt)

对某商品的浏览行为发生的次数越多,排序分越高。

3. Item Similarity(ISim)

有过浏览行为的商品,与当前用户的购物意图(以当前实时浏览的商品来表示)越接近,排序分越高。

4. Session Similarity(SSim)

有过浏览行为的session,与当前用户的购物意图(以当前实时浏览的session来表示)越接近,排序分越高。然后再对排序较高的session中的商品进行IInt策略的重排序。

Feature-based Category Filtering

在电商领域,用户一般很少对相同类目下的商品进行重复购买,所以至少在一定时间间隔内,不应该给用户推荐与其之前已经购买过的商品属于相同类目的商品。

维护一个blacklist,对用户已经购买过的商品,将其类目加入到这个blacklist中,直至其又重新开始浏览该类目的商品再将其移出blacklist。

为了防止推荐商品太过于obvious,增加一个obvious gap的时间间隔,对于与当前时刻过近的时间段内用户浏览过的商品 ,我们不应当将其看作reminders。

版权声明:

本文由笨兔勿应所有,发布于http://www.cnblogs.com/bentuwuying。如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任。

Reminders在电商推荐中的价值的更多相关文章

  1. solr在电商平台中的使用示例简析

    来源:http://blog.csdn.net/yangbutao/article/details/9450463 在电商平台中搜索是非常重要的功能,主要包括有搜索词类目导航.自动提示和搜索排序功能 ...

  2. 电商系统中的商品模型的分析与设计—续

    前言     在<电商系统中的商品模型的分析与设计>中,对电商系统商品模型有一个粗浅的描述,后来有博友对货品和商品的区别以及属性有一些疑问.我也对此做一些研究,再次简单的对商品模型做一个介 ...

  3. 转)SSO单点登录在互联网电商应用中的解决方案(基于CAS的改造)

    电商平台中无论是前端还是后端会存在大量的业务应用,在整个交易的过程中请求是在各个业务应用中流转的,对于用户来讲只需要登录一次就可以访问所有的业务,这就是单点登录SSO. 单点登录开源有很多的解决方案, ...

  4. 电商系统中SPU、SKU的区别

    SPU = Standard Product Unit(标准产品单位) SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性.SPU多见于后台商品的管理. ...

  5. 电商项目中使用Redis实现秒杀功能

    参与过抢购活动就知道,很明显的一点是商即便商品实际没有了也是可以下单成功的,但是在支付的时候会提示你商品没有了. 实现原理:list双向链表 使用redis队列,因为pop操作是原子的,即使有很多用户 ...

  6. 电商网站中价格的精确计算(使用BigDecimal进行精确运算(实现加减乘除运算))

    使用BigDecimal的String的构造器.商业计算中,使用bigdecimal的String构造器,一定要用. 重要的事情说三遍: 商业计算中,使用bigdecimal的String构造器! 商 ...

  7. 电商技术中企业数据总线ESB和注册服务管理的区别

    一.概述 1.什么是ESB 就是企业数据总线的意思,他的核心功能就是兼容各种协议接口,可以将数据在各种协议之间进行流转,并且可以针对数据格式进行编排转换. 异构系统,功能繁多,复杂 代表性的项目有:J ...

  8. Java生鲜电商平台-SpringCloud微服务架构中核心要点和实现原理

    Java生鲜电商平台-SpringCloud微服务架构中核心要点和实现原理 说明:Java生鲜电商平台中,我们将进一步理解微服务架构的核心要点和实现原理,为读者的实践提供微服务的设计模式,以期让微服务 ...

  9. Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案

    Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案 说明:Java生鲜电商平台中由于采用了微服务架构进行业务的处理,买家,卖家,配送,销售,供应商等进行服务化,但是不可避免存在 ...

随机推荐

  1. IdentityServer4 禁用 Consent screen page(权限确认页面)

    IdentityServer4 在登录完成的适合,会再跳转一次页面(权限确认),如下: 我之前以为 IdentityServer4 就是这样使用的,但实际业务场景并不需要进行权限确认,而是登陆成功后直 ...

  2. Ajax 跨域 异步 CORS

    HTTP access control (CORS) 核心在于使用定制(添加新的header)HTTP header让浏览器和服务器有更多的相互了解,从而决定一个请求或者响应成功还是失败   对于一个 ...

  3. header操作cookie

    root@kl20080094:~# curl -I "http://www.xxx.com" HTTP/1.1 200 OK Server: nginx/0.8.53 Date: ...

  4. zabbix 3.2 高可用实现方式二-pacemaker+corosync实现zabbix高可用集群

    一.pacemaker 是什么 1.pacemaker 简单说明 2.pacemaker 由来 二.pacemaker 特点 三.pacemaker 内部结构 1.群集组件说明: 2.功能概述 四.c ...

  5. linux-more

    more 这个命令可以用来分页查看大篇幅的文件内容非常有效 命令参数: -num  : 这里的num 是一个数字,用来指定分页显示时每页的行数 +num  : 指定从文件的第几行num开始显示 ... ...

  6. 表空间与数据文件Offline,online的区别

    首先明确,表空间与数据文件的关系:Oracle数据库表空间有两种,一种smallfile小文件表空间(默认),另一种bigfile大文件表空间: 默认表空间与数据文件的关系:允许一对多的处理方式,一个 ...

  7. 你有什么理由还不选择阿里云服务器呢--从阿里云发布自研商用关系型数据库POLARDB想到的

    最近几天,阿里云发布自研商用关系型数据库POLARDB的消息可谓是重磅炸弹啊.借用官方宣传的话就是:6倍性能于MySQL并100%兼容/100TB存储容量/2分钟创建只读副本/3分钟创建容灾实例,第三 ...

  8. ios -Unity3D的EasyAR集成到已经有项目中。

    近期 在做AR这一块,用EasyAR集成到iOS端,由于现在到项目已经上线,下一版本要做一个AR功能,于是迫于需求需要,自己研究和翻阅读好多集成到资料. 通过整理分出几个重要到模块,其中在这里指出Xc ...

  9. SpringMV---params and headers

      配置文件承接一二章    params params:请求的参数    params=value 表示请求过来的参数必须等于value    params!=value 表示请求过来的参数必须不等 ...

  10. javascript第二章--变量、作用域和内存问题

    ① 基本类型和引用类型的值 ② 执行环境及作用域 ③ 垃圾收集