大数据文摘作品
在4月13号刚结束的O'Reilly和Intel AI Conference上,美团点评的配送算法策略架构师郝井华博士详细介绍了美团外卖即时配送业务的重难点,让我们来看看大数据文摘整理的演讲精华。
郝井华,美团点评研究员
美团外卖是全球最大的外卖平台,以及全球最大的即时配送平台。其共有骑手60万,签约商家150万,每天配送外卖1800万单。
美团要做的是即时配送,也就是在一个小时之内把订单送到客户手中。那么配送模式是如何配置的呢?60万骑手如何能够高效率低成本地工作?
优化配送模式
后台是把一个城市是划不同的区域,用户只有处在特定的区域内打开App才能看到这个区域内的商家,才能点这个商家的订单。每一个区域都有特定的骑手为区域内的商家服务。每个区域每天都有大量的订单,如何高效地提升资源的配置效率,是美团外卖想要解决的痛点。
60万的骑手,每个月光薪资就会有几十亿的人民币支出。如何控制成本,提高效率呢?可以从两个方面入手,第一,对骑手进行专业的培训;第二,对配送模式进行效率优化,例如根据区域的实际情况制定合理的配送费,以及合理的配送人数。
在实施层面做出实时的匹配,也就是,用户下单的时候涉及的配送费的动态设定,订单的指派,以及骑手的执行。举一些例子,比如说商家配送范围的规划,一些有争议的小区需要划到哪个区域,划分到各个区域产生的成本如何,收益又如何?加价机制其实是比较难确定的,加多少,往哪些方向上加?这些都是需要考虑的。
这类决策其实是多目标优化问题,用户的满意度,成本收益的情况,都需要考虑。以往这些问题都是用人工的方式解决。
然而人工的方式又会带来许多的问题,比如说在上万个区域中每个区域都会有一个调度员进行订单分配,调度员显然考虑配送模式的时候或多或少会出现低效率问题。还有一个其实也是比较大的问题,人数太多,就会出现或多或少的腐败问题。比如说,有权力的调度员往往会把订单给和他关系比较好的人。
在早期的时候,规模比较小,这些问题还不突出。但是当达到现在美团的体量的时候,这些问题就会变得很严重。因此就需要采用新的、基于大数据、人工智能的解决方案。
人工智能的发展,大致可以分为3个阶段,第一个阶段是Descriptive,做一些检索和精确的计算(比如说加减乘除),第二个阶段Predictive,其实是用算法发现一些规律,这一工作最早可以追溯到最小二乘等线性拟合算法,复杂一些的就是用语音识别,人脸识别发现一些规律。目前大部分成功的AI应用都是在第二个阶段。第三个阶段Prescriptive是基于这些规律进行最优的决策,比如说机票的动态定价,物流的订单分配。
拥有一个好的模型只是第一步,如何把模型进一步执行、优化,其实是需要花费许多功夫的。
来看一个简单的流程,用户下单,商家备餐,骑手在接到单的时候取货,取货完之后进行配送。在美团APP中,你会看到有35分钟、40分钟等时间的送达时间的预测,这个时间的预测要结合一个简单的策略。然后是动态调价,并不是说基于什么样的规则,我们是要对总体的成本和收益进行权衡之后给出定价。
当骑手到店之后,因为店里现有的用户会选择打包或者堂食,所以商家影响外卖出餐的时间是多因素的。另外商家的位置也是会影响配送时间的,在马路边上的商家,骑手到店方便,那么就会缩短取餐时间,如果商家是在高楼层,相对来说时间就会长一些。
对这一简单的流程进行优化,不可能进行一个商家一个商家地决策,需要用到AI技术。
通过机器学习开发出的智能助手需要考虑多重因素:如何进行单量预测,如何进行动态的定价,如何选择骑手到店的路径。当骑手取到餐后何时通知用户下来取餐等等。
一些线下的流程也需要算法进行优化,例如我们需要增加新的商家,那些商家能够签约,哪些商家又能够优先签约,签约之后给他制定多少的配送费等等。
提高骑手效率
在基础建设方面,要有一个大数据平台,要保持业务层面和机制的整体运行,在这个基础之上,还需要机器学习的平台,在这之上有许多机器学习的模型,方便对数据进行训练学习。在这两个基础之上还有大量业务的架构。
订单分给谁需要考虑用户体验,骑手的体验,商家体验,平台的配送成本等等。现在面临的主要难点是在考虑用户体验的情况下,如何让骑手的效率最高。
中关村的午高峰大约有200个左右的骑手,如何进行订单分配?最表层的理解是考虑多目标优化。在午高峰的时候每分钟大约有50个左右的新订单进来,每个骑手身上可能都有待配送的订单。
将订单分配给某个骑手,需要考虑他是不是顺路,他是不是交通比较熟,是不是效率能够保证。还有一些质量要求,例如用户点了面条,就要及时的送到,否则就会影响口感。其实留给智能助手考虑的时间不是很多,骑手的位置是不断在变化的,可能上一秒他还适合配送这一单,但是在这一秒就不适合了。
在一些工业场景,在用算法解决一些问题的时候,并不是算法为王。需要设计一个整体的方案,需要了解企业场景,业务场景。因此算法的改进优化需要多场景的兼顾。这些不可能一下全面覆盖,需要一个点一个点的去涉及。在没有摸清问题的边界的情况下,最好不要对算法进行优化。
技术上来说主要是两类,一方面是机器学习的方法技术,另一方面是运输优化。机器学习解决一些数据的统计和数据的规律分析。当模型的边界比较清晰的时候,就需要运输优化来解决一些问题。
数据工作是第一步,需要提升所有的数据的精度,提升数据覆盖的层面。一些简单的数据经过统计就可以知道。另一些数据获取则更复杂,比如商户的位置,这些位置是人上报的,这就可能存在因为线下利益关系而上报错误的位置。这时候我们就需要利用骑手的一些行为,利用聚类的方法,掌握商家的真实位置。更复杂的场景,比如上文提到的预估出餐时间,需要一些弱监督学习的方法,根据骑手的反馈,进行统计分析。
ETR问题也是需要考虑的,其实就是怎么样去估计一个路径上每一个点的时间。比如说骑手从一个地方出发,给他规划一个线路,他应该在最少的时间内配送最多的订单且路程最短。需要给每一个节点规划出什么时间可以完成。这个问题意义很大,因为在做订单分配的时候,要考虑是不是能准时送达,准时与否非常影响用户的体验。
利用优化算法,建立一个基本的关系,骑手从取到送的过程中分配很多的节点。建立参数优化模型,能够将误差控制在4分钟之内。
在优化的基础上,还要做一些执行的工作。比如开发一个智能助手,能够和骑手进行语音交互,使其不用看手机也能够知道他接到了多少单,他应该接下来做些什么等等操作。还有为骑手导航、进行长期激励等等。
未来要做的是通过多维度协同,实现全局最优化。需要考虑业务维度,空间维度,时间维度。业务维度指送达时间设定、动态定价、运力融合。空间维度指跨区调度、柔性边界、全城优化。时间维度指动态压单、最优指派、配送引导。