Logo
Section 1 / 3

问题陈述与评估指标

让我们深入探讨食品配送系统的问题描述以及所需的指标。

导入

问题陈述与评估指标

让我们深入探讨食品配送系统的问题描述以及所需的指标。

预估配送时间

1. 问题描述

构建一个模型,根据订单详情(如订单大小、餐厅位置、客户位置)、市场状况(如天气、活动、节假日)以及实时交通状态(如道路封闭、拥堵程度),预估总配送时间。

...
外卖配送流程

为简化问题,本练习中不考虑批量处理(即不在餐厅合并多个订单)。

配送时间 = 取餐时间 + 点对点行驶时间 + 送达时间

2. 指标设计与需求

指标

  • 离线指标:使用均方根误差(RMSE)来衡量预测配送时间与实际配送时间之间的差异。目标 RMSE 应小于 10-15 分钟,以确保预估的准确性。

    ∑k=1n(predict−y)2n\sqrt{\sum_{k=1}^n\frac{(predict-y)^2}{n}}

    其中,

    nn 表示样本总数,

    predictpredict 表示预估等待时间,

    yy 表示实际等待时间。

  • 在线指标:通过 A/B 测试监控 RMSE(均方根误差),同时关注用户参与度(下单完成率)和留存率(复购订单),确保模型提供的配送时间预估可靠且有用。

需求

训练阶段

  • 训练过程中需处理大量数据,因此训练流水线应具备高吞吐能力。为此,可将数据组织为 Parquet 文件格式。
  • 模型需要每隔几小时重新训练一次。由于配送业务处于动态环境中,受交通、天气等外部因素影响较大,模型必须能够持续学习并适应新环境。例如比赛日时,某些区域的交通状况可能恶化,若不及时重训,模型将持续低估配送时间。调度器负责在一天内多次触发模型重训。
  • 平衡高估与低估问题。为缓解此问题,需每日多次重训模型,以快速适应市场动态和交通变化。

推理阶段

  • 对每笔配送订单,系统需尽可能频繁地进行实时预估。为简化起见,可假设每次配送需要进行约 30 次预测。
  • 支持近实时更新,任何状态变更(如餐厅开始备餐、骑手出发)都应尽快进入模型重新打分。
  • 当配送状态发生变化时,模型需重新计算预估时间,并向用户发送更新通知。
  • 采集近实时聚合统计信息,例如特征流水线从多个来源(Kafka、数据库)汇聚数据,以降低延迟。
  • 推理延迟要求在 100ms 到 200ms 之间。

总结

类型目标要求
指标优化目标为低 RMSE,预估误差控制在 10-15 分钟以内。若高估,用户下单意愿下降;若低估,则易引发用户不满。
训练高吞吐能力,支持每日多次重训
推理延迟控制在 100ms 至 200ms 之间

租房搜索排序

特征工程与配送时间模型