一、背景与挑战:外卖行业的增长困境
外卖行业的竞争本质是用户需求匹配效率的竞争。传统推荐系统依赖人工规则或简单协同过滤,面临三大核心挑战:
- 数据孤岛:用户行为分散在订单、搜索、浏览等多场景,难以形成统一画像;
- 时效性不足:用户口味、天气、地理位置等变量动态变化,静态模型难以适应;
- 长尾问题:中小商家曝光不足,导致平台流量分配失衡。
百度外卖通过构建商业智能推荐系统,以大数据为驱动,实现从“人找餐”到“餐找人”的转型。其核心逻辑是:通过海量数据挖掘用户潜在需求,结合实时上下文动态调整推荐策略,最终提升订单转化率与用户留存。
二、系统架构:数据驱动的三层模型
1. 数据层:全域数据采集与融合
系统接入多源异构数据,构建用户-商家-环境的立体画像:
- 用户数据:历史订单(菜品、价格、配送时间)、搜索关键词、浏览轨迹、评价反馈;
- 商家数据:菜品分类、销量趋势、评分波动、促销活动;
- 环境数据:实时天气(雨天推荐热汤)、地理位置(写字楼周边推荐快餐)、时间(晚餐高峰推荐高评分套餐)。
数据通过Kafka流处理框架实时采集,存储于Hive数据仓库,并利用Spark SQL进行清洗与特征工程。例如,将用户订单数据转换为时序特征:
-- 用户近7天订单频次统计SELECT user_id,COUNT(DISTINCT order_id) AS order_count_7d,AVG(price) AS avg_price_7dFROM ordersWHERE order_time >= DATE_SUB(CURRENT_DATE, 7)GROUP BY user_id;
2. 算法层:多模型融合的推荐引擎
系统采用“召回-排序-重排”三阶段架构:
- 召回层:基于用户历史行为(如常点川菜)和实时上下文(如当前位置),通过协同过滤和向量检索(Faiss库)快速筛选候选集;
- 排序层:使用XGBoost模型融合多维度特征(用户偏好、商家质量、配送距离),输出推荐分数;
- 重排层:引入多样性控制(避免连续推荐同类菜品)和业务规则(如新用户优先展示高评分商家)。
关键算法优化点:
- 特征交叉:将用户历史订单中的“菜品分类”与商家“主营分类”进行笛卡尔积,生成高阶特征;
- 实时反馈:通过Flink流计算实时更新用户偏好(如点击某菜品后,提升同类菜品权重);
- 冷启动解决:新用户通过“地理位置+时间”泛化推荐(如午间推荐周边快餐),新商家通过“相似商家迁移学习”获得初始流量。
3. 应用层:场景化推荐策略
系统针对不同场景定制推荐逻辑:
- 首页推荐:基于用户长期偏好(如“减脂用户”推荐轻食),结合实时热度(如“周边爆款套餐”);
- 搜索后推荐:根据搜索关键词(如“披萨”)扩展相关品类(意面、沙拉);
- 订单完成页推荐:利用“用户-商家”交互数据,推荐“常点商家”或“高评分新店”。
三、效果评估:数据驱动的增长验证
系统上线后,通过AB测试验证效果,核心指标提升显著:
- 订单转化率:推荐页订单占比从35%提升至52%;
- 用户留存:次日留存率提高18%,7日留存率提高24%;
- 商家收益:长尾商家曝光量增长3倍,订单量提升40%。
评估方法包括:
- 离线评估:使用AUC、NDCG等指标验证模型排序质量;
- 在线评估:通过分流实验对比不同策略的转化率;
- 长周期跟踪:分析用户生命周期价值(LTV)变化。
四、可复用的实践建议
- 数据治理优先:建立统一的数据仓库,确保用户ID、商家ID、订单ID的贯通;
- 实时能力建设:部署流计算框架(如Flink),实现用户偏好秒级更新;
- 多目标优化:在排序模型中同时考虑GMV、用户满意度、商家公平性等目标;
- 冷启动方案:设计新用户/新商家的分级曝光策略,避免“冷启动陷阱”;
- 效果归因体系:构建从推荐曝光到订单转化的全链路监控,快速定位问题。
五、未来展望:从推荐到智能生态
百度外卖的实践表明,大数据驱动的推荐系统不仅是流量分配工具,更是业务增长的引擎。未来方向包括:
- 深度学习应用:引入Transformer模型捕捉用户长序列行为;
- 多模态交互:结合图片、语音等非结构化数据优化推荐;
- 生态协同:与支付、物流等系统联动,实现全链路智能。
对于企业而言,构建类似系统需从数据基础、算法能力、业务理解三方面同步发力,最终实现“数据-洞察-行动”的闭环。