Getir的全面劳动力管理:Amazon Forecast与AWS Step Functions
by Nafi Ahmet Turgut Emre Uzel Fatma Nur Dumlupnar Keir Hasan Burak Yel Mehmet kbal zmen Mutlu Polatcan Esra Kayabali于2023年12月7日,刊载于Amazon Forecast,Amazon Machine Learning,AWS Step Functions,Customer Solutions永久链接 评论 分享
关键要点
Getir在实现全面劳动力管理项目中有效减少了70的建模时间。利用AWS Step Functions,调度时间减少了90。整个项目提高了土耳其及多个欧洲国家的预测准确率达到90。Getir是超快速杂货配送的先锋。这家科技公司凭借快速送货的服务彻底改变了最后一公里的配送体验。Getir成立于2015年,业务覆盖土耳其、英国、荷兰、德国和美国。如今,Getir已经发展成为一个涵盖九个领域的综合企业。
在这篇文章中,我们将介绍以位置特定的需求预测为起点的全面劳动力管理系统,接着是使用Amazon Forecast和AWS Step Functions进行的快递员劳动力规划和班次分配。
过去,运营团队依赖手动劳动力管理方式,这造成了时间和精力的极大浪费。然而,经过全面劳动管理项目的实施,他们现在能够通过简化的一键式界面有效生成仓库所需的快递员计划。在此项目启动之前,商业团队依赖更直观的需求预测方法,精确性方面需要改进。
Amazon Forecast是一项完全托管的服务,利用机器学习ML算法提供高度准确的时间序列预测。在本文中,我们将介绍如何通过对特征工程和建模的优化,利用Amazon Forecast将建模时间减少了70。同时,借助AWS Step Functions,我们运行所有仓库的调度算法时已将耗时减少了90。这一方案使得在土耳其及多个欧洲国家的预测准确性提高了90。
解决方案概述
全面劳动力管理项目E2E项目是一个大型项目,可以分为以下三个主题:
1 计算快递员需求
第一步是估算每个仓库的小时需求,如算法选择部分所述。这些由Amazon Forecast生成的预测帮助确定每个仓库何时需要多少名快递员。
根据每个仓库快递员的吞吐率,计算出每个仓库的快递员需求,计算间隔为每小时。这些计算有助于在考虑法定工作时间的基础上确定可行的快递员数量,这需要进行数学建模。
2 解决班次分配问题
在了解快递员需求的基础上,我们可以解决班次分配问题。该问题通过决策变量进行建模,以确定要分配的快递员并创建班次计划,同时最小化可能造成的多余和短缺,以避免错失订单。这通常是一个混合整数规划MIP问题。
3 利用AWS Step Functions
我们利用AWS Step Functions来协调和管理工作流程,能够并行执行任务。每个仓库的班次分配过程都被定义为一个单独的工作流。AWS Step Functions通过简化错误处理自动启动和监控这些工作流。
由于该过程需要大量数据和复杂的计算,像AWS Step Functions这样的服务在组织和优化任务方面提供了显著优势。这使得资源管理更加高效易控。

在解决方案架构中,我们还通过将其他AWS服务集成到AWS Step Functions中受益:
AWS Batch:用于批处理Amazon DynamoDB:用于存储仓库信息AWS Lambda:用于从Amazon Redshift获取数据并向Slack通道通知故障Amazon CloudWatch:用于调度cron和触发工作流以下图表展示了AWS Step Functions工作流和班次工具的架构:
算法选择
预测位置需求是E2E项目的初始阶段。E2E的整体目标是确定分配给特定仓库的快递员数量,并从该仓库的需求预测开始。
这一预测组件在整个E2E框架中至关重要,因为后续阶段依赖于这些预测结果。因此,任何预测上的不准确都会严重影响整个项目的有效性。
位置需求预测阶段的目标是在未来两周内按小时生成每个仓库的国家特定预测。最初为每个国家制定基于机器学习模型的每日预测。随后,将这些每日预测分解为按小时的细分,如下图所示。历史交易需求数据、基于位置的天气信息、假期日期、促销和营销活动数据构成了模型使用的特征,如下图所示。
团队最初探索了传统预测技术,如开源的SARIMA季节性自回归积分滑动平均,ARIMAX使用外生变量的自回归积分滑动平均,和指数平滑。
轻蜂加速器破解版ARIMA自回归积分滑动平均是一种时间序列预测方法,它结合了自回归AR和滑动平均MA成分,以及差分,使时间序列变为平稳。
SARIMA扩展了ARIMA,通过引入额外的参数来考虑时间序列的季节性。它包含季节性自回归和季节性滑动平均项,以捕获在特定区间内重复的模式,适合有季节性成分的时间序列。
ARIMAX在ARIMA的基础上引入了外生变量,这些外部因素可能会影响时间序列。模型中考虑这些额外变量,以提高预测准确性,彰显外部影响因素的作用。
指数平滑是一种时间序列预测方法,基于过去观察值的加权平均,与ARIMA有所不同。它在捕捉数据中的趋势和季节性方面尤其有效。这种方法按指数递减的权重赋予过去观察值以权重,使得最近的观察值获得较高权重。
最终,Amazon Forecast模型被选为算法建模的部分。AWS Forecast提供的丰富模型和复杂的特征工程能力被认为更具优势,并优化了我们的资源利用。
在Forecast中测试了六种可用算法:卷积神经网络 分位数回归CNNQR,DeepAR,Prophet,非参数时间序列NPTS,自回归积分滑动平均ARIMA,和指数平滑ETS。经过对预测结果的分析,我们发现CNNQR在效果上优于其他算法。CNNQR是Amazon开发的一种专用机器学习算法,用于使用因果卷积神经网络CNNs预测标量单维时间序列。由于此时可用丰富的数据源,采用CNNQR算法使得我们能够集成多种特征,并在监督学习框架下进行有效运作。该算法显著提升了模型的性能,与单变量时间序列预测模型相比,表现更为出色。
利用Forecast的过程也非常高效,团队能够简单地提供所需数据并指定预测持续时间。随后,Forecast通过CNNQR算法生成预测。这一工具明显加速了我们的算法建模进程。此外,通过将Amazon简单存储服务Amazon S3用于输入数据存储,以及使用Amazon Redshift存储结果,整个过程的集中管理得以实现。
结论
在本文中,我们展示了Getir的E2E项目如何通过结合Amazon Forecast和AWS Step Functions服务有效简化复杂流程。我们在欧洲国家和土耳其的预测准确率达到了惊人的90,而使用Forecast将建模时间减少了70,得益于其高效的数据处理和建模能力。
AWS Step Functions服务的使用显著改善了实践效果,所有仓库的调度时间减少了90。同时,在考虑现场需求的情况下,我们的合规率提高了3,实现了劳动力的更高效分配。这突出体现了项目在优化运营和服务交付方面的成功。
如需获取更多有关启动Forecast的信息,请参考现有的Amazon Forecast资源。此外,关于构建自动化工作流和创建机器学习管道的见解,您可以访问AWS Step Functions以获取全面指导。
关于作者
Nafi Ahmet Turgut获得电气与电子工程硕士学位,并曾担任研究科学家。他主要专注于构建机器学习算法以模拟神经网络异常。2019年加入Getir,目前担任高级数据科学与分析经理,负责设计、实施和维护Getir的端到端机器学习算法及数据驱动解决方案。
Mehmet kbal zmen获得经济学硕士学位,并曾担任研究助理,研究领域主要涉及经济时间序列模型、马尔可夫模拟和衰退预测。他于2019年加入Getir,现任数据科学与分析经理,负责优化和预测算法,以解决运营和供应链业务中面临的复杂问题。
Hasan Burak Yel毕业于波尔卡齐大学电气与电子工程系。他曾在土耳其电信公司工作,专注于时间序列预测、数据可视化和网络自动化。2021年加入Getir,目前担任数据科学与分析经理,负责搜索、推荐和增长领域的工作。
Fatma Nur Dumlupnar Keir毕业于波尔卡齐大学工业工程系。曾在TUBITAK担任研究员,专注于时间序列预测与可视化。2022年加入Getir,担任数据科学家,参与推荐引擎项目和劳动力规划的数学编程。
Emre Uzel获得科克大学数据科学硕士学位,曾在Eczacba Biliim担任数据科学顾问,专注于推荐引擎算法。2022年加入Getir,开始从事时间序列预测和数学优化项目。
Mutlu Polatcan是Getir的员工数据工程师,专注于设计和构建云原生数据平台。他热爱将开源项目与云服务相结合。
Esra Kayabal是AWS的高级解决方案架构师,专注于分析领域,包括数据仓库、数据湖、大数据分析、批处理和实时数据流,以及数据集成。她拥有12年的软件开发和架构经验,热衷于学习和教授云技术。
发表评论