Optimizing the customer experience with better resource allocation is often a critical objective for businesses or governmental agencies. The following case study concerns the Emergency Services Contact Center of a large European metropolitan city. Their objective was to accurately predict the volume of inbound calls to be able to improve agent rostering and ensure optimal response times for callers in serious need of assistance.
La solución debía ofrecer altos umbrales de confiabilidad, ya que sería fatal si hubiera picos donde la oferta de operadores (policía, bomberos, ambulancia, etc.) no pudiera satisfacer la demanda de llamadas entrantes.
In this article, we will describe the solution used to achieve this purpose, based on real examples applied to the use case. This will provide us with a complete view of the entire flow that Clariba followed to produce reliable predictions that would underpin the correct allocation of emergency service resources.
We’ll finish with a link to our explanatory Data Capsule for this use case, a short instructional video which collates the key points from this case study, and gives an overview of the whole process over a few minutes of viewing time.
1. Introducción a Dataiku
Imagine un lugar donde pueda realizar todo su trabajo relacionado con los datos, como limpieza, disputa, visualización, predicción y estadísticas, y combínelo con varios tipos de opciones de automatización dentro de un entorno controlado por clics, además de agregar sus propias recetas de códigos personalizados en la parte superior.
That’s basically what Dataiku is. But rather than try to discuss the whole platform, let’s start by diving into the user experience and take things step by step. First of all, here’s the start screen for a typical project:
Es un diseño ordenado y completo en el que puede editar listas de tareas, asignar etiquetas de proyectos, revisar las últimas ejecuciones exitosas o fallidas, ver quién ha trabajado en el proyecto y qué han hecho recientemente, y navegar directamente a conjuntos de datos, recetas, tableros y el caudal.
Implementing your data into Dataiku can be done in a few clicks (if you have the appropriate credentials) with various widely used database choices such as:
Amazon Redshift
Savia HANA
Snowflake
Almacenamiento en nube Google
Amazon S3
1.1. Recetas
Recipes are a set of predefined elements, included by default in the Dataiku installation, that allow you to perform a wide variety of standard operations to transform data (formulas, split, join, group, stack (union), filters with multiple conditions, etc.).
Gracias a la interfaz gráfica, son fácilmente configurables, lo que le evita desarrollar interminables líneas de código. Simplemente ya no es necesario implementar código complejo para pivotar datos o aplicar reglas complejas para limpiar datos. Ahora todos estos elementos se pueden controlar dentro de una única interfaz visual para agilizar el flujo de trabajo.
Además, hay espacio para la personalización y la creación de recetas avanzadas. Dataiku te permite reutilizar tu propio código (Python, R, etc.) y convertirlo en una receta personalizada, reutilizable y flexible. Esto transformará radicalmente su forma de trabajar mediante la introducción de código personalizado en el flujo de transformación e ingesta de datos.
1.2. Escenarios
Scenarios allow you to automate all your data set building, scenario checking, SQL/Python executing, metrics computing and related jobs to run following customized conditions for your clients and teammates. They make it easy to let everyone know the status of your scenario before or after the run.
Hay muchas posibilidades de integración: puede encadenar las opciones de informes y notificaciones para compartir información por correo electrónico o sus plataformas de comunicación favoritas (Microsoft Teams, Slack, etc.).
En nuestro caso de estudio original, antes y después de cada ejecución del proceso de pronóstico, se activaba una capa de notificación y todas las partes interesadas recibían alertas personalizadas a través de Teams, que indicaban si el nuevo pronóstico estaba listo para revisarse.
1.3. Perspectivas
Cuando nuestros datos han pasado por todos los procesos de transformación, alojamiento, enriquecimiento y los resultados están listos para mostrarse, los Insights son muy útiles. En esencia, son una colección de elementos que permiten la interacción con flujos de back-end (lanzamiento de tareas), visualización de tablas, gráficos interactivos o Notebooks, integración de aplicaciones web (Shiny, por ejemplo) y mucho más. La siguiente captura de pantalla muestra los Insights disponibles actualmente para cada proyecto de Dataiku.
2. Available data, forecasting process and results
Ahora que hemos presentado algunas de las principales funcionalidades de la herramienta, debemos comprender los datos de entrada que alimentarán todo el proceso predictivo. Es importante tener en cuenta que tendremos que clasificar las múltiples fuentes de información que consumirá el algoritmo, según como intervienen en el modelo. Por tanto, podemos distinguir entre:
Effective data: these correspond to the observations that are extracted directly from the DWH, i.e., the number of calls that occur for specific periods to be studied (volume of calls per day, per hour, etc.). For this use case, the range of data to be considered extends to multiple years, with a daily and hourly level of granularity.
Holidays and special dates: the model is enriched with elements that allow modifying the standard prediction based on effects known to humans.
Regressors: additional information to enrich the model. This makes it possible to capture the effect on the model of certain behaviors, such as weather, traffic, and other recurring events.
Using the integrated Workflow area, all these elements get arranged and processed. So, after preparing gathered calls and holidays data and splitting them into evaluate and train datasets, we have separated them into two different blocks called Dataiku Forecast and Custom Algorithm.
2.1 Pronóstico con Dataiku
Dataiku facilita la consecución de un modelo de pronóstico preciso y pasos de implementación sencillos. Todo lo que tenemos que hacer es responder a las siguientes preguntas:
Which column contains our timeline?
¿Cuál es la frecuencia?
¿Qué columna contiene nuestro objetivo?
¿Con cuántos días de antelación le gustaría pronosticar?
Luego, simplemente cargue la receta del complemento de pronóstico a través de los siguientes pasos rápidos:
Elija el modelo que mejor se adapte a sus datos.
Establecer el porcentaje del intervalo de confianza para eliminar los peores resultados.
Este complemento se encargará de muchas consideraciones subyacentes y, como resultado, se producirán dos bloques que contienen los puntajes del entrenamiento y de la prueba. Estos serán útiles al evaluar el rendimiento del modelo y determinar qué tipo de ajustes serían necesarios para mejorar la confianza de las predicciones
Como veremos en breve, las capacidades estándar de Dataiku son excelentes en este ámbito, obteniendo predicciones realmente cercanas a la realidad. Sin embargo, la herramienta brinda total flexibilidad al usuario, de modo que se puede incorporar código más sofisticado o personalizado al proceso base. En la siguiente sección daremos un ejemplo de esto.
2.2. Algoritmos personalizados en Dataiku
Comentábamos en el apartado anterior la posibilidad de incluir código personalizado para mejorar las (ya buenas) predicciones. En este caso, optamos por implementar el algoritmo predictivo Prophet para hacer una comparación con los resultados originales proporcionados por Dataiku y su módulo integrado.
Prophet fue lanzado por Sean J. Taylor y Ben Letham de Facebook en 2017 para pronosticar datos con series de tiempo y su implementación está disponible tanto en Python como en R. El método utilizado aquí se llama modelado aditivo y descubre combinaciones de patrones en diferentes períodos de tiempo. (diario, estacional, anual, etc.). Cuando el código del algoritmo se hizo de código abierto, sus creadores señalaron:
Podría pensar que tal implementación en Dataiku requeriría un esfuerzo significativo para adaptar las dependencias y otras particularidades a esta plataforma; sin embargo, nada más lejos de la realidad. Gracias al uso de recetas, podemos acomodar fácilmente el código adicional y convertirlo en un componente más del flujo de trabajo dentro de Dataiku.
Ahora podemos ejecutar la receta con clics manuales, o podemos incluir la parte de ejecución en un escenario automatizado para obtener resultados actualizados incluso después de que los datos de entrada hayan cambiado.
2.3. Comparación de resultados: complemento de pronóstico predeterminado frente a implementación personalizada
Ahora que ambos modelos se implementaron y ajustaron, es hora de seleccionar qué Insights formarán parte del tablero final, esto nos permitirá visualizar y compartir los resultados con el equipo a cargo de asignar los recursos del servicio de emergencia.
La figura 6 anterior muestra los elementos disponibles. Para este tablero haremos uso de una variada gama de elementos: una aplicación web, gráficos interactivos, indicadores clave estáticos e incluso un control para lanzar todo el proceso predictivo desde el tablero final. El resultado se muestra a continuación.
La disposición de los elementos en el diseño personalizado nos permite apreciar claramente las diferencias en las predicciones de los dos modelos. Vemos que ambos superan el 0,9, lo que indica que ambos han podido predecir para cada día el número de llamadas entrantes con más del 90% de precisión. Además, las capacidades gráficas de Dataiku nos permiten personalizar la salida debido a la variedad de gráficos disponibles. Aquí podemos observar una representación alternativa de los resultados obtenidos:
Como podemos ver, el modelo personalizado superó a la implementación básica en aproximadamente 3 puntos. La conclusión es clara: con unos pocos clics podemos obtener grandes resultados de esta herramienta, con predicciones sólidas (>92%). Por supuesto, si queremos ir más allá, Dataiku nos brinda la posibilidad de implementar nuestro código y mejorar, en un grado aún mayor, los resultados producidos.
Para una comprensión clara del escenario, vea nuestro video de Data Capsule a continuación, que cubre el proceso de principio a fin:
3. Resumen
We have presented a real-world use case showing how predictive algorithms can add significant value to business processes. Thanks to the deployment of the Dataiku platform and the custom development of an ML model, we were able to accelerate the implementation times of the solution while at the same time offering very high levels of confidence in the predictions.
El tablero personalizado que creamos ahora está disponible para el equipo de operaciones, brindándoles una fuente confiable de información para evaluar correctamente la cantidad de agentes que deben estar disponibles cada día para responder a las emergencias que puedan ocurrir.
Puede descubrir otros casos de uso donde nuestros expertos en datos han implementado soluciones exitosas aquí:
Introducción a Digital Twins y su aplicabilidad en el mundo de la logística con Frit Ravich
Clariba Innovation Success Story: Automation of quality control processes at Almirall
As an expert Dataiku partner, Clariba is happy to offer you our experience to carry out any project you may have in the field of innovation and advanced analytics. To discuss a project—or if you have further questions about the case study above, please set up a meeting with one of our expert advisors here.