El valor de los datos en tiempo real a través de un ejemplo práctico

Fecha de la noticia: 23-09-2021

Mujer mirando ordenador con datos en tiempo real

La vida ocurre en tiempo real y buena parte de nuestra vida, hoy, discurre en el mundo digital. Los datos, nuestros datos, son la representación de cómo vivimos experiencias híbridas entre lo físico y lo virtual. Si queremos saber lo que ocurre a nuestro alrededor, debemos de analizar los datos en tiempo real. En este post, te explicamos cómo.

Introducción

Imaginemos la siguiente situación: entramos en nuestra tienda online favorita, buscamos un producto que queremos y nos sale un mensaje en la pantalla que dice que el precio del producto mostrado es de hace una semana y no tenemos información del precio actual del mismo. Alguien encargado de los procesos de datos de esa tienda online, podría decir que este es el comportamiento esperado puesto que las cargas de la base de datos de precios desde el sistema central hacia los e-commerce son semanales. Afortunadamente, esta experiencia online es impensable hoy en día en una e-commerce, pero lejos de lo que podría pensarse, es una situación habitual en muchos otros procesos de las empresas y organizaciones. A todos nos habrá pasado que estando dados de alta en alguna base de datos de algún comercio, cuándo acudimos a una tienda diferente a nuestra tienda habitual, opps!, resulta que no figuramos cómo clientes. De nuevo, esto se debe a que el procesamiento de los datos (en este caso la base de datos de clientes) se encuentra centralizada y las cargas hacia sistemas periféricos (servicio post-venta, distribuidores, canal comercial) se hacen en modo por lotes o batch. Esto, en la práctica, significa que la actualización de datos puede tardar días o incluso semanas.

En el ejemplo anterior, el pensamiento en modo por lotes o batch de los datos, puede arruinar, sin saberlo, la experiencia de un cliente o un usuario. El pensamiento en batch puede ocasionar graves consecuencias cómo: la pérdida de un cliente, el empeoramiento de la imagen de marca o la fuga de los mejores empleados.

Beneficios de usar datos en tiempo real

Existen situaciones en las que simplemente, los datos son en tiempo real o no lo son. Un ejemplo muy reconocible es el caso de las transacciones, bancarias o de cualquier otro tipo. No podemos imaginarnos que el pago en un comercio no se produzca en tiempo real (aunque a veces los terminales de pago se queden sin cobertura y esto origine molestas situaciones en los comercios físicos). Tampoco puede (o debe) ocurrir, que al paso por un peaje en una autopista, la barrera no se abra a tiempo (aunque probablemente todos hayamos vivido alguna situación rocambolesca en este contexto).

Sin embargo, en muchos procesos y situaciones puede ser razón de debate y discusión si implementar una estrategia de datos en tiempo real o simplemente seguir aproximaciones convencionales, intentando tener un decalaje en los tiempos de análisis (de datos) y respuesta lo más bajos posible. A continuación, listamos algunos de los beneficios más importantes de implementar estrategias de datos en tiempo real:

  • Reacción inmediata ante un error. Los errores ocurren y con los datos no es diferente. Si disponemos de un sistema de monitorización y alertas en tiempo real, reaccionaremos antes de que sea demasiado tarde ante un error.
  • Mejora drástica de la calidad del servicio. Cómo hemos comentado, no disponer de la información adecuada en el momento en que se necesita, puede arruinar la experiencia de nuestro servicio y con ello la pérdida de clientes o potenciales clientes. Si nuestro servicio falla, debemos de conocerlo inmediatamente para poder enmendarlo y solucionarlo. Esto es lo que marca la diferencia entre las organizaciones que se han adaptado a la transformación digital y las que no.
  • Incrementar las ventas. No disponer de los datos en tiempo real, puede hacerte perder mucho dinero y rentabilidad. Imaginemos el siguiente ejemplo, que veremos con más detalle en la sección práctica. Si tenemos un negocio en el que el servicio que prestamos depende de una capacidad limitada (una cadena de restaurantes, hoteles o un parking, por ejemplo) nos interesa disponer de nuestros datos de ocupación en tiempo real, puesto que eso implica que podamos vender de forma más dinámica nuestra capacidad de servicio disponible.

La parte tecnológica del tiempo real.

Durante años, los análisis de datos se plantearon desde el origen en modo batch. Cargas de datos históricos, cada cierto tiempo, en procesos que se ejecutan solo bajo ciertos condicionantes. La razón es que existe cierta complejidad tecnológica debajo de la posibilidad de capturar y consumir datos en el mismo momento en el que estos se generan. Los almacenamientos de datos tradicionales, las bases de datos (relacionales), por ejemplo, tienen ciertas limitaciones para trabajar con transacciones rápidas y para ejecutar operaciones sobre los datos en tiempo real. Existe una cantidad ingente de documentación a este respecto y sobre cómo las soluciones tecnológicas han ido incorporando tecnología para superar estas barreras. No es el objetivo de este post entrar en los detalles técnicos de las tecnologías para alcanzar el objetivo de capturar y analizar datos en tiempo real. Sin embargo, comentaremos que existen dos paradigmas claros para construir soluciones de tiempo real que no tienen por qué ser excluyentes.

Un ejemplo práctico

Cómo acostumbramos a hacer en este tipo de posts, tratamos de ilustrar el tema del post con un ejemplo práctico con el que el lector pueda interactuar. En este caso, vamos a utilizar un conjunto de datos abiertos del catálogo de datos.gob.es. En particular, vamos a utilizar un conjunto de datos que contiene información sobre la ocupación de plazas de aparcamientos públicos en el centro de la ciudad de Málaga. El conjunto de datos se encuentra disponible en este enlace y se puede explorar en profundidad a través de este enlace. Los datos son accesibles a través de este API. En la descripción del conjunto de datos se indica que la frecuencia de actualización es cada 2 minutos. Cómo hemos comentado anteriormente, este es un buen ejemplo en el que disponer de los datos en tiempo real[1] tiene importantes ventajas tanto para el prestador del servicio cómo para los usuarios del mismo. No hace muchos años era difícil pensar en disponer de esta información en tiempo real y nos conformábamos con información agregada a final de semana o mes sobre la evolución de la ocupación de las plazas de aparcamiento.

A partir del conjunto de datos hemos construido una app interactiva donde el usuario puede observar en tiempo real el nivel de ocupación mediante unas visualizaciones gráficas. El lector tiene a su disposición el código del ejemplo para reproducirlo en cualquier momento.

Captura de la visualización creada

En este ejemplo, hemos visto cómo, desde el momento en que los sensores de ocupación comunican su estado (libre u ocupado) hasta que nosotros consumimos los datos en una aplicación web, estos mismos datos han pasado por varios sistemas e incluso han tenido que ser convertidos a un fichero de texto para exponerlos al público. Un sistema mucho más eficiente sería publicar los datos en un broker de eventos al que poder suscribirse con tecnologías de tiempo real. En cualquier caso, a través de esta API somos capaces de capturar estos datos en tiempo real y representarlos en una aplicación web lista para su consumo y todo esto con menos de 150 líneas de código. ¿Te animas a probarlo?

Concluyendo, la importancia de los datos en tiempo real es fundamental ya en la mayoría de procesos, no solo la gestión de espacios o el comercio online. A medida que el volumen de datos en tiempo real aumenta, es necesario modificar nuestra forma de pensar desde una perspectiva batch o por lotes hacia un mindset real-time first. Es decir, pensemos directamente que los datos han de estar disponibles para su consumo en tiempo real desde el momento en el que se generan intentando minimizar el número de operaciones que hacemos con ellos antes de poder consumirlos.

 

[1] El término tiempo real puede ser ambiguo en determinados casos. En el contexto de este post, podemos considerar que tiempo real es el tiempo de actualización de datos característico que sea relevante en el dominio particular en el que estemos trabajando. Por ejemplo, en este caso de uso una frecuencia de actualización de 2 min es suficiente y puede considerarse tiempo real. Si estuviéramos analizando un caso de uso de cotizaciones de bolsa el concepto de tiempo real sería del orden de segundos.


Contenido elaborado por Alejandro Alija,experto en Transformación Digital e Innovación.

Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.