不是美团的产品,不了解美团怎么做的,但是可以分享下我想的一个思路框架
首先有个订单池,用户下的所有订单都发布到订单池里面,包含起始地,终点地,下单时间,预计送达时间,最晚送达时间,订单金额,骑手收益等关键信息。
骑手进入订单池可以进行抢单,订单会按一定的rank规则排序对每个骑手个性化可视,千骑千面,排序的算法,会根据很多因子计算。本质就是计算订单与骑手之间的匹配度,且这个匹配度随着因子变化而变化
1.骑手当前的规划路线和当前订单路线的重合度(通过已接单的订单计算当前骑手所在位置到送完所有订单的路线,例如先去a商家,再去b商家,送b客户,再送a客户)
2.骑手接单后,其所有订单的预计完成时间的变化,例如是否会超时
3.当前订单可匹配的运力资源(某些偏僻路段的区域可能仅有少数的骑手)
4.订单的停留响应时长
5.骑手的已接单量
6.订单的辐射区域,以及骑手负责的区域是否一致(减少算法压力,仅对骑手计算其区域内的订单)
7.订单的优先级(例如用户加配送费,VIP或优质用户,大金额订单等)
给每个因子按照重要程度去分配一个权重,最终计算出所有订单对骑手的匹配度,按照匹配度进行排序展示,骑手进行抢单。
派单的逻辑和抢单的逻辑应该是类似的,骑手选择自动派单模式,系统会将计算出来匹配度高的订单自动派送给他。应该还有强制派单,例如某个订单停留响应时间太久,高峰期运力资源不匹配强制调度,骑手考核任务等
关于预计送达时间怎么计算(可以了解一下时效表达相关的逻辑),这个时间是可以动态更新的,大致分为两次
1.下单时,按照同类计算,美团积累了非常多历史同期同商家到同地点的订单数据,直接取历史同类订单的真实送达时间的平均值
2.骑手接单后,直接根据骑手当前路线动态计算,当然骑手每次接新单,都需要重新计算这个时间
Jul 6, 2024