- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
时间开发推荐引擎20%利用
成立一年,一千名员工 •
均有业务
莱、菲律宾、泰国、越南、香港、台湾
新加坡(总部)、印尼、马来西亚、文 •
东南亚时尚电商 •
Zalora
无论是否有引擎,交易额都一样 •
测试AB 经过数月•
购买自第三方 •
推荐引擎
组队全力开发自己的?•
买个新的?•
替代方案
CTO:“我来~”
一个月后
• 我
• 不准时上班
• 准时下班
• 某下午在刷微博
• CTO:“你好像很有空?”
我是有原则的!
• 不会的,不做
• 不清楚的,不做
• 不够时间的,不做
• 能做的(如果还有的话),要做好!
所以...
• Hadoop?
• 个性化推荐?
• 海量数据?
• 深度挖掘?
• 需求分析?
• 那还有什么能做的?
数据
• 有哪些数据要存?
• 不知道
• 数据结构(比方说订单属性)是怎么样
的?
• 不清楚
那怎么存?
• MongoDB
• 单表保存所有数据
tag: 版本化数据
• 怎么做增量更新?
• 不清楚,不做
• 假设每天增加一个snapshot
• 数据需要分版本
处理数据
• 怎么处理?
• 还是不知道~
• 换个思路,把程序逻辑也视为数据
• 先不做等以后知道怎么处理再修改
但是
• 什么样的算法在访问什么结构的数据?
• 不知道
• 程序访问数据之后,产生的结果
• 这个必须有定义
推荐:预生成排行榜
• Key: 推荐类型
• Target: 商品ID
• Score: 推荐
• 提供供前端php获得推荐
• HTTP
• JSON
• 这么多不确定的因素
• 统计是必须的
• 对于前端PHP来说
• 已经可以获得推荐数据
• 但还不够
统计是必须的!
• 需要统计效果
• 但运营人员怎么分析、比较数据?
• 还是不知道
Google Analytics
• 修改前端PHP,添加新GA事件
• 推荐展示
• 点击推荐
• 加入购物车
• 还是不够,要AB测试
• 比较有推荐跟没有推荐的用户区别
• 原第三方推荐引擎经验惨痛~ ^_^
• 作为一个20%项目
• 直接Hack掉原有给第三方推荐引擎调
用的AB测试代码
一些意外
来自Groovy
• Groovy Eval极其慢
我是会Python的
• 花了一晚上重新把核心用PY重写
• 果然很快
用PY推倒重来的理由
• 我不会Groovy
• Python比Groovy快
• 为什么Groovy Eval慢?
• Groovy/JVM版本比PY快50%
• (当然瓶颈不在此)
来自多线程
• Grails报告:对象被另一个线程修改了
• MongoDB: findAndModify
• 多线程跟单线程一样快
来自运营
• 新推荐引擎跟旧的一样差!
来自BI
• BI团队已经挖掘了很多数据耶~
• 推荐引擎的数据可以直接为BI团
文档评论(0)