¿Cómo desarrollar e implementar con éxito un modelo de aprendizaje automático siendo una empresa pequeña con recursos mínimos? Esta es la historia de cómo BetterNow desarrolló e implementó un modelo de aprendizaje automático —“The Fundraiser Coach”— que ayuda a las iniciativas peer-to-peer a dar lo mejor de sí.
La idea
A primera vista, parece una idea bastante descabellada: desarrollar e implementar un modelo de aprendizaje automático siendo una empresa pequeña y, aun así, mantener las operaciones funcionando sin problemas, incluyendo la gestión de millones en donaciones cada mes.
Por suerte, en BetterNow nunca nos ha asustado un reto. Al contrario, el presidente de nuestro consejo —Kim Tosti— lleva tiempo apostando con fuerza por la idea de que BetterNow utilice IA para hacer el mundo más generoso. Y su opinión tiene peso: también es consultor en 2021.ai y recientemente ha cursado estudios de Machine Learning en la Universidad Técnica de Dinamarca.
Sabíamos que teníamos muchos datos, pero ¿dónde sería relevante aplicar aprendizaje automático? Así que mantuvimos una reunión exploratoria con un par de científicos de datos de 2021.ai. Llegamos con algunas ideas propias y, bastante rápido, convergimos en usar IA para generar recomendaciones para iniciativas peer-to-peer individuales, con el fin de mejorar cuánto pueden recaudar. Así nació la idea detrás de The Fundraiser Coach.
2021.ai aceptó realizar un análisis preliminar sobre un conjunto de datos preparado por nosotros. Los resultados nos llevaron a creer que había un potencial considerable. Pudimos ver que ciertas variables tenían un impacto significativo en el éxito de una iniciativa. En otras palabras, el desarrollo exitoso de una iniciativa peer-to-peer no era aleatorio en nuestro modelo: los datos podían explicar parte del éxito.
Llamamos a este proyecto “The Fundraiser Coach” porque funcionaría como un entrenador para cada iniciativa peer-to-peer, ofreciendo consejos y sugerencias basados en su desempeño y perfil individual.
Este proyecto era perfecto para nosotros. Una promesa clave de nuestras soluciones es que las organizaciones recauden más usándolas que construyendo algo por su cuenta o utilizando otra solución o plataforma competidora. Nuestra misión es hacer el mundo más generoso, y este proyecto encaja perfectamente con ese objetivo.
Financiando el proyecto
Pero ¿podíamos hacerlo? Concluimos que teníamos los recursos internos para implementarlo y, probablemente lo más importante, para entenderlo. Matt, CTO de BetterNow, ya había trabajado con algoritmos de aprendizaje automático. Yo tenía formación suficiente en econometría en la universidad como para comprender y trabajar con científicos de datos. Pero necesitábamos ayuda para hacer el análisis de datos, y los científicos de datos no trabajan gratis.
Ya habíamos considerado solicitar una subvención a la Innovation Fund Denmark, pero nunca tuvimos el proyecto adecuado. Este, sin embargo, era casi perfecto. Preparamos una solicitud basada en los resultados preliminares y un plan de proyecto. Añadimos un video y conseguimos que algunos clientes se sumaran a nuestra visión del potencial; terminamos con una solicitud lo suficientemente buena como para recibir la subvención completa. Este proceso también nos hizo apreciar aún más el trabajo de las iniciativas que captan fondos mediante subvenciones.
Innovation Fund Denmark es rápida procesando solicitudes y además tiene un proceso de aplicación muy fluido. Así que, no más de unos pocos meses después de aquella primera reunión, ¡teníamos proyecto, financiación y calendario!
El análisis de datos
La primera parte del análisis se centró principalmente en editar y mejorar el conjunto de datos. La tarea incluía asegurarnos de que los datos no contuvieran información personal y planificar cómo pondríamos el modelo en producción más adelante. Otra parte implicó horas de categorización manual de iniciativas antiguas en distintos grupos agregados; no todo el trabajo de aprendizaje automático es divertido. Luego realizamos muchas pruebas sobre el conjunto final y eliminamos valores atípicos.
Desarrollar el modelo fue un proceso muy iterativo. Probábamos enfoques nuevos constantemente, jugábamos con variables y analizábamos efectos parciales. Por ejemplo, terminamos haciendo análisis de imagen bastante avanzados sobre fotos de perfil. Los resultados fueron informativos, pero no los incluimos en el modelo final, porque el procesamiento de imágenes es intensivo en servidores (¡y energía!). Lo descartamos al ver que el tipo de imagen de perfil solo tenía un impacto limitado en las iniciativas.
El análisis de datos, en mi opinión, es la parte más emocionante del proceso. Hemos obtenido una enorme cantidad de insights sobre cómo las iniciativas y los colaboradores utilizan nuestra solución. Encontramos qué funciona para las iniciativas, detectamos patrones que de otro modo no habríamos visto y aprendimos mucho más sobre nuestros usuarios. Solo incluimos una fracción de estos aprendizajes en el modelo final, pero este aprendizaje puede ser igual de beneficioso para nosotros. Esta es una lección esencial para cualquiera que se plantee trabajar en esto: la mitad del beneficio puede venir del proceso en sí.
Implementando el modelo de aprendizaje automático
Implementar el modelo requirió mucha investigación y preparación, ya que tuvimos que considerar varios compromisos.
Primero, privacidad y seguridad. No queremos que el modelo use datos personales. Y no queremos fallos de seguridad que, inadvertidamente, abran la posibilidad de perder datos o acceder a ellos por terceros no autorizados.
En segundo lugar, la velocidad. Ejecutar un modelo de aprendizaje automático puede tardar tanto que los resultados no estén disponibles en tiempo real. La forma de aumentar velocidad es usando más energía y recursos, algo que obviamente no queremos. BetterNow es CO₂ neutral mediante compensaciones, pero queremos compensar lo menos posible.
La tercera restricción es el coste de mantenimiento, especialmente la facilidad y el tiempo necesarios para reentrenar el modelo.
Nuestra implementación prioriza privacidad, seguridad y bajo consumo energético por encima de la velocidad y la facilidad de reentrenamiento. Estas decisiones implican que el modelo no es en tiempo real, es algo difícil de reentrenar, pero no accede a datos personales (salvo cuando se reentrena) y además consume poca energía (lo que también reduce costes de hosting).
Definir e implementar la interfaz de usuario
Definir la UI fue algo que hicimos en paralelo a la implementación. Decidimos que el modelo no funcionaría en tiempo real y, por lo tanto, no podíamos basarnos en una interfaz donde las recomendaciones se actualizaran mientras se navega por el sitio. En su lugar, generamos recomendaciones para la iniciativa en distintos intervalos y luego se las presentamos al usuario. Así, confiamos en dos interfaces distintas.
Primero, desarrollamos una sección nueva para cada iniciativa llamada “fundraiser tools”. Aquí presentamos las recomendaciones que el modelo considera que tendrán mayor impacto si se siguen. También añadimos una herramienta para agradecer a donantes, opciones para compartir y materiales descargables de la organización. De este modo, aseguramos varios motivos para visitar la página y, por tanto, para ver la recomendación.
Segundo, enviamos la recomendación por correo electrónico a la iniciativa. Lo hacemos cada vez que el modelo la recalcula. El email es una forma significativa de llegar a las iniciativas que rara vez inician sesión.
El modelo incluye registro (logging) para ver si las iniciativas ven, leen y siguen las recomendaciones. Estos datos serán vitales cuando reentrenemos el modelo, y esperamos mejoras importantes, especialmente en las primeras iteraciones.
Pruebas y lanzamiento
Tuvimos el modelo funcionando varios meses sin liberar la interfaz de usuario, mientras probábamos y verificábamos consistencia y sensatez en las recomendaciones. Y es seguro decir que detectamos varios resultados extraños y añadimos condiciones para asegurar que los usuarios no reciban recomendaciones inexplicables.
Durante este período también trabajamos para garantizar que el modelo esté alineado con nuestras ideas sobre ética y privacidad de datos (enlace a la política de ética de datos).
El lanzamiento fue bastante discreto y no ocurrió gran cosa. Al principio mostramos las recomendaciones solo en el panel de control y luego añadimos las notificaciones por email, que son más “ruidosas”. Este resultado es precisamente lo que esperábamos.
Próximos pasos y el futuro
Ahora estamos esperando a que lleguen los resultados. Monitorizaremos la diferencia en el éxito de las iniciativas creadas después del lanzamiento de nuestro modelo frente a antes. Queremos una cantidad decente de datos para calcular esto, así que probablemente esperaremos unos meses antes de publicar nada.
Nota: los resultados ya han llegado: un aumento del 40% en el promedio recaudado por iniciativa.
El primer reentrenamiento del modelo será especialmente interesante, ya que añadirá muchos datos nuevos. Estos datos reflejarán cómo las iniciativas han actuado ante recomendaciones pasadas, qué acciones realizan después de verlas, dónde las ven y cuáles son los resultados de la iniciativa posteriormente.