Casos de uso

Crear una herramienta de asignación de voluntarios por distancia para una ONG

Un voluntario dispuesto a ayudar pero no a conducir cuarenta minutos en cada sentido es un voluntario que deja de responder a las solicitudes sin decir nada, y una organización comunitaria sin ánimo de lucro que coordinaba a varios cientos de voluntarios en un área metropolitana descubrió que su antiguo proceso de asignación, en el que un coordinador recordaba de memoria quién vivía más o menos cerca de una necesidad concreta y contactaba con cada uno individualmente, era lento y cada vez menos fiable a medida que la lista de voluntarios crecía más allá de lo que una sola persona podía retener.

Ambos lados del problema de asignación, las direcciones de los domicilios de los voluntarios y las direcciones de las necesidades en curso, ya fuera un banco de alimentos que necesitaba ayuda regular, una persona mayor que necesitaba asistencia ocasional o un evento comunitario que necesitaba voluntarios para el montaje, existían como direcciones en texto recogidas mediante sencillos formularios de registro y de solicitud. Convertirlas en algo que se pudiera emparejar por proximidad real empezó por geocodificar ambas listas mediante /v1/forward, en un lote para la lista existente de voluntarios y de necesidades, y después por cada nueva entrada a medida que llegaban nuevos registros y solicitudes.

Con coordenadas en ambos lados, la asignación se convirtió en un cálculo de distancias que la sencilla base de datos de la propia organización podía ejecutar directamente: para cualquier nueva necesidad, ordenar a los voluntarios registrados por la distancia real desde su domicilio y contactar empezando por los más cercanos, en lugar de depender de quién recordara el coordinador que vivía en la parte adecuada de la ciudad. Esto sacó a la luz voluntarios que llevaban tiempo sin participar por razones que no tenían nada que ver con su disposición, simplemente porque ningún coordinador sabía personalmente que vivían cerca de una necesidad recurrente concreta.

La organización mantuvo a un coordinador humano en el proceso para el contacto y la decisión de asignación propiamente dichos, ya que la distancia era un factor importante pero no el único: las habilidades específicas de un voluntario, su disponibilidad o su relación previa con una necesidad concreta a veces importaban más que ser la opción más cercana, y el trabajo de la herramienta era ofrecer una lista ordenada por distancia que un coordinador pudiera recorrer rápidamente, no automatizar por completo una asignación que el coordinador prefería revisar primero.

Las tasas de respuesta de los voluntarios mejoraron notablemente cuando el contacto empezó a dirigirse de forma sistemática primero a personas realmente cercanas, un resultado que tenía sentido intuitivo una vez que la organización lo vio con claridad en sus propios datos: una solicitud que de verdad le resultaba cómoda atender a un voluntario tenía simplemente más probabilidades de recibir un sí que otra más lejana para la que un coordinador había recurrido a alguien por familiaridad y no por proximidad.

Al tratarse de una organización sin ánimo de lucro con verdaderas limitaciones presupuestarias, el coste importaba especialmente aquí, y el uso del proyecto, una modesta geocodificación por lotes para la lista inicial más un pequeño goteo continuo para nuevos registros y solicitudes, cabía cómodamente dentro de la cuota diaria gratuita sin necesidad de plantearse nunca el crédito prepago ni una clave Unlimited, lo que significa que toda la capacidad de asignación por ubicación no le costó nada a una organización para la que cada dólar de un presupuesto limitado contaba.

Si una organización comunitaria se plantea algo parecido, el punto de partida es más pequeño de lo que parece: geocodifica las direcciones que ya tienes y observa cómo se ve realmente la asignación por distancia con tus listas reales de voluntarios y necesidades antes de construir algo más elaborado encima. La documentación del endpoint está en /docs/forward-geocoding/.