专业成就职业
大家好,我是策略产品夏师傅。
召回是策略产品当中常见的一个模块,尤其是搜索推荐的场景下,召回决定了给用户展示哪些东西。
今 天给大 家讲一个常见的召回策略:频繁二项集。
插个广告 :24期训练营持续招生中,如果你现在求职面试遇到困境,想要转行策略产品,深入体系化的学习策略专业内容,欢迎来训练营看看。本期新增很多内容,下期即将调价,有意咨询文末小助理。
进入正文。
先来看一个故事
大家肯定都听过啤酒尿布的故事:
在美国有婴儿的家庭中,一般是母亲在家中照看婴儿,年轻的父亲前去超市购买尿布。父亲在购买尿布的同时,往往会顺便为自己购买啤酒,这样就会出现啤酒与尿布这两件看上去不相干的商品经常会出现在同一个购物篮的现象。
如果这个年轻的父亲在卖场只能买到两件商品之一,则他很有可能会放弃购物而到另一家商店,直到可以一次同时买到啤酒与尿布为止。
超市发现了这一独特的现象,开始在卖场尝试将啤酒与尿布摆放在相同的区域,让年轻的父亲可以同时找到这两件商品,并很快地完成购物。
这个故事带给我们什么样的启发?
其实对于推荐策略产品来讲,它的本质目标是在做什么事情?
个性化推荐系统的目标就是在做高效的流量分发,实质是人货匹配。
啤酒、尿布因为经常被用户同时购买,所以如果把他们放在同一区域,让客户能够快速找到目标商品,这样也就提升了客户的购买效率。
那么,这个故事的思路后续被应用到推荐系统中,就是我们今天要讲的“频繁二相集”。
下面复盘一下我在之前做的一个频繁二项集的方案的具体落地过程,大家看完之后就知道怎么应用到你的业务上了。
首先,需要抽取近三个月的订单数据,这里的时间窗可以自定义,根据你的平台用户下单的频次,建议订单量不要太少。
接下来按照如下的过程进行操作:
1 将近三个月的订单中同时涉及到的商品按照两两分组,形成一个pair
数据源
类型
pair
订单数据
商品(物品id)
100023(鱼香肉丝盖饭)-327445(胡萝卜)
232423(青椒)-121322(瘦肉)
三级类目(类目id)
0324(咳嗽)-3452(消炎药)
0212(渔具)-2341(鱼食)
2 对每个pair的频数(出现次数)进行统计
数据源
类型
pair
频次
订单数据
商品(物品id)
100023(鱼香肉丝盖饭)-327445(胡萝卜)
300000
232423(青椒)-121322(瘦肉)
23743743
三级类目(类目id)
0324(咳嗽)-3452(消炎药)
435235
0212(渔具)-2341(鱼食)
73822
3 根据频数计算每个pair的支持度和置信度
如下就是每一个pair支持度和置信度的计算方式:
支持度表示所有订单量中同时包含两种类型的概率,这个值越高说明对于这个pair同时出现的说服力越高,这个其实就是个支持度的概念;比如所有用户的订单中,同时购买了青椒和瘦肉的有越多代表用户越倾向于两者同时购买;
可信度表示的是用户同时购买的概率是多大,概率越高说明用户同时购买的可能性越大。
4 人工设置一个支持度与置信度阈值,过滤不达标的pair
接下来大家需要设置两个值:支持度和置信度的阈值,也就是分别超过对应阈值的我们才认为是一个合格的pair,才能用于给用户推荐。
所以通过上面的流程,其实大家能够发现,所谓的频繁二相集其实就是根据用户购买的行为记录,对于用户经常一起购买的两个物品是可以进行相互推荐的。比如:如果用户购买了999感冒灵,那么可以推荐一个阿莫西林胶囊。
这个策略的应用场景很多,可以通过简单的“变种”即可适应很多不同的效果,希望你能有所启发。
最后,如果你现在是策略产品,但是做的比较野路子,不成体系,或者你现在是C端,B端产品经理,希望转到策略方向,欢迎来我的训练营看看,24期已经开始,现在报名可以享受将近1000优惠,也是近期最优惠的价格了,好好学,达到拿offer的水平没问题。最近训练营的offer效果,这种大环境下还是很不错的,具体可以参考
课表如下:
报名联系小助理