Esta es una publicación invitada en coautoría con Nafi Ahmet Turgut, Mehmet İkbal Özmen, Hasan Burak Yel, Fatma Nur Dumlupınar Keşir, Mutlu Polatcan y Emre Uzel de Getir.
Poder es el pionero de la entrega ultrarrápida de comestibles. La empresa de tecnología ha revolucionado la entrega de última milla con su propuesta de entrega de comestibles en minutos. Getir se fundó en 2015 y opera en Turquía, Reino Unido, Países Bajos, Alemania y Estados Unidos. Hoy en día, Getir es un conglomerado que incorpora nueve verticales bajo la misma marca.
En esta publicación, describimos el sistema de gestión de la fuerza laboral de un extremo a otro que comienza con el pronóstico de la demanda de una ubicación específica, seguido de la planificación de la fuerza laboral de mensajería y la asignación de turnos utilizando Amazon Forecast y AWS Step Functions.
En el pasado, los equipos operativos realizaban prácticas manuales de gestión de la fuerza laboral, lo que resultaba en una pérdida significativa de tiempo y esfuerzo. Sin embargo, con la implementación de nuestro proyecto integral de gestión de la fuerza laboral de extremo a extremo, ahora pueden generar de manera eficiente los planes de mensajería necesarios para los almacenes a través de un proceso simplificado con un solo clic al que se puede acceder a través de una interfaz web. Antes del inicio de este proyecto, los equipos empresariales dependían de métodos más intuitivos para la previsión de la demanda, lo que requería mejoras en términos de precisión.
Amazon Forecast es un servicio totalmente administrado que utiliza algoritmos de aprendizaje automático (ML) para ofrecer pronósticos de series temporales de alta precisión. En esta publicación, describimos cómo reducimos el tiempo de modelado en un 70 % al realizar la ingeniería de funciones y el modelado con Amazon Forecast. Logramos una reducción del 90 % en el tiempo transcurrido al ejecutar algoritmos de programación para todos los almacenes utilizando AWS Step Functions, que es un servicio totalmente administrado que facilita la coordinación de los componentes de aplicaciones y microservicios distribuidos mediante flujos de trabajo visuales. Esta solución también condujo a una mejora del 90 % en la precisión de las predicciones en Turquía y varios países europeos.
Descripción general de la solución
El Proyecto de Gestión Integral de la Fuerza Laboral (Proyecto E2E) es un proyecto a gran escala y se puede describir en tres temas:
1. Cálculo de los requisitos de mensajería
El primer paso es estimar la demanda horaria de cada almacén, como se explica en la sección de Selección de algoritmos. Estas predicciones, producidas con Amazon Forecast, ayudan a determinar cuándo y cuántos mensajeros necesita cada almacén.
Según el índice de rendimiento de los mensajeros en los almacenes, el número de mensajeros necesarios para cada almacén se calcula en intervalos de una hora. Estos cálculos ayudan a determinar los recuentos de mensajería factibles teniendo en cuenta las horas de trabajo legales, lo que implica modelos matemáticos.
2. Resolviendo el problema de asignación de turnos
Una vez que tengamos las necesidades de mensajería y conozcamos las otras limitaciones de los mensajeros y los almacenes, podemos resolver el problema de asignación de turnos. El problema se modela con variables de decisión que determinan los mensajeros que se asignarán y crean horarios de turnos, minimizando el excedente y la escasez que pueden causar pedidos perdidos. Generalmente se trata de un problema de programación de enteros mixtos (MIP).
3. Utilización de funciones de pasos de AWS
Usamos AWS Step Functions para coordinar y administrar flujos de trabajo con su capacidad de ejecutar trabajos en paralelo. El proceso de asignación de turnos de cada almacén se define como un flujo de trabajo independiente. AWS Step Functions inicia y monitorea automáticamente estos flujos de trabajo simplificando el manejo de errores.
Dado que este proceso requiere una gran cantidad de datos y cálculos complejos, servicios como AWS Step Functions ofrecen una ventaja significativa a la hora de organizar y optimizar tareas. Permite un mejor control y una gestión eficiente de los recursos.
En la arquitectura de la solución, también aprovechamos otros servicios de AWS integrándolos en AWS Step Functions:
Los siguientes diagramas muestran los flujos de trabajo de AWS Step Functions y la arquitectura de la herramienta de cambio:
Selección de algoritmo
La previsión de la demanda local constituye la fase inicial del proyecto E2E. El objetivo general de E2E es determinar la cantidad de mensajeros que se asignarán a un almacén específico, comenzando con una previsión de la demanda de ese almacén.
Este componente de previsión es fundamental dentro del marco E2E, ya que las fases posteriores dependen de estos resultados de previsión. Por lo tanto, cualquier imprecisión en la predicción puede afectar negativamente a la eficacia de todo el proyecto.
El objetivo de la fase de previsión de la demanda local es generar predicciones específicas para cada país para cada almacén segmentado por hora durante las próximas dos semanas. Inicialmente, se formulan pronósticos diarios para cada país a través de modelos ML. Estas predicciones diarias se desglosan posteriormente en segmentos horarios, como se muestra en el siguiente gráfico. Los datos históricos de demanda transaccional, información meteorológica basada en la ubicación, fechas de vacaciones, promociones y datos de campañas de marketing son las características utilizadas en el modelo, como se muestra en el siguiente gráfico.
Inicialmente, el equipo exploró técnicas de pronóstico tradicionales, como las de código abierto. sarima (Promedio móvil integrado autorregresivo estacional), ARIMAX (Promedio Móvil Integrado Auto-Regresivo usando variables exógenas) y Suavizado Exponencial.
ARIMA (Promedio móvil integrado autorregresivo) es un método de pronóstico de series de tiempo que combina componentes autorregresivos (AR) y de promedio móvil (MA) junto con diferenciación para hacer que la serie de tiempo sea estacionaria.
SARIMA amplía ARIMA incorporando parámetros adicionales para tener en cuenta la estacionalidad en las series temporales. Incluye términos estacionales autorregresivos y de promedio móvil estacional para capturar patrones repetidos en intervalos específicos, lo que lo hace adecuado para series temporales con un componente estacional.
ARIMAX se basa en ARIMA al introducir variables exógenas, que son factores externos que pueden influir en las series temporales. Estas variables adicionales se consideran en el modelo para mejorar la precisión del pronóstico al tener en cuenta influencias externas más allá de los valores históricos de la serie temporal.
El suavizado exponencial es otro método de pronóstico de series temporales que, a diferencia de ARIMA, se basa en promedios ponderados de observaciones pasadas. Es particularmente eficaz para capturar tendencias y estacionalidad en los datos. El método asigna ponderaciones decrecientes exponencialmente a observaciones pasadas, y las observaciones más recientes reciben ponderaciones más altas.
Los modelos de Amazon Forecast finalmente fueron seleccionados para el segmento de modelado algorítmico. La amplia gama de modelos y las sofisticadas capacidades de ingeniería de funciones que ofrece AWS Forecast resultaron más ventajosas y optimizaron nuestra utilización de recursos.
Se probaron seis algoritmos disponibles en Forecast: red neuronal convolucional – regresión cuantil (CNN-QR), DeepAR+, Prophet, series temporales no paramétricas (NPTS), media móvil integrada autorregresiva (ARIMA) y suavizado exponencial (ETS). Tras el análisis de los resultados del pronóstico, determinamos que CNN-QR superó a los demás en eficacia. CNN-QR es un algoritmo de aprendizaje automático patentado desarrollado por Amazon para pronosticar series temporales escalares (unidimensionales) utilizando redes neuronales convolucionales (CNN) causales. Dada la disponibilidad de diversas fuentes de datos en este momento, el empleo del algoritmo CNN-QR facilitó la integración de varias funciones, operando dentro de un marco de aprendizaje supervisado. Esta distinción lo separó de los modelos de pronóstico de series temporales univariadas y de un desempeño notablemente mejorado.
La utilización de Forecast resultó eficaz debido a la simplicidad de proporcionar los datos necesarios y especificar la duración del pronóstico. Posteriormente, Forecast emplea el algoritmo CNN-QR para generar predicciones. Esta herramienta aceleró significativamente el proceso para nuestro equipo, particularmente en el modelado algorítmico. Además, el uso de depósitos de Amazon Simple Storage Service (Amazon S3) para repositorios de datos de entrada y Amazon Redshift para almacenar resultados ha facilitado la gestión centralizada de todo el procedimiento.
Conclusión
En esta publicación, le mostramos cómo el proyecto E2E de Getir demostró cómo la combinación de los servicios de Amazon Forecast y AWS Step Functions agiliza procesos complejos de manera efectiva. Logramos una precisión de predicción impresionante de alrededor del 90 % en países de Europa y Turquía, y el uso de Forecast redujo el tiempo de modelado en un 70 % debido a su manejo eficiente de la ingeniería y el modelado de funciones.
El uso del servicio AWS Step Functions ha generado ventajas prácticas, en particular una reducción del tiempo de programación en un 90 % para todos los almacenes. Además, al considerar los requisitos de campo, mejoramos las tasas de cumplimiento en un 3 %, lo que ayudó a asignar la fuerza laboral de manera más eficiente. Esto, a su vez, resalta el éxito del proyecto en la optimización de las operaciones y la prestación de servicios.
Para acceder a más detalles sobre cómo comenzar su viaje con Forecast, consulte los recursos disponibles de Amazon Forecast. Además, para obtener información sobre cómo crear flujos de trabajo automatizados y crear canales de aprendizaje automático, puede explorar AWS Step Functions para obtener orientación completa.
Sobre los autores
Nafi Ahmet Turgut Terminó su maestría en Ingeniería Eléctrica y Electrónica y trabajó como científico investigador graduado. Su objetivo era crear algoritmos de aprendizaje automático para simular anomalías de la red nerviosa. Se unió a Getir en 2019 y actualmente trabaja como Gerente Senior de Análisis y Ciencia de Datos. Su equipo es responsable de diseñar, implementar y mantener algoritmos de aprendizaje automático de un extremo a otro y soluciones basadas en datos para Getir.
Mehmet İkbal Özmen Recibió su Maestría en Economía y trabajó como asistente de investigación de posgrado. Su área de investigación fueron principalmente modelos económicos de series de tiempo, simulaciones de Markov y pronósticos de recesiones. Luego se unió a Getir en 2019 y actualmente trabaja como Gerente de Análisis y Ciencia de Datos. Su equipo es responsable de los algoritmos de optimización y pronóstico para resolver los complejos problemas que experimentan los negocios de operación y cadena de suministro.
Hasan Burak Yel Recibió su Licenciatura en Ingeniería Eléctrica y Electrónica en la Universidad de Boğaziçi. Trabajó en Turkcell, centrándose principalmente en la previsión de series temporales, visualización de datos y automatización de redes. Se unió a Getir en 2021 y actualmente trabaja como gerente de análisis y ciencia de datos con responsabilidad en los dominios de búsqueda, recomendación y crecimiento.
Fatma Nur Dumlupınar Kesir Recibió su licenciatura en el Departamento de Ingeniería Industrial de la Universidad de Boğaziçi. Trabajó como investigadora en TUBITAK, centrándose en la previsión y visualización de series temporales. Luego se unió a Getir en 2022 como científica de datos y trabajó en proyectos de Motor de Recomendación, Programación Matemática para la Planificación de la Fuerza Laboral.
Emre Uzel Recibió su Maestría en Ciencia de Datos de la Universidad de Koç. Trabajó como consultor de ciencia de datos en Eczacıbaşı Bilişim, donde se centró principalmente en algoritmos de motores de recomendación. Se incorporó a Getir en 2022 como científico de datos y comenzó a trabajar en proyectos de optimización matemática y previsión de series temporales.
Mutlu Polatcan es ingeniero de datos en Getir y se especializa en el diseño y construcción de plataformas de datos nativas de la nube. Le encanta combinar proyectos de código abierto con servicios en la nube.
Esra Kayabalı es arquitecto senior de soluciones en AWS y se especializa en el dominio de análisis, incluido el almacenamiento de datos, lagos de datos, análisis de big data, transmisión de datos por lotes y en tiempo real e integración de datos. Tiene 12 años de experiencia en arquitectura y desarrollo de software. Le apasiona aprender y enseñar tecnologías en la nube.