算法与数据中台实践之网约车平台
随着移动互联网的快速发展以及它与线下商业活动的互相渗透,在传统的电商、搜索、广告和推荐等线上业务之外,一种称为O2O(Online To Offline)的新型电子商务模式得到了广泛应用。O2O模式将线下的商务机会与互联网进行了有机结合,它让互联网平台成为线下交易的流量入口和使用终端。在这种新型的商业模式下,网约车平台成为其中最为经典的案例,无论是美国的Uber还是国内的滴滴都已经发展成为社会的基础设施。图9-1展示了这两个知名网约车平台的使用界面。
图9-1 知名网约车平台的使用界面
从这两大巨头的发展史来看,尽管前期它们都是利用补贴大战来完成对市场的占领的,但是随后它们也都专注于更为精细的运营和服务,以便满足乘客、司机和平台这三方的利益诉求。概括地讲,乘客的诉求是以较为低廉的价格来及时地满足自己的出行需求,司机的诉求是最大化个人的利润,而平台的诉求则是从整体上来实现运力资源的最优配置并满足自己的商业变现诉求。为了实现这些目标,Uber和滴滴等网约车平台都聚焦于技术的深耕和创新,它们的成功实践经验表明技术是业务发展的强大驱动力。业务和产品的快速迭代需要依靠优良的系统架构,而算法与数据中台在整体架构中又发挥了极为重要的作用,它是实现数据驱动和智能调度的核心组件。
Uber一直以来都秉承技术驱动和数据决策的理念。它充分利用自己的数据积累和算法优势完善了供需模型、到达时间预估算法、浮动溢价算法、自动匹配算法和全局优化算法等众多具备领先水平的技术方案。通过对数据技术和算法技术的不断追求,Uber有效地实现了良好的用户体验和高效的运力资源配置等目标。
滴滴推出的智能大脑平台依赖大数据和机器学习实现了出行时间的精准预估、出行路线的智能规划以及供需变化的精准预测。不仅如此,它也利用了动态调价策略和智能分单算法对运力进行更为合理的调度并从整体上来优化运力资源的配置效率。
本章我们会围绕网约车平台来探讨算法与数据中台在该业务中的重要意义和实践经验。首先,我们将对网约车平台的业务背景和运作流程进行阐述;然后,我们会对网约车平台的整体架构进行分层剖析,并阐述算法与数据中台在其中的定位;最后,我们将选择网约车业务中的部分核心应用场景来进行案例分析。
业务简介
网约车业务的发展源于O2O模式的兴起,它是移动互联网与线下商业活动进行互相渗透并有机结合的产物。本节我们将对网约车业务的产生背景、运作流程和用户体验进行阐述。
业务背景
“假如我可以在手机上按一个键,然后立刻出现一辆车就好了。”在参加完2008年巴黎LeWeb互联网峰会后,当时还是天使投资人的Travis Kalanick和同伴Garrett Camp站在寒风中发出的这个牢骚却意外地成为网约车平台兴起的源头。这样一个简单的打车需求却是一个世界性的难题。概括地讲,打车难主要体现在如下几个方面。
车辆资源少:出租车行业由于其特殊的准入门槛,车辆资源往往难于满足人们的日常用车需求,因此供小于求的状况是较为普遍的。
乘车费用高:由于产品的单一性和竞争机制的缺乏,出租车的费用对于不少出行需求来说是偏高的,这种情况降低了人们的用车积极性。
乘客找车难:对于无计划的或者突发的出行需求,乘客往往需要浪费大量的时间在路边等车。
司机接单难:由于缺乏对实际用车需求的掌握,司机往往需要依靠自己的经验,或者完全漫无目的地空跑来找到有出行需求的乘客,这种方式极大地增加了运营成本。
乘车体验差:乘车服务质量、乘车安全性、支付和沟通的便利性往往差强人意,并且这些指标也难以被准确衡量。
网约车平台正是为解决这个打车难题而诞生的。乘客只需在手机端的网约车平台应用上输入出发地和目的地后,便可将乘车请求推送给附近的司机,而司机既可以主动响应乘车请求,也可以被动接受网约车平台的指派。由此可见,基于LBS(基于位置服务)的网约车平台在司机和乘客之间建立了一座高效的沟通桥梁,它可以充分地优化运力资源的配置。网约车平台的大规模普及不仅仅是一个O2O商业案例的成功,它也对整个出行生态产生了重要影响。从很大程度上来讲,网约车平台成为社会的公共基础设施,它的出现带来了如下一些积极变化。
乘客体验提升:无论是有计划的还是临时的出行安排,乘客均可以通过平台来高效地选择乘车服务。利用网约车平台,乘客不仅节省了大量等车时间,而且也能提前预知乘车距离、乘车价格和乘车时间等信息。此外,乘客还能通过在线支付的方式来避免现金交易的麻烦。
司机收入增加:网约车平台可以利用智能的订单匹配技术对司机进行有效调度和精准分派,这种方式极大地提高了司机的服务效率,减少了漫无目的的空跑时间。客观上,它对于司机收入的提升也有一定的促进作用。
服务水平增强:网约车平台打破了原有出租车行业的垄断运营,这种竞争机制对于提高所有乘车提供方的服务意识和服务水平有重要意义。同时,网约车平台还可以利用积累的信用数据和服务评分来促进司机之间的良性竞争,从而进一步推动平台整体服务能力的提升。
资源分配合理:网约车平台不断地摸索并建立了诸如专车、快车、顺风车和拼车等新的产品,这种产品创新不仅增加了各类社会车辆的供给,而且也满足了不同乘车人员对出行品质的需求。从社会层面来说,网约车平台可以从更大程度上来调动社会闲置的运力资源。
运作流程
尽管市面上有多种多样的网约车平台,但是它们背后的业务逻辑和运作流程却是基本一致的。
(1)乘客在手机端打开网约车平台应用后,应用可以自动定位到乘客当前的位置,并在当前界面中显示周围的空闲车辆信息。
(2)乘客在应用中选择了出发地、目的地以及乘车方式后,网约车平台会自动预估出本次出行计划的上车时间、乘车路程、行驶时间和乘车费用等信息作为乘客的用车参考。
(3)乘客对乘车计划满意后,可以点击“呼叫”按钮将出行订单发给网约车平台,平台的分单引擎按照一定的分单策略将出行订单指派给附近的司机。
(4)司机在手机端应用中确认被指派的订单后,会按照指示路线赶往上车地点来接乘客。
(5)司机按照平台规划的路线行驶并将乘客顺利送达目的地后,平台会计算出乘车费用并将支付订单发给乘客。
(6)乘客在应用上完成支付后,司机则可以依据服务条款和服务质量来获得相应的报酬。
用户体验
对于网约车平台来说,它需要从整体上来解决乘客订单和车辆资源之间的最优匹配问题。但是从乘客(需求方)的角度来看,他们对出行需求的关切主要集中在价格高低、有没有车以及安不安全这三大核心因素上。这些因素也基本决定了网约车平台的成败,因此它们是必须优先考虑的问题。
价格高低:价格在大部分乘客的出行决策中起着关键作用,它在很大程度上可以左右乘客的出行意愿和出行方式。由于出行需求和车辆供给都是动态变化的,因此,为了准确及时地反映供需关系,并实现乘客、司机和平台三方利益的最大化,网约车平台一般都会采用动态价格来刺激消费或打压需求。当供大于求时,平台可以通过折扣来刺激用户发单;而当供小于求时,平台可以通过上浮价格来打压非刚性需求。在后文中,我们将以打车定价场景为例来阐述算法与数据中台在价格动态调整过程中所起到的关键性作用。
有没有车:在供小于求这种情况下,用户非常关心有没有车以及需要等待多久才能乘车。准确的需求预测和高效的车辆调度可以较好地解决运力供给难题,同时,明确的等车时间预估信息可以有效地缓解用户的焦虑情绪,这种方式可以有效提升平台的用户体验和用户黏性。在后文中,我们将以打车排队场景为例来阐述算法与数据中台在排队时间预估中所起到的作用。
安不安全:出行安全是任何出行需求和出行服务的前提条件。面对乘客对于出行安全的关注,网约车平台需要不遗余力地从技术、产品和运营等多个层面来进行统筹规划。从技术的层面来看,算法与数据中台也可以在各种安全保障措施中起到关键性作用。
技术架构
从乘客和司机的角度来看,网约车平台的整个运行过程是十分简单的,他们似乎感知不到背后互联网技术的存在。但实际上正是由于技术的支持和赋能,才给予了使用者更简单、更流畅和更智能的体验。本节我们将着重围绕整体架构与核心算法来阐述网约车平台背后的技术力量。
分层系统架构
我们可以把网约车平台的典型系统架构简化为图9-2 所示的分层设计模型,其包含了产品接入平台、业务中台、算法与数据中台以及基础架构这四个互相依赖的层次。
产品接入平台:该平台不仅为乘客(用车需求方)和司机(用车服务方)提供了对接入口,而且也满足了来自不同业务线的乘车产品的功能性需求。
业务中台:它包含了网约车业务中最核心和最通用的业务,其中需求池、运力池、调度系统、订单系统、司机系统、分单系统、定价系统和策略引擎等是业务中台里至关重要的组成部分。业务中台是网约车业务区别于其他互联网业务的核心部分,它体现了与打车最为密切的功能特性和业务策略。
算法与数据中台:它是支持网约车业务中各种产品与功能进行数据驱动和智能化升级的关键组件。通常来说,它由用户画像服务、司机画像服务、LBS 数据服务、机器学习平台、在线预估服务和样本拼接系统等部分构成。
基础架构:作为底层支持,它为网约车业务中的上层建筑提供了必要的存储保障、算力保障、资源保障、运维保障以及其他必要的支撑。该层面的系统和其他互联网系统中的基础架构组件没有本质区别。
业务中台
业务中台管理着打车、分单、接单和定价等核心业务流程,因此它也集成了如下网约车平台中最通用的业务系统。
需求池和运力池:这两个系统分别管理着出行需求信息和车辆运力信息。
调度系统:它可以根据不同的分单场景和需求,在资源调度的过程中选择抢单模式或者分单模式。
订单系统:它管理着所有的历史订单以及当前的订单状态。
司机系统:它管理着所有司机端的数据和状态。
分单系统:作为最核心的业务系统,它需要从全局的角度将订单和司机进行高效匹配。
抢单系统:在抢单模式下,它需要对乘客订单在多个司机间的争抢来进行仲裁。
策略引擎:它需要根据机器学习模型、专家规则和人工策略对业务系统的运行过程进行干预与指导,从而提高系统的智能化水平。
— 定价系统:它需要根据里程、时间、供需关系以及其他数据对行程进行动态定价。
在这些业务系统中,分单系统占据着核心地位,因此,我们着重对这一部分进行介绍。在任意时刻都会有众多的乘车需求和闲置运力等待匹配,分单系统便承担了对供需进行高效匹配的重任。为了满足多种打车产品的功能性需求,平衡多方的利益诉求,并且实现资源的优化配置,分单系统通常都有着复杂的运行逻辑。我们需要知道,当分单系统完成了订单和司机的匹配后,乘客会有一定的概率进行订单撤销操作,同时司机也会有一定的概率选择拒绝接单。因此,分单系统的一个重要优化目标就是降低这些有损订单成交的操作,系统需要在算力可行和决策时间有限的约束下来实现总成交量或总成交额最大化的分单目标。
以城市或者行政区域为界限,我们可以把这个范围内的所有订单和司机的匹配需求按照DO(Driver-Order)匹配矩阵抽象为数据模型。如图9-3左侧所示,横行代表了所有的订单,竖列代表了所有的司机,它们之间都是可以匹配的,但是匹配的概率各不相同。此外,这里有一个重要的现实约束条件,即一个司机在同一时刻只能匹配一个订单,并且一个订单在同一时刻只能被一个司机接单。因此,匹配问题又可以转化成一个如图9-3右侧所示的二分图最佳匹配问题(连线代表有一定的权值),它的最终优化目标是使得所有连线的权值之和最大化,经典的KM算法(Kuhn Munkres Assignment Algorithm)比较适合解决此类问题。在进行二分图匹配的求解过程中,系统需要对权值进行数值定义。如果以交易额为优化目标,那么权值就是订单价值乘上预估的成交概率;如果单纯以交易量为优化目标,那么权值就是成交概率。平台可以在不同的阶段和场景下采用不同的权值定义,并且权值的设定也需要考虑一些运营策略和安全因素,例如,评分较低的司机或者乘客需要被降权。
图9-4展示了分单系统的大体运行流程,它包括权值计算和权值调整两个关键阶段。权值计算基本上是根据行车距离以及其他硬性规则来进行成交额的估算,这里的距离可以被定义为球面距离或者路面距离。权值调整则是根据模型预估以及一些运营策略和安全策略来进行权值的加权、降权或者过滤操作。从分单的全流程来看,整个过程涉及多种数据,以及包括应答率预估、等车时长预估以及安全预估等多个机器学习模型的使用,因此算法与数据中台在这个场景中为分单系统提供了重要的数据和智能支撑。
算法与数据中台
算法与数据中台是网约车业务进行数据驱动决策和智能化升级的必要条件,正如前文中所探讨的,业务系统中的各个环节均需要它来提供支撑。在网约车业务中,最为核心的数据可以被归纳到用户数据、运力数据和订单数据三个方面。
用户数据:从平台的角度来看,用户数据包括乘客信息和司机信息两部分,完善的用户画像对于网约车平台进行资源的有效调度起着关键作用。乘客画像一般包括乘客的性别、年龄、身份和是否为车主等信息,这些数据可以被平台用来进行价格的动态调整,从而实现运力资源的调配和优化。司机画像一般包括司机的年龄、性别、驾驶习惯、信用分以及投诉记录等信息,这些数据可以被平台用来进行激励策略的动态调整,以便实现运力的有效配置。
运力数据:运力数据在网约车业务中有着不可替代的影响力,通过对与运力相关的实时特性以及历史特性的掌握,平台可以有效地实现资源利用效率和多方利益的最大化。网约车平台一般将地理区域按照一定规则划分为多个较小的子区域并统计各个子区域的实时运力信息和历史运力信息。实时运力信息一般包括当前的司机数、订单数、未播发的订单数等信息,而历史运力信息一般包括过去一段时间的司机数以及相同时间段的订单数等信息。
订单数据:订单数据包括两部分,即当前订单的详细信息和历史订单的统计信息。当前订单的详细信息里包含了预估价格、预估时间、预估距离、折扣率和产品选择等,而历史订单的统计信息里一般包含了历史订单数、历史消费金额、历史订单取消数、历史打车产品类型以及历史投诉订单数等信息。要将上面这些数据充分应用和赋能到网约车业务中,则需要借助机器学习模型和业务策略机制来实现。下面我们就算法模型在网约车平台中的使用场景进行简要介绍。
订单展示:平台可以依据算法模型对出行时间和出行价格进行准确预估。
订单定价:平台可以利用算法模型对应答率、转化率和留存率等指标进行精准预估,并将这些预估值作为定价策略的依据。
运力估算:平台可以构建供需预测模型,并基于模型预估值为乘客提供打车排队时间的预估值。
智能分单:平台可以利用诸如强化学习等更为复杂的算法来进行订单的分发。
乘车安全:平台可以建立相应的机器学习模型来预测司机和乘客的冲突概率,或者司机对乘客的骚扰概率,进而提升乘车的安全性和乘车体验。
通过上面的介绍,我们可以看到数据和算法已经成为网约车业务中不可替代的决定性要素,而算法与数据中台则为业务的快速发展和智能化升级提供了重要支撑。接下来,我们将对打车定价、打车排队和打车安全这三个核心场景进行探讨,并阐述算法与数据中台在这些场景中的应用。
打车定价场景
网约车平台需要同时兼顾乘客、司机和平台这三方的利益诉求,而在所有因素中出行价格则占有核心地位,它直接影响了乘客对出行方式的选择、司机的服务利润以及平台的商业利益。本节我们将对打车定价场景进行探讨并分析算法与数据中台在该场景中的作用。
场景描述
为了兼顾灵活性和执行效率,网约车平台一般会将规则定价策略和智能定价策略结合起来,进而实现动态价格。
规则定价策略:它与传统的出租车定价策略并无本质区别,该策略会按照城市、里程和时间等有明确定义的规则来产生基准的出行价格,这些规则也都会以明文的形式在打车应用中进行公布。由于这部分内容一般由运营团队和数据分析团队来制定,因此这里不做过多描述。
智能定价策略:作为规则定价的重要补充,智能定价是网约车平台所具备的独特定价方式。相比于司机和乘客,网约车平台不仅可以感知全局的即时供需情况,它也拥有丰富的历史数据积累。智能定价的一个核心目标是负责统筹全局来满足乘客和司机的需求,并在此基础上完成自己的商业目标。
一个完善的动态价格机制需要考虑闲置运力、乘客意愿、使用场景以及历史数据等一系列因素,由于现实场景的复杂性,在专家规则的基础上,平台需要更多地借助数据和算法来进行价格的动态调整。举例来说,价格的动态上浮比例以及下浮折扣率都需要基于大量历史数据和准确的机器学习模型来计算得到。由此可见,算法与数据中台在智能定价场景中有着举足轻重的影响,我们可以用图9-5来描述它在这个业务场景中的应用。
价格动态下浮策略
价格的动态下浮在网约车平台里十分常见,其通常采用抵用券、打折和一口价等方式来展现,图9-6 左侧展示了抵用券的使用形式。价格的动态下浮是一定发展阶段下和某些市场营销需求下的运营手段,也是实现三方利益最大化的技术手段。一般来说,通过对价格进行合理尺度的下浮操作,平台可以在自己利润正向的前提下来促进订单总量和司机留存的提升。
网约车平台里的动态定价策略通常涉及订单转化率和订单价值这两个核心指标。前者衡量的是乘客看到预估价格等信息后所表现出来的用车意愿的强烈程度,后者衡量的是订单的实际价值。订单价值在不同的平台或者不同的运营阶段有着不同的含义,平台既可以将订单价值定义为订单费用的数额,也可以把它定义为司机在单位时间内的收益。价格下浮定价策略的一个典型应用场景就是寻找到那些订单转化率很低但是订单价值却很高的订单,并针对这些订单进行降价操作。如图9-7 所示,价格下浮定价策略会给予这类订单一定比例的折扣,以便在保障订单价值不受过大损失的情况下来快速提升订单转化率,从而实现整体利益的最大化。
降价的幅度通常以折扣率来表示,因此我们可以建立折扣率和订单转化率之间的关系,这种关系完全可以通过机器学习模型来描述,其中折扣率是该模型中一个非常重要的特征。图9-8展示了订单转化率模型的特征选择和模型演进方向。在特征选择方面,除了折扣率,乘客的画像特征、打车记录特征、行程、预估价格和运力供给等因素也与订单转化率有非常大的相关性。在机器学习模型的选择上,我们也看到了从简单的LR模型到XGBoost模型再到DNN模型的演进方向。无论是特征的选择还是模型的迭代,除了最基本的离线评估,网约车平台都需要借助算法与数据中台里的AB实验平台在真实场景下进行验证和评估。
价格动态上浮策略
价格的动态上浮一般出现在诸如高峰期、极端天气和特别活动等供需不平衡的场景下,图9-6右侧展示了基本价格乘上一定倍率的价格上浮方式。在供远小于需的场景下,由于闲置运力的缺乏,再多的出行订单也无法被有效满足,长时间的等待还会严重影响乘客的用户体验。通过对价格进行合理的动态上浮,平台可以迫使部分非刚需乘客放弃用车,从而更好地满足刚需乘客的用车需求。同时,平台利用较高的服务报酬也可以有效地吸引其他区域的空车司机前来接单,从而从更大的空间尺度上来实现供需平衡。
价格动态上浮的尺度可以用司机的应答率来衡量,因此我们可以建立价格上浮比例和司机应答率之间的关系,这种关系完全可以通过机器学习模型来描述,其中价格上浮比例是该模型中一个非常重要的特征。在特征选择方面,除了价格上浮比例,司机应答率与下面这些因素也密切相关。
历史特征:平均价格、昨天的历史应答率、一周前的历史应答率。
实时特征:实时订单数、实时未播发订单数、实时空车司机数。
空间特征:周围空车司机数、周围已创建订单数、周围抢单和发单比。
订单特征:预估价格、预估时间、预估行驶距离、行驶方向。
从机器学习模型选择的角度来看,该场景下的模型也经历了从简单到复杂的演进。目前来说,深度神经网络模型已经成为主流选择。理所当然地,特征和模型的迭代上线都需要将离线评估指标与AB实验平台产生的在线指标作为主要评判依据。
小结
本节所阐述的智能定价方式只是网约车平台里定价策略的一种基本形式,在不同的时期和市场状况下,网约车平台所追求的目标是不一样的。在发展的初期,平台追求的是订单量的最大化而非运营利润;而在发展的中后期,平台则更多地考虑乘客、司机和平台这三方利益的平衡。在平台的不同发展阶段以及定价策略的迭代过程中,数据和算法总是发挥了重要作用,特别是在平台转入精细化运营阶段后,算法与数据中台则发挥了决定性作用。
打车排队场景
供小于需的情形是非常普遍的,特别是在大城市的热门区域,因此乘客的出行订单通常需要经过较为漫长的排队等待之后才会被司机响应。不可预期的等待时间会使乘客感到焦躁和不安,甚至影响他们的出行计划。为了消除或缓解这种焦虑情绪对用车体验的伤害,网约车平台给乘客提供了排队长度和排队时间预估值等相关信息。
场景描述
网约车平台通常会按照长方形或者六边形的方式对城市的地理区域进行划分,并为每个子区域建立打车排队的队列信息。图9-9展示了一个基于六边形的区域划分方案以及部分区域的排队场景。当乘客在有排队情况的区域发出打车请求时,其操作界面上会显示当前的排队长度和预估的排队时间。排队长度通常可以用乘客在队列里的位置来表示。当然,这里的顺序关系一般是基于打车请求的时间戳以及其他因素来综合决定的。相比于排队长度,对排队时间的预估则是一个更为复杂的计算任务,该值的预估精准性会直接影响乘客的用车体验。由此可见,排队时间预估策略的核心任务是基于排队长度和运力情况等因素来精准地预估排队时间。
排队时间预估策略
图9-10展示了打车排队时间模型的特征选择和模型演进方向。在该场景下,乘客的排队时间主要受到天气和运力等因素影响,因此这些实时的上下文特征数据往往比用户画像、司机画像以及历史数据更为重要。在模型选择方面,回归树模型具有可解释性强和易于上线的优点,因此它是前期最为主要的模型方案。近年来,由于深度学习在工业界得到了广泛应用,因此它也被应用到排队时间预估的场景当中,并带来了较大的准确性提升。目前来看,基于深度学习甚至强化学习的方案也在被不断地尝试和迭代。和其他场景下的模型一样,排队时间模型也需要借助AB实验平台来进行在线评估,但不同的是,对流量的切分需要以订单列表为粒度来进行,而不是单个订单或者单个乘客。
小结
排队时间预估直接影响乘客的用车体验,失准的预估将带来严重的不信任感,从而影响乘客的留存和用车频率。由此可见,该场景下的模型对于网约车平台来说也是至关重要的,算法建模人员需要借助算法与数据中台来进行大量的特征迭代和模型迭代,并借助AB实验平台来评估在线效果指标。
打车安全场景
出行安全是所有乘客都关心的首要问题。相比于出行费用和出行品质,出行安全对于网约车平台来说是一个更基本的要求,特别是在多起安全事故之后,对于乘客和司机的安全保障成为网约车行业中一个极为关切的话题。
场景描述
各类网约车平台为了切实保障乘客和司机的出行安全,纷纷出台了实名认证、行程分享、全程录音等多种安全保障措施。但这些基本上都属于事后补救措施,要做到事前预防,则需要在撮合订单和司机过程中进行,这就是本节所要阐述的派单安全保障机制。
部分女性乘客可能会有这样的经历,在深夜里打车去往地点较为偏僻的地方时,她们往往需要等待较长时间才会有司机接单。同理,对于女性司机来说,在深夜时也基本不会接前往偏僻目的地的乘客订单,这些现象背后都有派单安全保障机制的参与。派单系统将自动地分析安全事故在各类场景下的可能性,从而避免高风险订单的分发。系统通常会结合乘客的出行习惯、司机驾驶习惯、历史订单信息和投诉记录等特征来进行综合判断。派单安全保障机制往往需要借助机器学习模型来进行风险预测,它可以在9.2.2节中介绍的二分图匹配算法里降低那些具有较高风险匹配对的权值。举例来说,我们可以为派单安全保障机制建立如下一些机器学习模型。
司乘冲突模型:用来预估司机和乘客发生冲突的概率。
司机骚扰模型:用来预估司机对乘客实施骚扰的概率。
醉酒伤人模型:用来预估乘客醉酒可能导致伤人的概率。
安全策略
限于篇幅,这里我们仅对司机骚扰模型在派单安全保障机制中的可能应用方案进行探讨。该方案的原理如图9-11所示。派单系统会利用司机骚扰模型来预测乘客订单O4和司机D1或司机D4之间发生骚扰的概率。假设该订单与司机D4之间的预估骚扰概率大于某个设定阈值,那么该匹配会被直接过滤;假设该订单与司机D3之间的预估骚扰概率较小,那么该匹配会被降权处理。
在这类场景下的模型中,乘客和司机双方的用户画像具有突出的特征重要性,具体来说,模型可以考察如下一些特征数据。
乘客特征:年龄、性别、近期订单次数、用券情况、打车产出选择等。
司机特征:年龄、性别、驾驶习惯、历史订单信息、信用分、投诉记录等。
订单信息:目的地坐标、行驶路线、行驶距离、当前时间和天气等。
司机骚扰预测这类的安全机制模型和其他场景下的模型有一些不同之处,由于样本稀疏且实验成本很高,因此它无法完全依赖AB实验平台来进行在线评估。这类模型一般会转而利用订单请求回放的方式来进行离线评估。在线评估一般只是为了试探模型对诸如应答率和订单数等其他指标的影响,从而避免过度惩罚对于用户正常出行需求的负面影响。
小结
对于出行安全的保障是网约车平台得以生存的根本所在,除了全程录音等事后补救措施,更重要的机制是提前预防安全事故的发生。在订单和司机的匹配过程中加入多种与安全策略相关的机器学习模型是一个可行的技术方案。
本章总结
在本章中,我们围绕网约车平台这个与大家生活息息相关的行业进行了讨论。特别地,我们对网约车平台的产品逻辑、运作流程以及背后的技术架构进行了较为深入的分析。最后,我们也对打车定价、打车排队和打车安全这三个最贴近用户的场景进行了案例讲解。毫无疑问,这类具有强大社会影响力的出行平台,是互联网技术和线下生活服务互相渗透的结果,也是算法与数据中台对业务系统进行智能化升级的成功案例。
本文节选自《算法与数据中台:基于Google、Facebook与微博实践》一书
詹盈 著
电子工业出版社出版
Facebook|Google|Uber|阿里|腾讯技术带头人领衔力荐
作者简介
詹盈,本科毕业于南京大学,后赴美攻读计算机博士学位。先后就职于Google、Facebook以及新浪微博,历任主任架构师、算法总监等职位。长期致力于机器学习算法、算法工程平台和大规模个性化系统等方向的技术研究以及团队管理工作,对推荐系统、计算广告、大数据和云计算等相关业务领域有着长期深入的工作经验和成功实践。
郑旭飞,先后就职于360搜索、滴滴出行以及新浪微博,历任算法专家和资深工程师等职位,对搜索、推荐、广告等个性化系统以及机器学习平台有着丰富的实践经验。
版权声明: 本文为 InfoQ 作者【博文视点Broadview】的原创文章。
原文链接:【http://xie.infoq.cn/article/d49b090d6b016f9e09f575a76】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论