Volver al blog
Ingeniería

Planificación de territorios a escala: De 100 a 300K clientes

FMCG Cloud Team · Ciencia de datos8 min de lectura

La planificación de territorios es uno de esos problemas que parece simple a pequeña escala y se vuelve extraordinariamente complejo a medida que crece. Cuando tiene 10 representantes cubriendo 100 clientes, puede trazar territorios en un mapa a mano y obtener un resultado razonable. Cuando tiene 500 representantes cubriendo 300,000 clientes en un país con redes viales variables, patrones de tráfico y densidades de clientes, la planificación manual de territorios se vuelve imposible. El espacio combinatorio es demasiado grande, las restricciones son demasiado numerosas, y las consecuencias de territorios subóptimos son demasiado costosas.

El objetivo fundamental de la planificación de territorios es engañosamente simple: dividir su base de clientes en territorios de modo que cada territorio pueda ser atendido eficientemente por un representante o equipo, la carga de trabajo esté equilibrada entre territorios, el tiempo de viaje dentro de cada territorio se minimice, y los clientes importantes reciban la frecuencia de visita apropiada. La dificultad radica en satisfacer todos estos objetivos simultáneamente, porque frecuentemente entran en conflicto entre sí.

La agrupación geográfica es el punto de partida. El algoritmo agrupa clientes cercanos en clusters espaciales usando una combinación de distancia geográfica (medida en tiempo de viaje, no distancia en línea recta) y densidad de clientes. Las áreas urbanas densas podrían tener cientos de clientes dentro de unos pocos kilómetros cuadrados, mientras que las áreas rurales tienen clientes dispersos en vastas distancias. El algoritmo de agrupación debe manejar esta variación de densidad con gracia, creando territorios urbanos compactos con muchos clientes y territorios rurales más grandes con menos clientes pero más dispersos.

100 outlets2 loose zonesplan at scale300k outlets4 balanced territoriesNorth75kEast75kSouth75kWest75k

La matriz de distancias es la base computacional. Para la planificación de territorios a la escala de 300K clientes, se necesitan estimaciones de tiempo de viaje entre cada par de clientes que podrían estar en el mismo territorio. Computar una matriz de distancias completa de 300K por 300K requeriría 90 mil millones de cálculos de distancia, lo cual es obviamente impráctico. En su lugar, el sistema usa un enfoque jerárquico: primero divide la geografía en zonas gruesas usando límites administrativos o celdas de cuadrícula, computa las distancias zona a zona, luego computa las distancias cliente a cliente solo dentro de los territorios candidatos. Esto reduce la computación en varios órdenes de magnitud.

El equilibrio de carga de trabajo va más allá de simplemente contar clientes por territorio. Un territorio con 200 tiendas de conveniencia requiere esfuerzo diferente que uno con 50 supermercados. El sistema usa un modelo de puntuación de carga de trabajo que considera el conteo de clientes, la frecuencia esperada de visitas por cliente (impulsada por segmento y nivel), el tiempo promedio de servicio por visita (variando por tipo de tienda y complejidad de pedido), el tiempo de viaje entre paradas, y la carga administrativa. Los territorios se equilibran en la puntuación total de carga de trabajo, no en el conteo, asegurando distribución equitativa del trabajo real.

La optimización se formula como un problema de asignación con restricciones. Cada cliente debe ser asignado a exactamente un territorio. Las cargas de trabajo del territorio deben caer dentro de una banda de tolerancia configurable (típicamente más o menos 15% del promedio). La contigüidad geográfica debe mantenerse para que ningún territorio tenga islas de clientes aisladas. Los clientes de alta prioridad deben estar en territorios con capacidad de frecuencia de visita apropiada. Las relaciones existentes entre representantes y clientes deben preservarse cuando sea posible para minimizar la interrupción.

Resolver esto a escala requiere optimización metaheurística en lugar de métodos exactos. El sistema usa una búsqueda de vecindad grande adaptativa que comienza desde una solución factible inicial (generada por agrupación geográfica) y la mejora iterativamente moviendo clientes entre territorios. Cada movimiento se evalúa contra todos los objetivos simultáneamente usando una función de costo ponderada. La búsqueda es guiada por selección de operadores adaptativa, que aprende automáticamente qué tipos de movimientos son más productivos para la instancia de problema específica.

El desafío computacional de escalar a 300,000 clientes es significativo. Cada iteración de la optimización evalúa cientos de movimientos potenciales de clientes, cada uno requiriendo recálculo de carga de trabajo y estimación de tiempo de viaje. Una implementación ingenua tomaría horas. El sistema usa computación incremental, donde cada movimiento actualiza las puntuaciones del territorio afectado en lugar de recomputar todo desde cero, cálculos de distancia delta que solo recalculan los impactos de viaje para el cliente movido y sus vecinos, evaluación paralela de movimientos independientes en múltiples núcleos de CPU, y terminación temprana cuando los movimientos son claramente no mejoradores.

Con estas optimizaciones, un problema de planificación de territorios de 300K clientes típicamente converge a una solución de alta calidad dentro de 5 a 10 minutos. Esto es suficientemente rápido para ciclos de replanificación semanal, donde los territorios se ajustan según cambios en la base de clientes, disponibilidad de representantes o prioridades de negocio.

Reequilibrar territorios existentes es más matizado que crearlos desde cero. Cuando se genera un nuevo plan de territorios, el sistema calcula una puntuación de interrupción que mide cuántos clientes cambian de asignación de territorio. Luego aplica una restricción de permanencia que penaliza las reasignaciones innecesarias. El resultado es un plan que mejora la estructura de territorios actual sin causar una interrupción total en las relaciones establecidas entre representantes y clientes.

La visualización y los flujos de aprobación son críticos para la adopción. Los planificadores de territorios necesitan ver los territorios propuestos en un mapa, desglosar las cargas de trabajo por territorio, comparar el plan propuesto contra el actual, y hacer ajustes manuales antes de aprobar. El sistema soporta esto a través de herramientas interactivas basadas en mapas donde los planificadores pueden anular las asignaciones algorítmicas, arrastrar clientes entre territorios, y ver el impacto en el equilibrio de carga de trabajo en tiempo real.

El impacto en el negocio de los territorios optimizados se acumula diariamente. Cada punto porcentual de reducción en tiempo de viaje en 500 representantes se traduce en miles de visitas adicionales a clientes por mes. Cada mejora en el equilibrio de carga de trabajo reduce el agotamiento y la rotación de representantes. Cada aumento en la contigüidad geográfica reduce los costos de combustible y el desgaste de vehículos. La planificación de territorios no es un ejercicio de una sola vez sino una oportunidad de optimización continua que paga dividendos cada día que su equipo de campo está en la carretera.