从0开始做垂直O2O个性化推荐-以58到家美甲为例
从0开始做垂直O2O个性化推荐
上次以58转转为例,介绍了如何从0开始如何做互联网推荐产品(回复“推荐”阅读),58转转的宝贝为闲置物品,品类多种多样,要做统一的宝贝画像比较难,而分类别做宝贝画像成本又非常高,所以更多的是进行用户画像、分类预测推荐、协同过滤推荐等个性化推荐。
有些同学反馈,他们的产品是垂直类的O2O产品,分类单一,可以简单的实现宝贝画像,这类垂直O2O产品怎么从零开始做个性化推荐呢?这是本文要讨论的问题
一、58到家美甲简介
58到家有三大自营业务“家政”“美甲”和“速运” ,美甲能够实现“足不出户,享品质服务,做美丽女人”,目前提供上门美甲、修复与卸甲、美睫、化妆等服务。
http://bj.daojia.com/liren/
二、从0开始设计垂直O2O推荐框架
(1)列表页推荐:用户既然进入到了美甲,成交意愿是非常强烈的,首页的推荐至关重要
(2)宝贝详情页推荐:买了还买,看了还看类的关联宝贝推荐
(3)下单成功页推荐:既然下单了某个甲样,可能会喜欢相近的甲样哟
(4)召回推荐:在用户退出系统后,通过RFM模型做优惠券推送或者消息推送做客户挽留与召回
RFM模型:根据用户最近一次购买时间Recency,最近一段时间的购买频率Frequency,最近一段时间的购买金额Monetary,加权得到的一个代表用户成交意愿的一个分值。
三、甲样列表页推荐详细流程
(1)用户点击进入甲样列表页
(2)画像用户的消费能力
(3)抽取购买、收藏、喜欢、浏览的历史数据
(4)根据历史数据,对所有甲样进行打分,综合一些产品策略,推荐出首屏的4个甲样,例如:
(5)如果用户下单,以被下单的相似甲样做推荐
(6)如果用户跳出,可以根据信用评级、消费等级做优惠券召回推荐
四、与业务紧密结合的策略规则
推荐系统并不是一个单纯的算法问题,而是一个与产品、工程架构都相关的综合性问题,不同的业务会有不同的产品策略,这些是在做推荐时需要考虑的,以美甲为例,需要考虑:
(1)排序前2名要推荐最符合用户消费能力的甲样(例如“价格小于150”)
(2)被推荐的4个甲样要覆盖尽可能多的消费区间(例如“两个甲样价格小于150,两个甲样价格大于150”)
(3)被推荐的4个甲样要覆盖最火的产品、旧产品、新产品(例如“1个爆品,2个旧加油,1个新甲样”)
(4)垂直相邻的甲样,颜色不同(为了视觉体验)
(5)水平相邻的甲样,颜色不同(原因同上)
(6)垂直相邻的甲样,款式不同(为了视觉体验,以及产品覆盖度、受众度)
(7)水平相邻的甲样,款式不同(原因同上)
(8)…
五、如何利用甲样画像与用户购买、收藏、喜欢、浏览的历史数据对所有甲样进行打分?
【宝贝画像】
垂直O2O的相对比较容易做宝贝画像,宝贝品类比较单一(甲样),宝贝的品种也比较少(几千几万种甲样),熟悉业务的人可以对宝贝进行画像(不需要复杂的机器学习方法),以甲样为例,可以抽象出:
款式
颜色
风格
场景
图案
其他
等多个核心属性
【核心属性赋值,标签化】
宝贝画像完毕之后,对于每一个核心属性,可以进行赋值,实施标签化
款式:纯色,法式,渐变,彩绘,贴饰
颜色:红色,粉色,蓝色,白色
风格:简约,甜美,复古,可爱
场景:派对,旅行,约会,晚宴,夜店
图案:卡通,小碎花,动物,桃心,五角星
【抽取用户历史行为】
抽取购买、收藏、喜欢、浏览的历史行为数据,得到一些甲样ID集合set<bb-id>
【查询所有历史行为甲样ID的画像属性,对标签进行频率统计】
用户U历史行为某买了甲样1:bb-id1,收藏了甲样2:bb-id2
从库中查询出所有甲样的详细属性
bb-id1:彩绘,红色,可爱,夜店,桃心
bb-id2:彩绘,粉色,可爱,夜店,桃心
对标签进行统计
款式:{彩绘:2}
颜色:{红色:1,粉色:1}
风格:{可爱:2}
场景:{夜店:2}
图案:{桃心:2}
【根据标签统计,量化对标签的喜爱程度】
例如,标签量化打分公式可以为:score=同类标签出现频率
那么,对于“款式”这个属性,依据上述统计,各标签的打分是:
纯色=0分,法式=0分,渐变=0分,彩绘=1分,晕染=0分,贴饰=0分(假设只有5种款式)
同理,对于“颜色”这个属性,依据上述统计,各标签的打分是:
红色=0.5分,粉色=0.5分,蓝色=0分,白色=0分(假设只有4种颜色)
…
这个打分是一个简单举例,实际上的打分公式会复杂很多(例如购买与收藏贡献的分值不一样)
【根据上述量化标签,量化用户对每个甲样的喜爱程度】
例如,对于一个甲样X{纯色,红色,简约,夜店,卡通},可以计算出用户对它的喜爱分值为
socre-X = 0(纯色) + 0.5(红色) + 0(简约) + 1(夜店) + 0(卡通) = 1.5分
这个打分是一个简单举例,实际上打分公式会复杂很多(例如各个属性的权重是不一样的)
【对所有甲样计算分值,排序】
【从高到底进行甲样推荐】
推荐的过程中注意,4款甲样要符合第四个大步骤中提到的产品策略(要覆盖各个价格范围,相邻颜色与样式不同等)
【个性化推荐完成】
好了,暂时先到这里,上面的思路绝对是能落地的,希望58到家美甲的推荐,对其他刚开始做垂直O2O互联网产品的同学有帮助。
以上内容均来自微信公众号“架构师之路”胡剑老师的文章,欢迎关注。
从0开始做垂直O2O个性化推荐-以58到家美甲为例的更多相关文章
- 为什么要用深度学习来做个性化推荐 CTR 预估
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:苏博览 深度学习应该这一两年计算机圈子里最热的一个词了.基于深度学习,工程师们在图像,语音,NLP等领域都取得了令人振奋的进展.而深 ...
- CSDDN特约专稿:个性化推荐技术漫谈
本文引自http://i.cnblogs.com/EditPosts.aspx?opt=1 如果说过去的十年是搜索技术大行其道的十年,那么个性化推荐技术将成为未来十年中最重要的革新之一.目前几乎所有大 ...
- Python个人项目--豆瓣图书个性化推荐
项目名称: 豆瓣图书个性化推荐 需求简述:从给定的豆瓣用户名中,获取该用户所有豆瓣好友列表,从豆瓣好友中找出他们读过的且评分5星的图书,如果同一本书被不同的好友评5星,评分人数越多推荐度越高. 输入: ...
- TensorFlow实战——个性化推荐
原创文章,转载请注明出处: http://blog.csdn.net/chengcheng1394/article/details/78820529 请安装TensorFlow1.0,Python3. ...
- 搜索实时个性化模型——基于FTRL和个性化推荐的搜索排序优化
本文来自网易云社区 作者:穆学锋 简介:传统的搜索个性化做法是定义个性化的标签,将用户和商品通过个性化标签关联起来,在搜索时进行匹配.传统做法的用户特征基本是离线计算获得,不够实时:个性化标签虽然具有 ...
- 个性化推荐调优:重写spark推荐api
最近用spark的mlib模块中的协同过滤库做个性化推荐.spark里面用的是als算法,本质上是矩阵分解svd降维,把一个M*N的用户商品评分矩阵分解为M*K的userFeature(用户特征矩阵) ...
- python 对图片做垂直投影
Python 对图片做垂直投影 本文利用opencv对图片进行垂直投影,做出垂直投影图,大体思路:打开图片,灰度化,二值化,按列进行统计,新建一个大小和原图一样的图片,按列进行填充: cv2.cv.G ...
- 使用Python3.7配合协同过滤算法(base on user,基于人)构建一套简单的精准推荐系统(个性化推荐)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_136 时至2020年,个性化推荐可谓风生水起,Youtube,Netflix,甚至于Pornhub,这些在互联网上叱咤风云的流媒体 ...
- 欲哭无泪的p-value = 0.051 | 做几次重复能得到较低的p-value
欲哭无泪的p-value = 0.051 | 做几次重复能得到较低的p-value 已有 1469 次阅读 2017-12-15 14:12 |个人分类:RNA-seq|系统分类:科普集锦|关键词:R ...
随机推荐
- python基础-------模块与包(四)
configparser模块与 subprcess 利用configparser模块配置一个类似于 windows.ini格式的文件可以包含一个或多个节(section),每个节可以有多个参数(键=值 ...
- python学习总结笔记(一)
1.raw_input("请输入:")提示录入信息,读取录入的字符串返回你录入的字符串2.os.environ 获取所有系统的环境变量,返回一个字典.3.str与repr区别str ...
- RocketMQ集群部署配置
目标,使用2台机器部署RocketMQ多Master多Slave模式,异步复制集群模式. 第一步,修改/etc/hosts文件 192.168.116.115 rocketmq1 192.168.11 ...
- 八、VueJs 填坑日记之参数传递及内容页面的开发
我们在上一篇博文中,渲染出来了一个列表,并在列表中使用了router-link标签,标签内的:to就是链接地址,昨天咱们是<router-link :to="'/content/' + ...
- js获取url地址栏参数
前端开发中经常会遇到需要获取url地址栏参数问题 方法如下: function getQueryStringByName(name){ var src = "www.baidu.com?na ...
- Maven引入jar的总结
Overview:显示maven项目的一些基本信息 Dependencies:添加jar包的页面 Plugins:添加maven插件的页面.比如tomcat-maven-plugin等 Reporti ...
- 【深度学习系列】用PaddlePaddle和Tensorflow进行图像分类
上个月发布了四篇文章,主要讲了深度学习中的"hello world"----mnist图像识别,以及卷积神经网络的原理详解,包括基本原理.自己手写CNN和paddlepaddle的 ...
- LogCook 一个简单实用的Android日志管理工具
众所周知,日志的管理是软件系统很重要的一部分,千万不可忽略其重要性.完整的日志将会在系统维护中起着异常重要的作用,就好像磨刀不误砍柴工一样,日志就像对系统进行分析的工具,工具便捷了,对系统分析起来就能 ...
- selenium 执行js,实现滚动条
今天在写脚本的时候,学习了执行js,实现滚动条,对于scrollTop=10000中这个10000是怎么来的,还不是很了解,先将方法记录一下, 1.滚动条回到顶部: js_up="docum ...
- zend Framework的MVC模式的搭建
1.首先搭建Apache和MySQL,搭建的Apache中必须有PDO_MYSQL模块,如果没有,可以到官方下载. 1.配置HTTP.CONF (1)进入Apache的conf目录下,打开httpd. ...