一、算法设计核心思路
1. 多目标优化
- 短期目标:提升即时转化率(如“猜你喜欢”模块)
- 长期目标:增加用户复购率(如“常购清单”推荐)
- 业务目标:促进高毛利商品销售(如“今日特惠”推荐)
- 社会价值:减少生鲜损耗(推荐临近保质期但品质合格的商品)
2. 数据驱动架构
- 用户画像:
- 基础属性:年龄、地域、家庭结构(通过注册信息+行为推断)
- 行为特征:购买频次、客单价、品类偏好(如叶菜类/根茎类占比)
- 实时意图:搜索关键词、加购未购买商品、浏览时长
- 商品画像:
- 静态属性:品类、产地、规格、价格带
- 动态属性:库存周转率、损耗率、促销状态
- 关联属性:替代品(如进口车厘子→国产樱桃)、互补品(如牛奶→鸡蛋)
二、推荐算法技术实现
1. 召回层(Candidate Generation)
- 协同过滤增强版
- 改进传统ItemCF:加入时间衰减因子(近期购买权重更高)
- 引入地理信息:推荐同区域热销商品(解决生鲜区域性需求差异)
- 示例:用户A常购“上海青”,系统推荐同区域热销的“空心菜”
- 语义搜索召回
- 使用BERT模型处理用户搜索查询,理解“低卡路里蔬菜”等模糊需求
- 结合商品标题、详情页文本进行语义匹配
- 实时行为召回
- 基于Flink的实时计算:用户加购“三文鱼”后,立即推荐“柠檬”(去腥)和“寿司醋”
2. 排序层(Ranking)
- 多目标学习模型(MMOE)
- 同时优化点击率、转化率、客单价三个目标
- 特征工程:
- 用户侧:历史购买频次、最近一次购买时间、价格敏感度标签
- 商品侧:库存周转率、损耗率、促销力度
- 上下文:时间(工作日/周末)、天气(雨天推荐火锅食材)
- 动态权重调整
- 根据业务阶段调整目标权重:
- 大促期间:提升转化率权重
- 日常运营:平衡GMV和用户满意度
- 清仓期:提高库存周转率权重
3. 特殊场景优化
- 冷启动解决方案
- 新用户:基于注册时选择的饮食偏好(如素食/低糖)推荐套餐
- 新商品:通过关联规则推荐(如新上市的“有机菠菜”推荐给常购普通菠菜的用户)
- 损耗控制策略
- 对临近保质期商品(如24小时内)提升推荐优先级
- 结合用户地理位置推荐自提点(减少配送成本)
三、业务场景落地实践
1. 首页推荐位优化
- 位置1(黄金位):个性化推荐(协同过滤+实时行为)
- 位置2:场景化推荐(如“晚餐灵感”基于时间+历史订单)
- 位置3:运营干预位(如“助农专区”固定曝光)
2. 购物车页面推荐
- 补全推荐:基于已选商品推荐搭配品(如选牛排推荐黑胡椒酱)
- 替代推荐:缺货商品推荐相似品(如进口苹果缺货推荐国产苹果)
3. 售后场景推荐
- 订单完成页:推荐复购周期短的商品(如鸡蛋、牛奶)
- 退单挽回:对取消订单用户推荐替代商品(如选的车厘子缺货推荐草莓)
四、效果评估与迭代
1. 核心指标监控
- 短期:点击率(CTR)、加购率、转化率
- 长期:复购率、客单价、损耗率
- 业务:GMV、促销商品销售占比
2. A/B测试框架
- 并行运行多个算法版本(如基于用户的协同过滤 vs 基于商品的协同过滤)
- 统计显著性检验(p值<0.05)确认优化效果
3. 反馈闭环构建
- 用户显式反馈:添加“不感兴趣”按钮收集负向信号
- 用户隐式反馈:跟踪退货率、售后投诉率调整推荐权重
五、技术栈建议
- 数据层:Hive(用户行为数据)+ HBase(商品实时属性)
- 计算层:Flink(实时特征计算)+ Spark(离线模型训练)
- 算法库:TensorFlow(深度学习模型)+ XGBoost(树模型)
- 服务层:Docker化推荐服务+Redis缓存热点推荐结果
六、典型案例
场景:用户A每周三固定购买“进口香蕉”,本周三未购买
推荐逻辑:
1. 实时检测到用户未购买常购商品
2. 触发规则引擎:
- 检查同品类替代品(如“菲律宾香蕉”降价15%)
- 组合推荐(香蕉+酸奶的“早餐套餐”享9折)
3. 效果:该用户当周订单金额提升23%,香蕉品类损耗率下降8%
通过上述方案,叮咚买菜可实现推荐系统的精准化、场景化和业务导向化,最终提升用户生命周期价值(LTV)和平台运营效率。实际开发中需注意生鲜行业的特殊性(如时效性、损耗控制),建议采用“小步快跑”的迭代策略,每2周上线一个优化模块并持续监控效果。