一、推荐算法核心目标
1. 提升转化率:根据用户历史行为推荐高相关性商品(如常购蔬菜、肉类)。
2. 增加客单价:通过组合推荐(如“搭配购买”)、满减促销触发用户加购。
3. 优化库存周转:优先推荐临期商品或高库存品类,降低损耗。
4. 增强用户粘性:通过个性化推荐提升用户复购频次。
二、数据层建设
1. 用户画像构建:
- 基础属性:年龄、性别、地域、家庭结构(如是否有小孩)。
- 行为数据:浏览历史、加购记录、购买频次、退货率、搜索关键词。
- 场景标签:购买时段(早餐/晚餐)、季节性需求(如夏季西瓜、冬季火锅食材)。
- 偏好模型:通过聚类分析(如K-Means)划分用户群体(如健康饮食型、家庭主妇型、懒人速食型)。
2. 商品特征库:
- 基础属性:品类、品牌、规格、价格、产地。
- 动态属性:库存量、保质期、促销状态(如限时折扣)。
- 关联关系:替代品(如不同品种的苹果)、互补品(如牛奶与面包)。
- 时效性标签:即食性(如预制菜)、保鲜期(如叶菜类需优先推荐)。
3. 上下文数据:
- 实时行为:用户当前浏览路径、停留时长、加购商品。
- 外部数据:天气(如雨天推荐火锅食材)、节假日(如春节推荐礼盒装)。
三、推荐算法模型设计
1. 协同过滤(CF)
- 用户协同过滤:
- 计算用户相似度(如余弦相似度),推荐相似用户购买过的商品。
- 适用场景:新用户冷启动时,通过注册信息匹配相似用户群体。
- 商品协同过滤:
- 基于商品共现关系(如“购买A的用户也购买B”),推荐高频搭配商品。
- 优化点:结合生鲜损耗率,优先推荐共现率高且保质期长的商品。
2. 深度学习模型
- Wide & Deep模型:
- Wide部分:处理结构化特征(如用户历史购买品类)。
- Deep部分:挖掘非线性关系(如用户偏好随季节变化)。
- 适用场景:推荐页首屏的“猜你喜欢”模块。
- 序列模型(RNN/Transformer):
- 捕捉用户行为序列(如“浏览牛肉→加购调料→购买火锅底料”),预测下一步需求。
- 优化点:加入时间衰减因子,近期行为权重更高。
3. 强化学习(RL)
- 动态推荐策略:
- 根据用户实时反馈(如点击、加购、跳过)调整推荐列表。
- 目标:最大化长期收益(如用户LTV),而非短期点击率。
- 适用场景:促销活动期间的个性化推荐。
4. 多目标优化
- 帕累托最优:
- 平衡转化率、客单价、库存周转率等多个目标。
- 示例:推荐高毛利商品时,需确保用户接受度(如通过AB测试调整权重)。
四、业务规则融合
1. 库存约束:
- 实时过滤缺货商品,避免推荐后用户失望。
- 对高库存商品提升推荐权重(如“清仓特惠”标签)。
2. 促销策略:
- 满减活动:推荐凑单商品(如“再买XX元可减10元”)。
- 限时折扣:在推荐列表顶部置顶折扣商品。
3. 地域适配:
- 根据配送范围推荐本地化商品(如沿海城市推荐海鲜)。
4. 健康导向:
- 对高糖、高脂商品降权,或标注“健康替代品”(如用低脂牛奶替换全脂牛奶)。
五、系统架构与工程实现
1. 实时推荐引擎:
- 召回层:多路召回(用户协同、商品协同、热门榜单、实时行为)。
- 排序层:XGBoost/DNN模型对召回商品打分排序。
- 重排层:加入业务规则(如促销优先、多样性控制)。
2. 离线训练平台:
- 使用Spark/Flink处理TB级用户行为数据,生成特征和模型。
- 模型版本管理(如MLflow)支持A/B测试。
3. 数据闭环:
- 用户反馈(点击、购买、退货)实时回流至特征库,支持模型迭代。
六、评估与优化
1. 核心指标:
- 推荐点击率(CTR)、转化率(CVR)、客单价、用户留存率。
- 业务指标:库存周转率、损耗率、促销ROI。
2. AB测试:
- 分组测试不同算法策略(如Wide & Deep vs. 纯CF)。
- 灰度发布新模型,监控异常数据(如某品类推荐量突增)。
3. 冷启动方案:
- 新用户:基于注册信息(如地址)推荐本地化热门商品。
- 新商品:通过“新品专区”或与高相关商品绑定推荐。
七、案例:叮咚买菜“智能菜篮子”
- 场景:用户加入商品到购物车时,系统推荐搭配商品。
- 算法:
1. 召回:基于用户历史购买记录,召回高频搭配商品(如“鸡蛋”→“西红柿”)。
2. 排序:结合商品毛利率、库存量、用户偏好评分。
3. 重排:插入促销商品(如“满30减5”),并控制推荐品类多样性。
- 效果:搭配推荐点击率提升25%,客单价提升18%。
总结
叮咚买菜的推荐算法需以“用户需求+业务目标”双轮驱动,通过多模态数据融合、实时计算和强化学习,实现从“人找货”到“货找人”的转变。未来可探索图神经网络(GNN)挖掘商品间复杂关系,或结合NLP分析用户评论优化推荐逻辑。