在软件工程领域浸泡这么多年,要把一个产品、项目或者服务,跟一个非专业领域的人讲清楚,都不是一件容易的事情。很多研发同学,天天在职场的某个领域或者模块,时时刻刻从事着相关的业务开发工作,一旦要他把自己手上做的事情说清楚,经常三根子打不出个屁。
我自己工作这多年后,也慢慢体会到沟通表达是职场人一个多么重要的能力。无论是向上汇报,还是与外部对接,很多时候,别人都不是你专业领域的同事,这个时候你能清晰明了的把事情说清楚,让别人能快速理解你的意思,在工作上你就提高了效率,在协作上你就建立了信任。
如果现在要我向一个小白,去介绍一下供需匹配系统,我又该如何去阐述。
为什么要有
供需匹配系统成立的前提条件是:要有需求和运力两个要素。
如今网约车行业依然是滴滴一家独大,然后各个流量聚合平台联合多家运力供应商与之抗衡的局面。像滴滴肯定是需求和运力都掌控在自己手里,供需匹配的效率就成为它平台收益的关键点。
但是聚合平台的运营模式就不同,它只需要管控好用户的流量,然后把需求下放到各个运力供应商,最终从各供应商返回的司机列表中选择一个最合适的即可。对于聚合平台,由于它本身没有运力,因此运力的召回和匹配环节,它就无需介入,而是把供需匹配的能力下放到各个运力供应商,它只需要从最终的多个匹配结果中,选择一个对它收益最高的结果。
运力供应商就不同,因为它要管控好司机的服务,要能够留住忠实的司机,就一定要保障好司机的收入。不同流量平台的用户需求,进入到系统后,怎么把订单合理分配给不同的司机,让好司机继续保持,让差司机有向上的动力,同时还要确保平台能够挣到一定的利润,这就必须要打造好一个优秀的供需匹配系统。
基于以上考虑,公司一旦涉及到运力运营,就必须要有一个优秀的供需匹配系统。
怎么去做
知道了为什么要做这件事情后,我们就了解了一件事情的本质。接下来,也是软件工程师最关注也最熟悉的环节,怎么来做?做得好的标准是什么?
好的标准,在公司不同的发展阶段,是在不断变化的。
- 初期: 先保证需求和运力能够快速匹配,系统能够正常运行,简单的让每个需求找最近可以匹配的司机就算完成了。
- 发展期:需求数和运力数在不断增多,打车的场景和品类也在变大,这时无论系统的稳定性,还是研发的效率都是一个大的挑战。
- 这时的标准: 能快速完成业务需求的交互,同时保证系统的稳定性。
- 成熟期: 这时需求和运力的增长已经处于一个平衡状态,前期快速扩张,为了满足业务的交付要求,靠着人力的扩张把事情搞定。现在公司的流水和利润增长已经平稳了,那就要开始练内功,前期架构设计不合理或者技术成本过高的地方,现在就要开始优化,也就是要开始降本增效了。
- 这时的标准: 能够沉淀可复用的能力或者工具,用最小的成本支撑好现有的系统,并保障好新增的业务需求。
- 衰退期: 现有的业务逐渐萎缩,市场被新的技术代替,公司的流水和利润在变少,这个时候也就没有什么标准了,你要提前找好新的赛道,继续起航。
成熟期才是真正对一个公司技术的挑战,现在我主要聊一下,公司在成熟期怎么做好供需匹配系统?
- 稳定性: 这个衡量技术能力最重要的一个标准。对于供需匹配系统要保障好系统的稳定性,需要怎么做?
- 入口:入口处做好限流和降级,超过系统承载流量上限时,对需求流量做好排队限流,优先选择高优订单进行派单。
- 过程:对外部系统的依赖做好容错,防止外部系统故障影响自身链路的稳定性。比如:要区分哪些是强依赖,哪些是弱依赖。对匹配系统来说,强依赖是测距,一旦司机的接驾距离和接驾时间预估不准确,派单就无法达到准确的派单效果,派单会出错。弱依赖有很多,比如依赖的一些策略指标数据,这些数据没有只是影响策略的效果,但是对整个派单核心链路不构成影响。
- 出口:做好监控告警,一旦派送单量出现下降,要第一时间能够感知。
- 架构规划:对前期架构设计进行诊断,确定好以前遗留的痛点问题,提前进行架构优化的规划,确保在不影响业务需求吞吐率的情况下,做好架构的进一步迭代优化。
- 第一条: 要提前规划。不能等到架构无法支撑业务的时候,再去做架构规划,这个时候已经晚了,因为你已经由于架构问题影响业务需求正常的吞吐了。
- 第二条: 要做大计划小迭代。技术的重构是研发人员内部发起的,这件事情本身并不产生价值,如果需要暂停业务需求来专门做重构,即使重构做得再好,也给公司产生不了实际的收益。所以,一定要在前期做一个大的计划,在不影响业务需求正常吞吐的情况下,再做好架构的保障。
- 团队人员管理: 第一要让团队成员有事情可做,第二要确保团队人员任务交付的质量和效率,包括设计好对应的架构设计规范,定义好代码评审的标准。
供需匹配系统的架构规划
目标: 保障系统的高可用,提升业务需求的交付效率,并提高系统的可维护性。
保障系统的高可用: 前面稳定性上已经介绍过了。入口流量做好限流控制,匹配过程做好对外依赖的降级和熔断,输出结果做好监控。
提升业务需求的交付效率: 这件事情本质上需要先提前做好架构规划,才能在业务需求的各个阶段都保障好需求的吞吐率。对于一个匹配系统来说,有几个领域是必须要提前规划好的:
- 匹配引擎: 做好匹配过程的管控,定义更精细化的模块管理。
- 确定派单城市和服务器的绑定关系。
- 拉取城市的策略数据。
- 获取城市的订单需求。
- 管控需求,进行流量控制,确保系统的派单稳定性。
- 基于需求召回运力。
- 基于城市策略确定需求和运力匹配关系。
- 计算需求和运力匹配的权重系数。
- 基于权重系数,使用全局最优算法计算需求和运力的最终匹配结果。
- 基于最终匹配结果,向司机和乘客进行派单。
- 派单结束,更新司机的相关数据。
- 策略中心: 匹配策略配置的管控平台。 策略的配置管控,策略对外能力的输出,策略的权限管控, 策略的AB实验平台。
- 司机服务: 司机服务和匹配效率是紧密相连,起承转合的关系。司机服务的时间,服务的质量,既影响到匹配的效率,也受到匹配系统本身的影响,它们相辅相成,相互牵连。领域划分:
- 标准: 司机从上线到下线的整个服务过程,都属于供需匹配系统的一部分。供需匹配系统,简单来说它是一个匹配需求和运力的引擎,复杂来说它是一个做好需求服务的系统。
- 领域能力:
- 司机上下线: 司机开始和结束服务的能力。
- 司机接单设置: 司机在服务过程中设置的接单偏好。
- 司机服务过程监控: 司机在服务的过程中,是否有风险,是否有违规作弊行为。
- 司机智能助手:
- 智能调度: 基于城市的供需关系,把司机往接单热区牵引。
- 听单检测和推荐:如果司机长时间接不到订单,给司机进行诊断的工具,让司机调整自己的设置或者位置,能够更快接到订单。
- 指标中心: 匹配策略关联最紧密的要素就是指标,策略效果的好坏就取决于指标计算的是否准确。如果要做好匹配策略的管控,指标数据的计算和管理就是一个必备环节,要确保指标计算的准确性,同时要提升指标系统的稳定性。
- 匹配算法平台:包括两个运筹学算法和机器学习算法能力。
- 运筹学: 引擎依赖的实时匹配算法,全局最优算法,最小费用最大流算法等等。
- 机器学习算法:
- 分类模型算法: 匹配过程依赖的各种预测指标数据
- 深度或者强化学习算法: 司机和乘客的行为数据
提高系统的可维护性:
- 方便运维人员维护: 匹配过程的可见性,订单和司机匹配是否合理,让整个过程对外可见,提升系统的可维护性。
- 方便司机接单: 能够给司机提供一些检测手段,让司机快速识别自己的问题,让司机能够快速完成订单。
做成后的效果
对于衡量供需匹配系统好坏的指标,一个是GMV,一个是整体利润。
供需匹配系统的各种策略,最终都要服务这两个基线指标,不然其它的过程指标即使提升得再高,两个基线指标没有得到提升,过程指标也没有实际的意义和价值。
但是GMV和利润这两个指标又是公司经营最核心的指标,它会受到各个环节的制约,比如:实时的需求数和供给数。也许你的策略本身有很大的正向作用,但是最终影响到整体的GMV和利润上面,作用其实又微乎其微。
这个时候,策略的实验平台就会起到很关键的作用。在同样的供需场景下,基于时间片进行轮转,如果GMV和利润有较好的提升,就能说明策略的效果。
是否还能做得更好
对于供需匹配来说,未来更长远的策略,一定是建立更加智能化的策略系统。
这个智能化分为两个部分: 一是匹配策略的智能化,二是司机的智能化也就是无人驾驶汽车。
对于司机智能化,随着AI应用的大力发展,无人驾驶已经越来越逼近了,可能在不久几年内,我们就可以在城市的道路中使用到。
对于匹配策略的智能化, 一定要依赖出行领域的交通大模型。介绍一下目前国内最重要的三个。
1. 滴滴出行 "Orion"(北斗)系统
-
特点:滴滴自研的交通大模型,整合了深度学习、强化学习和时空预测技术,用于动态定价、订单匹配、路径规划和ETA(预计到达时间)预测。
-
应用场景:
- 实时需求预测:通过历史数据和实时交通流预测热点区域。
- 智能派单:优化司机与乘客的匹配效率。
- 交通仿真:模拟城市路网拥堵情况,辅助政策制定。
-
数据基础:依托滴滴全球每日数千万订单的出行数据。
2. 百度 "ACE交通引擎"
-
特点:基于百度飞桨(PaddlePaddle)和文心大模型,结合高精地图、车路协同和AI算法,提供城市级交通解决方案。
-
核心功能:
- 信号灯优化:通过AI动态调整红绿灯时长,减少拥堵。
- 出行规划:为公众提供多模态(公交、驾车、步行)最优路径。
- 车路协同:支持自动驾驶与智慧城市基础设施联动。
-
落地案例:已在北京、广州、重庆等城市部署。
3. 华为 "云交通智能体TrafficGo"
-
特点:华为云推出的交通行业AI解决方案,整合了盘古大模型的时空建模能力,专注于城市交通管理和公共出行优化。
-
技术亮点:
- 全域感知:通过摄像头、雷达等设备实时采集交通流数据。
- 决策优化:利用强化学习优化信号控制和公交调度。
- 碳中和目标:减少车辆怠速排放,助力绿色出行。
-
应用案例:在深圳、成都等城市实现高峰期拥堵下降10%-20%。