Agregación de datos y creación de nuevas entidades con Big Data

 

En escenarios con grandes volúmenes de datos, almacenar los datos a nivel de detalle para después agregarlos en tiempo de consulta puede suponer un gran esfuerzo (necesitamos agregar una gran cantidad de datos). Tener esos datos agregados previamente supone un beneficio a la hora de realizar consultas, aunque también genera inconvenientes al tener que mantener esas agregaciones actualizadas. Encontrar ese punto de equilibrio es esencial.

Pero, de hecho, esa agregación (la clásica, basada en funciones de agregación como la suma, la media, etc.) no es la agregación más importante que podemos realizar.

Nuevas entidades y propiedades

Existen otro tipo de agregaciones no basadas en funciones de agregación, que nos permiten tratar conjuntos de datos como una nueva entidad. Esa entidad tendrá asociadas un conjunto de características que podemos deducir del análisis de los datos, a pesar de que esas características no aparezcan como tales en los datos.

Es decir, a partir del análisis de los datos elementales, podemos extraer información de más alto nivel. Esa nueva información es el resultado de aplicar una serie de reglas que nos permiten abstraer la complejidad de los datos de manera que no tengamos que realizar esos cálculos cada vez que queramos analizarlos.

Este proceso, que realizamos mentalmente en tiempo real, requiere de una gran cantidad de cálculos y cierto entrenamiento para las máquinas (igual que lo necesitamos nosotros inicialmente). Ahí es donde Big Data nos descubre su gran potencial.

Ejemplo: Defensa de un saque de esquina

Un ejemplo sería determinar el tipo de defensa realizada por un equipo de fútbol al defender un saque de esquina. Simplificando el escenario, podemos defender individualmente o en zona. Sin embargo, a nivel de datos, tan solo disponemos de los datos de posicionamiento de los jugadores y la pelota dentro del terreno de juego.

Determinar el tipo de defensa lo podemos deducir a partir de los datos con la posición de los jugadores de ambos equipos. ¿Siguen los defensores a los atacantes? ¿Se quedan los defensores en su parcela dentro del área?

Si cada vez que queremos analizar el resultado de un saque de esquina en función de cómo se defiende, tuviéramos que realizar ese análisis de posiciones en los segundos anteriores a la ejecución del saque de esquina, sería un proceso muy lento. Pero si al procesar los datos de éste, agregamos esas posiciones para establecer el tipo de defensa, el análisis posterior será mucho más rápido y eficiente.

La nueva entidad que aparece al analizar estos datos podría llamarse “Tipo de defensa”. Y sus características podrían incluir el número de jugadores defendiendo, el número de parcelas defendidas, el número de jugadores por parcela, la altura de los jugadores por parcela (e.g. los más altos en el centro del área y los más bajos en las posiciones exteriores).

A partir de esta nueva entidad y sus características es posible analizar los datos de una manera más fácil para el usuario que quiere explotar los datos, ya que el análisis posterior se realizará en función de esta nueva agregación y no en función de datos de posicionamiento.

Conclusión

La agregación de datos en nuevas entidades con propiedades propias permite la abstracción de datos a bajo nivel. Esto simplifica el análisis de los datos y evita realizar un gran número de cálculos cuando los datos quieren ser consultados por los usuarios.

Big Data nos permite realizar cálculos complejos que nos permiten realizar estas abstracciones y crear estas nuevas entidades. Gracias a tecnologías de análisis como Machine Learning, podemos entrenar modelos que aprenderán a catalogar los datos en estas nuevas entidades.

La agregación de datos clásica, basada en funciones de agregación, continúa siendo muy importante a la hora de analizar los datos. Sin embargo, la aparición de nuevas entidades por agregación de datos abre la puerta a nuevos tipos de análisis que anteriormente resultaban muy complejos. Ahí es donde Big Data nos muestra su gran potencial.

Monetización de los datos

 

El análisis de datos es usado principalmente para la obtención de respuestas que permitan mejorar la toma de decisiones dentro de una organización.

Un aspecto muy importante a tener en cuenta sobre ese análisis es el de los diferentes usos que se pueden dar a esos datos, tanto dentro como fuera de esa organización. Y es ahí, en el uso de los datos por entidades externas a dicha organización, donde el término “monetización de datos” adquiere una gran relevancia.

 

Ámbitos de aplicación de la información

Podemos distinguir dos ámbitos de aplicación de la información:

  • Interno (dentro de una organización)
  • Externo (fuera de ésta)

En el ámbito interno, los datos disponibles en la organización deben ser tratados y analizados para obtener información valiosa para los diferentes actores de los procesos de negocio internos. Es muy conveniente exponer esos datos en bruto y esa información derivada de éstos de manera transversal, para que todas las áreas de negocio puedan disponer de ellos. De esta manera, democratizando el acceso a la información, poniéndola al abasto de todos los empleados, se dispone de más herramientas para encontrar respuestas a nuestras preguntas. Y esto permite una mejor toma de decisiones.

Sin embargo, no hay que descuidar el ámbito externo en la explotación de esa información. Es decir, el uso de esos datos por organizaciones externas.

Monetización de los datos

Empecemos con unas preguntas:

  • ¿Pueden ser esos datos en bruto o esa información (producto del refinamiento de los datos) útiles para alguna organización externa?
  • ¿Qué valor tienen esos datos para esas organizaciones?
  • ¿Puede la organización propietaria de los datos beneficiarse de la venta de esos datos a terceros?

La monetización de datos o información consiste en la venta de éstos a organizaciones, y es la respuesta a las preguntas anteriores.

Cuando se dispone información que puede ser útil para otras organizaciones, ésta debe ser considerada como un producto con valor propio, que puede ser comercializado. Por tanto, es importante realizar un ejercicio visionario para encontrar ese mercado para los datos.

Por ejemplo, un municipio que disponga de sensores en la calle que permitan calcular el número y flujo de peatones en las calles, podría vender esa información a empresas de publicidad estática para poder determinar las mejores ubicaciones para la instalación de paneles publicitarios.

Respecto a cómo comercializar la información, el modelo puede ser el de venta puntual (e.g. Venta de todos los datos de un año en concreto) o por suscripción (e.g. Mensualmente se distribuyen los nuevos datos al comprador). Eso dependerá de las necesidades de los nuevos clientes y de la disponibilidad de los datos.

Aspectos éticos y legales

La venta de información debe ceñirse tanto a la ética como a la legalidad.

La cesión de información personal a terceros está regulada por la ley (ver GDPR – General Data Protection Regulation), con lo cual, las transacciones de intercambio de información deben cumplir los requisitos establecidos.

Además, hay que tener también en cuenta los aspectos éticos de la cesión y venta de información. El individuo debe dar consentimiento para la cesión o comercialización de sus datos personales, y debe ser capaz de modificarlos en cualquier momento. En este punto, afloran cuestiones como el hecho de cómo repercute esto sobre los datos previamente comercializados.

Estas cuestiones quedan fuera del alcance de este artículo y debe ser consultados con un profesional del ámbito legal.

En cualquier caso, si los datos personales no son necesarios, lo mejor es eliminar esa información en la distribución de información o anonimizarla para evitar riesgos innecesarios.

Conclusión

Los datos aportan la capacidad de mejorar la toma de decisiones. Pero también tienen un valor económico.

La venta de datos e información supone en sí un nuevo producto que puede ser comercializado.

Es de vital importancia cumplir con las normas legales y éticas a la hora de comercializar los datos de que disponen las organizaciones. La violación de éstas puede suponer la imposición de sanciones económicas muy importantes.

Efectividad de un proyecto de Business Intelligence

 

El éxito de un proyecto de Business Intelligence (o de Big Data) es una puerta a la continuidad. Es la diferencia entre seguir evolucionando una plataforma analítica de acuerdo con una estrategia bien definida o la siembra de dudas respecto a la conveniencia de seguir con esa línea.

La situación en la que nos hallamos es la siguiente: Después de muchos esfuerzos, nuestro proyecto de Business Intelligence ha llegado a su fin. Los usuarios ya tienen acceso a todas las funcionalidades analíticas estipuladas en los requerimientos. Pero, ¿cómo saber si el proyecto ha sido un éxito?

 

Factores de medida de éxito

Tradicionalmente el éxito de un proyecto se mide en base a los siguientes factores:

  • Cumplimientos de fechas indicadas en la planificación
  • Cumplimiento de los requerimientos
  • Ajuste sobre el presupuesto inicial

Estos tres actores suelen ser la vara de medir utilizada para determinar el éxito de un proyecto.

Sin embargo hay un par de factores muy importantes que suelen ser obviados.

  • Adopción de la solución por parte de los usuarios
  • Incremento de la efectividad en la toma de decisiones

Adopción de la solución por parte de los usuarios

Si después de realizar un proyecto los usuarios no utilizan la solución proporcionada, el proyecto debe considerarse un fracaso.

La inversión realizada tanto económicamente cómo en recursos humanos bien merece dar su fruto. Sin un beneficio para la organización el proyecto se convierte en un foso donde se han arrojado horas y dinero. Y esto es cierto, independientemente de que se hayan cumplido todos los objetivos de negocio detallados en los requerimientos del proyecto.

En ese caso el retorno de inversión (ROI) del proyecto será nulo. Y por tanto, desde el punto de vista de gestión económica del proyecto, éste será un gran fiasco. Todo proyecto debe proporcionar un retorno. Y un proyecto que no sea usado por los usuarios no tendrá un retorno de la inversión.

Incremento de la efectividad en la toma de decisiones

Si el punto anterior mide de manera cuantitativa la introducción de la solución en la base de usuarios ahora no centraremos en un análisis cualitativo.

En este caso, queremos medir cómo afecta a la toma de decisiones y sus resultados la introducción de la nueva solución analítica.

Para poder realizar el análisis comparativo es necesario disponer de datos de efectividad en la toma de decisiones con el modelo antiguo (antes de la introducción de la nueva solución). Estos datos son necesarios porque los utilizaremos como grupo de control sobre el que podremos comparar los resultados.

Una vez la nueva solución esté en uso, deberemos obtener datos de eficiencia para así comparar el rendimiento de los empleados antes y después de la adopción de la nueva solución.

Sin embargo también es necesario realizar ese análisis con los usuarios que no hayan adoptado la nueva solución. ¿Por qué? Porque pueden darse situaciones ajenas a la nueva solución que afectan por igual a los grupos. Este análisis del grupo de control y del nuevo grupo nos permitirá identificar si las diferencias se deben única y exclusivamente a la nueva solución adoptada o a otros factores.

Si nuestro análisis muestra que el segundo grupo obtiene mejores resultados podremos deducir que éstos se deben a la adopción de la solución. En cambio si los resultados son peores que los del grupo de control, podremos deducir que la nueva solución está empeorando los resultados.

Además podremos cuantificar esa mejora o pérdida en función de la diferencia de los resultados antes y después de la adopción de la nueva solución en ambos grupos. Podría darse que ambos mejoraran su rendimiento. En este caso, el análisis porcentual de la mejora nos permitiría identificarla cuantitativamente.

Consideraciones

En la fase incial de la adopción de la nueva solución, es posible que los resultados obtenidos sean inferiores a los que puedan obtenerse a medio plazo. Este hecho deberá tenerse en cuenta a la hora de valorar el éxito del proyecto. Por eso es conveniente realizar estos análisis de manera periódica, y realizar un seguimiento y dar formación a los usuarios para que puedan obtener el mayor rendimiento de la solución. De esta manera, es posible conseguir mejorar los resultados obtenidos inicialmente.

Conclusión

El éxito de un proyecto de Business Intelligence es de vital importancia para la continuidad de proyectos en una organización. Y para poder determinar el éxito real del proyecto, es necesario utilizar los indicadores adecuados.

La adopción y la productividad son esenciales para medir el éxito de un proyecto de BI. Si los pasamos por alto, podríamos tener una percepción errónea de la realidad. Y eso sería un estrepitoso fracaso en lo que se refiere a gestión de proyectos.

Big Data: Más que escalabilidad

 

Cuando un sistema informático puede llegar a procesar grandes cantidades de datos, es muy importante que éste sea escalable. Es decir, que pueda crecer para soportar cargas de trabajo mayores a las que originalmente soporta.

Una solución Big Data es un sistema escalable, puesto que un clúster puede aumentar el número de nodos existentes. Sin embargo, no todo sistema escalable requiere de una solución Big Data.

 

Escalabilidad horizontal

Un escenario candidato para escalabilidad es aquel necesita crecer para poder dar respuesta a una demanda creciente de recursos.

En un sistema donde el número de usuarios (y por tanto de recursos), puede crecer de manera dinámica, puede ser necesario en algún momento añadir capacidad computacional a ese sistema para poder garantizar el servicio a todos los usuarios.

Cuando un sistema informático llega a su capacidad máxima, si queremos escalabilidad horizontal, debemos añadir otra máquina para así poder mantener el servicio. En este caso hablamos de escalabilidad horizontal.

Otra opción es la de la escalabilidad vertical que vendría a ser el hecho de añadir recursos a esa máquina. Eso sucede cuando por ejemplo se amplía la memoria RAM, el número de procesadores o la capacidad de disco. Sin embargo, el problema de la escalabilidad vertical es que no es tan flexible como la horizontal. Por este motivo, no se ha tenido en cuenta en este artículo.

¿Dónde están los datos?

En el caso de la escalabilidad horizontal las nuevas máquinas se utilizan para dar servicio desde el punto de vista de proceso. Y para procesar las peticiones de servicio, es necesario tener datos. Pero, ¿dónde están los datos? Los datos se encuentran almacenados típicamente en un repositorio común: la base de datos.

En un escenario con escalabilidad horizontal, la base de datos puede ser centralizada o replicada.

En el caso de una base de datos centralizada, todos los procesos que dan servicio a las peticiones de usuarios deben conectarse a un recurso único, compitiendo por sus recursos para resolver las consultas. Este escenario puede provocar un cuello de botella en el acceso a la base de datos, ya que ésta no ha escalado (solamente ha escalado la parte de peticiones de proceso).

La solución, cuando la carga de la base de datos es muy grande, es la de replicar la base de datos en las máquinas que aparecen durante el aumento de la capacidad del sistema. En este caso, la máquina dispone de su propia copia de la base de datos.

Desde el punto de vista de la gestión y el acceso a los datos ambas situaciones son muy similares (no entramos a discutir aquí la complejidad de la replicación de datos). Pero no dejan de ser un escenario clásico, con una base de datos completa contenida en un único punto.

Computación distribuida

Con la computación distribuida cambiamos totalmente de paradigma, tal y como ya expliqué en el artículo ¿Qué es la computación distribuida de Big Data?.

En este escenario los datos no se hallan centralizados en una única base de datos o en réplicas de ésta que contienen todos los datos necesarios para dar servicio a las peticiones de proceso de información.

En la computacion distribuida los datos están esparcidos por los diferentes nodos de un cluster. Además, el proceso de análisis de la información se realiza en paralelo en diferentes nodos de dicho cluster.

Escalabilidad horizontal vs. Big Data

Este punto es sumamente importante a la hora de identificar los requerimientos técnicos de una solución. A menudo estos dos conceptos provocan confusión. Es frecuente encontrar a personas con un perfil técnico pero con serias dudas al respecto. Sobre todo si esa charla se incluye en el ámbito del Big Data. En estas situaciones la gente está predispuesta a utilizar una tecnología Big Data. Y por tanto, son propensos a adoptar una solución que implique la utilización de una arquitectura Big Data (aunque, como hemos visto, haya una solución alejada de este paradigma que pueda dar respuesta a su problema).

En estos casos siempre animo a los confundidos a dejar aparte y analizar los requerimientos técnicos a los que se enfrentan. Al identificar esos requerimientos y separarlos de ese interés concreto sobre Big Data es relativamente sencillo que esas personas se den cuenta de que Big Data no es la solución que necesitan.

Conclusión

Big Data utiliza computación distribuida (que no es lo mismo que escalabilidad horizontal), a pesar de que el crecimiento de un cluster de Big Data se basa precisamente en esa escalabilidad horizontal.

Para determinar la solución técnica más adecuada para un sistema informático, es necesario analizar los requerimientos funcionales y técnicos, y dejar de lado los intereses y predisposiciones existentes, ya que éstas pueden afectar a la decisión, restando objetividad al análisis.

Si finalmente decidimos usar una plataforma de Big Data, tendremos como beneficio la computación distribuida. Algo que nos permitirá ir más allá que una “simple” escalabilidad horizontal.

5G y Big Data

 

 

Esta semana se ha celebrado el Mobile World Congress en Barcelona. Según la prensa especializada, uno de los temas estrella de este año es el 5G.

¿Qué impacto tendrá el 5G en la toma de decisiones de las organizaciones?

 

5G

Por fin ya tenemos aquí la tecnología que nos permitirá trabajar con datos en tiempo real. La velocidad de transmisión del 5G puede llegar a ser hasta 100 veces superior a la del 4G. Esto supone un sinfín de oportunidades dentro del marco del Internet of Things (IoT) y por supuesto del análisis de los datos. Mejoras que tendrán un claro reflejo en la mejora en la toma de decisiones.

Dispositivos generadores de datos

En los últimos años hemos podido ver una gran incremento en el número de dispositivos que generan gran cantidad de datos. En algunos casos, como en los smartphones y los smartwatches, al estar dotados de conectividad ya sea mediante 4G o Wi-Fi, estos datos son transmitidos a un repositorio central desde donde pueden ser analizados.

Sin embargo, para la mayoría de estos dispositivos, al no estar éstos conectados online, no es posible enviar estos datos. La solución de compromiso por la cual han optado muchos fabricantes es la de permitir conectar estos dispositivos a un ordenador o a un móvil para así poder descargar esos datos y realizar análisis a partir de esos datos de carácter privado. Por ejemplo, un podómetro o un aparato para medir la presión arterial permiten el análisis de los datos pero solamente a nivel de dispositivo.

Internet of Things

El 5G permitirá la transmisión de datos de manera efectiva. La velocidad de transmisión de datos se incrementará de tal manera que permitirá que los datos generados por estos dispositivos puedan ser transmitidos directamente a un repositorio central.

Los beneficios son múltiples. Por ejemplo, no necesitaremos descargar los datos siempre a un mismo dispositivo para poder disponer de todo el historial de datos. Además, los análisis sobre esos datos podrán ser mucho más ricos y podrán proporcionar información muy valiosa que ahora está fuera del alcance de los usuarios. Un ejemplo es la opción de comparar esos datos con millones de otros usuarios, lo que permitiría comparar cada individuo con otros usuarios de perfil similar.

El 5G es prácticamente una realidad a nivel comercial. Los fabricantes de teléfonos móviles ya están presentando sus primeros aparatos con conectividad 5G. Según se respira en el ambiente, cuando la cobertura sea una realidad, las ventas se dispararán. Y a su vez, el mercado se inundará de dispositivos conectados a esta nueva red de telecomunicaciones. El Internet of Things será una realidad. Estamos a punto de vivir una nueva revolución en lo que confiere a los datos.

Big Data para poder competir

Será en este momento en el que la necesidad de analizar toda esta información experimentará un gran crecimiento. Y para poder realizar ese análisis teniendo en cuenta la gran cantidad de datos, la necesidad tomar acciones en tiempo real y la gran variedad de datos generados, será necesario la aplicación técnicas de Big Data. Las empresas han empezado a moverse en los últimos años en esta área, interesándose cada vez en el análisis de información. Pero aún hay mucho camino por recorrer.

En este mercado tan competitivo es importante moverse rápido. Ya lo dijo en su día Charles Darwin: “Las especies que sobreviven son las que mejor se adaptan a los cambios”.

¿Qué nivel de adaptación van a tener las empresas? Es difícil responder a esta cuestión pero lo cierto es  que la adaptación a los nuevos tiempos va a depender de la capacidad de las organizaciones para implantar mecanismos analíticos para mejorar la toma de decisiones a todos los niveles organizativos. Y para eso Business Intelligence y Big Data van a jugar un papel crucial.

¿Qué es la computación distribuida de Big Data?

 

 

Las tres características principales de los datos que hacen necesario aplicar técnicas de Big Data en un proyecto de análisis de datos son: Grandes volúmenes de datos, la necesidad de procesar esos datos de manera rápida, y el uso de tipos de datos complejos.

En cualquier caso, eso se traduce en la necesidad de una gran capacidad computacional, para así poder satisfacer los requerimientos analíticos de los usuarios.

Un gran problema

El hecho de trabajar con grandes volúmenes de datos, de tener que procesar un conjunto de datos a una gran velocidad o de tratar con tipos de datos complejos que requieren de cálculos intensivos para poder obtener información de éstos, supone una dificultad que Big Data debe resolver.

En una solución de Business Intelligence (BI) tradicional, se trabaja en la gran mayoría de casos con una arquitectura basada en un único servidor. Este servidor, a pesar de poder ser multi-core, no puede paralelizar una tarea a alto nivel, con lo que debe asumir toda la carga computacional. El resultado es la ejecución de largos procesos para resolver cálculos analíticos o simplemente para procesar los datos que van llegando al sistema analítico.

Computación distribuida

En cambio, Big Data se basa en el paradigma de la computación distribuida. Es decir, existe una red computacional (llamada cluster), formada por un conjunto de ordenadores (llamados nodos), que trabajan de manera organizada y colaborativa para resolver el mismo problema.

El proceso es el siguiente: Cuando una tarea llega al cluster de Big Data, ésta se descompone en un conjunto de subtareas, que son asignadas a los distintos nodos del cluster. Los nodos trabajan entonces en paralelo (a la vez) en cada una de sus tareas, con lo que el tiempo de cálculo del conjunto de tareas se ve reducido considerablemente. Finalmente, es necesario un post-proceso para consolidar los datos antes de ofrecer el resultado a los usuarios.

En resumen, podemos decir que la computación distribuida añade un par de tareas al cálculo propiamente dicho (descomposición de la tarea principal y asignación de tareas a los nodos por una parte, y consolidación de los resultados por otra). Sin embargo, el hecho de disponer de una red de nodos trabajando en paralelo permite acelerar el tiempo de proceso total de la tarea hasta el punto que, a pesar de tener que realizar un trabajo adicional, la computación distribuida es más eficiente en procesos de cálculos repetitivos y con muchos datos.

Divide y vencerás

La frase “Divide y vencerás” ha sido pronunciada o atribuida a lo largo de los siglos por grandes figuras que han influido en la historia de la humanidad. Desde Filipo II de Macedonia hasta Napoleón Bonaparte, pasando por Julio César y Nicolas Maquiavelo, todos han reconocido la importancia de este mensaje.

Esta máxima sostiene que, ante un problema de gran tamaño con una solución complicada, conviene dividir el problema inicial en subproblemas de más fácil solución, para así poder resolver el problema inicial de una manera más sencilla y eficiente.

En el área de la computación, ocurre lo mismo. Como ejemplo, citaré un clásico: El algoritmo de ordenación Quicksort. Este algoritmo permite reducir el coste del algoritmo de ordenación de burbuja (uso de la fuerza bruta), siendo este θ(n²), hasta θ(n·log ⁡n ).

De manera similar, en procesos de cálculo repetitivos con grandes volúmenes de datos, como los que nos encontramos en escenarios con Big Data, el uso de los distintos nodos del cluster para paralelizar las tareas, supone un gran aumento en la eficiencia.

Conclusión

La distribución de la carga de trabajo entre los distintos nodos de un cluster en una solución Big Data, permite realizar las tareas en paralelo, consiguiendo grandes mejoras en la eficiencia de los procesos.

La computación distribuida es más eficiente en escenarios con unos cálculos a realizar sobre un gran conjunto de datos. De esta manera se paraleliza el trabajo y se reduce el tiempo total de cálculo.

A la hora de diseñar la arquitectura de un sistema Big Data, es conveniente tener en cuenta el grado de paralelización de las tareas, que será función del número de procesadores y cores disponibles en el sistema. Si el grado de paralelización es bajo, el rendimiento en según qué tareas, puede acabar siendo también muy bajo.

Elegir una herramienta de BI

 

 

Para realizar una tarea, es necesario disponer de las herramientas adecuadas. Con un proyecto de Business Intelligence (BI) sucede lo mismo.

En este caso, es muy importante saber qué debe hacer nuestra solución de BI, ya que hay una gran variedad de herramientas en el mercado. Y solamente con un previo análisis de los requerimientos, seremos capaces de elegir la herramienta que más nos convenga.

 

Ecosistema tecnológico

Las herramientas de BI pueden ser clasificadas en tres grandes bloques:

  • Sistemas de almacenamiento de datos (bases de datos)
  • Herramientas de extracción, transformación y carga de datos (ETL)
  • Aplicaciones de modelización y visualización de los datos

En cada uno de estos tres bloques podemos encontrar una gran variedad de productos de diferentes fabricantes o de comunidades de desarrolladores, de código abierto y bajo licenciamiento, y disponibles en varias plataformas.

Esta variedad conlleva una gran confusión a la hora de elegir las herramientas adecuadas para cada proyecto.

Un mal enfoque

Por desgracia, continúan produciéndose en las organizaciones errores básicos a la hora de elegir la tecnología de una solución de BI.

Básicamente, podemos reducir estos errores a dos escenarios:

  • Continuismo de la tecnología existente: Por ejemplo, cuando una empresa utiliza mayoritariamente software de una gran compañía, ésta puede disponer de software de BI, con lo cual hay una predisposición a elegir la solución tecnológica del mismo fabricante.
  • Aceptación de la tecnología propuesta por el proveedor de servicios: Por ejemplo, cuando se contrata una empresa para realizar un proyecto, si ésta propone un paquete de herramientas, es muy posible que se acabe utilizando ese paquete de software.

En ambos casos, si la decisión final tiene en cuenta alguno de estos dos motivos expuestos, otorgándoles un gran peso en la decisión final, el peso que puedan tener los requerimientos puede acabar reduciéndose hasta el punto de ser insignificante.

Ejemplo práctico

Hace muchos años, estuve trabajando en un proyecto en Londres donde sucedió precisamente esto. Cuando me incorporé al proyecto, éste se encontraba en fase de mantenimiento, con una tecnología consolidada. La solución de BI permitía el análisis de datos refrescados a partir de cargas diarias.

La tarea que me encomendaron fue la de crear un modelo de análisis paralelo para poder consultar la información en tiempo real, utilizando una herramienta que, aunque permitía esa opción, no era la idónea para este tipo de proyectos.

Cuando llegué al proyecto no sabía exactamente qué debía hacer. Pero cuando me dijeron cuál era mi tarea, entendí perfectamente porqué necesitaban un consultor. Replicar el modelo de negocio para el acceso a los datos en tiempo real era una tarea muy complicada, y nadie en el equipo del cliente tenía la capacidad técnica para llevarla a cabo.

El proyecto duró unos tres meses, incluyendo la documentación y el traspaso al equipo del cliente. He incluido éstas dos últimas tareas porque recuerdo que el coste de documentación y de traspaso fueron altos, puesto que tuve que explicar con todos los detalles cómo había implementado la solución, incluyendo partes conceptuales de BI y partes técnicas específicas de la herramienta.

Estoy plenamente convencido de que, con otra tecnología, el desarrollo del proyecto, la documentación y el traspaso hubieran tardado mucho menos, resultando más económico y fácil de mantener por parte del cliente. Sin embargo, al no dar suficiente peso a los requerimientos y sí al fabricante, cayeron en este error.

Conclusión

A la hora de elegir las herramientas con las que trabajar en una solución de BI, es muy importante tener en cuenta los requerimientos del proyecto, tanto a nivel funcional como técnico.

Si obviamos estos requerimientos y basamos la decisión en otros factores, es probable que nos encontremos con un software que nos plantee dificultades a la hora de implementar la solución deseada. Es incluso posible que, por limitaciones de la herramienta, debamos reducir los requerimientos.

Mi recomendación a la hora de elegir el software con el que vamos a implementar nuestra solución de BI, es que tengamos en cuenta los requerimientos, teniendo en cuenta aquellas tareas a realizar tanto a corto como medio y largo plazo. Solamente de esta manera, evitaremos sorpresas desagradables con la tecnología elegida.

Democratización de la información

 

 

Permitir el acceso a la información a todos los empleados de una organización es lo que se conoce como “democratización de la información”.

Esta es una práctica que, según mi experiencia, goza de pocos adeptos, a pesar de aportar grandes beneficios a las organizaciones que la ponen en práctica. ¿Qué frena entonces a las organizaciones a abrirse a compartir información entre sus empleados?

Restringiendo el acceso a la información

Como consultor de Business Intelligence (BI), he tenido la suerte de poder trabajar para un gran número de organizaciones, todas ellas con sus propias particularidades. Si bien algunas de ellas (pocas), abogaban por una política de apertura a sus empleados con respecto a la propagación de información, la gran mayoría tenían políticas restrictivas.

Cabe decir que, la democratización de la información tiene un límite. Existen datos sensible que no deben ser visibles más que a un grupo reducido de empleados. Estas restricciones siempre deben estar por encima de la democratización del acceso a los datos.

Algunos de los motivos eximidos por algunas de estas organizaciones son:

  • Los empleados no necesitan esta información para realizar su trabajo.
  • Los empleados no están capacitados para entender esta información o interpretarla de manera correcta.
  • No tenemos una solución tecnológica que nos permita analizar la información y distribuirla de manera efectiva.

Mi tesoro…

Pero la democratización de la información no se centra solamente en proporcionar acceso a todos los empleados a la información. Hay otro nivel de compartición de información sobre el cual es muy importante poner la atención: El nivel interdepartamental.

Este caso se suele dar cuando no hay un gobierno fuerte de la información en una organización. En un escenario así, es habitual que no exista una solución corporativa para el análisis de información (una solución de BI). En este caso, suelen ser los propios departamentos quienes, impulsados por la necesidad de obtener respuestas para poder tomar decisiones, recurren a la creación de soluciones analíticas departamentales.

La situación habitual es que cuando un departamento decide crear su propia solución de BI, lo haga con cierta independencia del resto de departamentos, incluido el de IT. Esto implica que el conocimiento se acumule en cada uno de los grupos departamentales, que posiblemente usen tecnologías diferentes, y que se tienda a proteger su inversión con cierto recelo.

¿Porqué debería un departamento compartir información con otro departamento? Al hacer esto, los costes de explotación de la información van directamente al departamento propietario de la solución analítica, mientras que el beneficio va para el departamento que realiza la petición de información. ¿Qué va a obtener a cambio?

Además, la verdad sea dicha, pueden existir tensiones políticas* entre departamentos, lo que influye en la no predisposición a ceder información. Como consultor, siempre me dijeron que no se podía hablar de conflictos políticos en un cliente. Pero la realidad es que es una situación que se da en muchas organizaciones y es un motivo muy importante para la no compartición de datos a nivel interdepartamental.

Es un hecho probado que la cooperación entre departamentos y el acceso a información de otras áreas de la empresa, aumenta la efectividad de una organización. Pongamos, por ejemplo, una organización que desea tener una visión de 360° de sus clientes. Es posible hacerlo solamente con los datos recabados por un departamento o área de negocio? Ciertamente no. Para ello, necesitamos información de:

  • Captación del cliente
  • Ventas
  • Marketing
  • Atención al cliente
  • Distribución

Sin la cooperación de todas las partes implicadas, no podríamos tener una visión completa de la realidad que afecta a nuestros clientes. Y sin esta visión, no se pueden tomar decisiones de manera informada.

Beneficios de la democratización de la información

Algunos de los beneficios de permitir el acceso a la información de una organización, podemos enunciarlas a partir de las excusas citadas anteriormente. Éstas son:

  • Los empleados no necesitan esta información para realizar su trabajo. La información no hará que realicen sus tareas peor. En todo caso, si la información es irrelevante, la descartarán y seguirán realizando sus tareas sin tenerla en cuenta. Pero podría ser que esa información les proporcione algo para mejorar sus procesos, ser más eficientes y más productivos.
  • Los empleados no están capacitados para entender esta información o interpretarla de manera correcta. Si el empleado no está capacitado para entender algo, quizá deberíamos capacitarlo. De esta manera podemos hacer que nuestros empleados crezcan y se sientan parte de la organización.
  • No tenemos una solución tecnológica que nos permita analizar la información y distribuirla de manera efectiva. Un proyecto de BI solventaría esta necesidad, permitiendo la compartición de información interdepartamental y el acceso a la información de todos los empleados.

Además, podemos citar otros beneficios, como por ejemplo:

  • A nivel estratégico y táctico, la compartición de información es clave para el buen gobierno de una organización y un área de negocio.
  • La transparencia aumenta la satisfacción de la plantilla. Los empleados prefieren tener acceso a la información (aunque no lo hagan efectivo) que la opacidad en su organización.
  • Acceder a información permite tener una visión más amplia de la realidad de una organización. A nivel de empleado, le permite entender mejor su rol dentro de la organización y las implicaciones de su trabajo.
  • Tener una visión más amplia puede hacer que afloren ideas para mejorar procesos dependientes entre diferentes áreas de negocio. Éstas ideas pueden tener su origen en los empleados, que son los que viven los procesos operacionales día tras día.

Finalmente, me gustaría lanzar un par de preguntas al aire para la reflexión: ¿Qué beneficios podría aportar a una organización abrir el acceso a su información a sus clientes, proveedores, etc.? Por ejemplo, ¿sería un valor añadido para un cliente poder ver el estado de las ventas, pedidos, pagos, etc.?

Conclusión

Permitir el acceso a la información dentro de una organización es clave para mejorar los resultados de ésta, la satisfacción de sus empleados, su crecimiento, y la efectividad de los procesos internos.

Las soluciones analíticas departamentales, a pesar de ofrecer respuestas, no facilitan la compartición de información al mismo nivel que una solución corporativa.

Un gobierno fuerte del dato y la información corporativa es la base para para poder tener un sistema global de análisis de la información en una organización.

MS Excel como herramienta de BI

 

 

MS Excel es una herramienta muy versátil, útil e intuitiva. Además la curva de aprendizaje es muy rápida para funcionalidades simples, lo que permite obtener resultados de manera rápida.

Por estos motivos, es una de las herramientas informáticas más usadas en el mundo.

 

Las funcionalidades de MS Excel incluyen, entre otras:

  • La carga de datos externos.
  • La transformación de esos datos mediante fórmulas.
  • La visualización de datos en forma de tablas, tablas dinámicas y gráficos.

Es decir, MS Excel contiene los componentes básicos de un sistema de Business Intelligence (BI).

Esto explica porqué hay organizaciones que utilizan MS Excel como su herramienta de BI.

Hoy voy a exponer los 3 motivos principales por los cuales considero que BI no puede ser considerada una herramienta de BI:

  • La limitación en el número de filas
  • La carga y transformación de datos
  • El rendimiento

Limitación en el número de filas

El número de filas de una hoja (pestaña) de MS Excel es de 1.048.576 (220). Ahora estamos de suerte, puesto que en versiones anteriores a MS Excel 2007, esta limitación era tan solo de 65.536 filas (216).

En algunos entornos, este volumen de datos es suficiente. Si no se dispone de una gran cantidad de datos, MS Excel es capaz de acomodarlos en su poco más de un millón de filas por pestaña.

Sin embargo, esta situación podría no darse si la organización decide ampliar el objeto de su solución de BI. Quizá los nuevos procesos de negocio a analizar requieren el uso de más datos, con lo que chocaríamos con esta limitación.

En mi vida como consultor me he encontrado con clientes muy contentos con su solución de BI basada en MS Excel. Pero algunos de ellos no podían analizar todo su negocio porque algunas áreas de éste tenía demasiados datos, con lo cual tenían que pedir a IT una solución técnica cada vez que necesitaban sacar información de esas áreas de negocio. Esto implica la existencia de diferentes procesos de gestión de los datos y la imposibilidad de cruzar información de distintas áreas de negocio en una única solución de BI.

La conclusión es que la existencia de un número máximo de filas puede ser una limitación para el crecimiento de una solución de BI.

Y aún otra limitación para los que necesitan muchos datos: El número de columnas en una hoja de MS Excel es de 16.384 (214).

Carga y transformación de datos

En BI, el proceso de carga y extracción de datos (también conocido como ETL, del inglés Extraction, Transformation and Load), permite obtener datos de fuentes externas, adaptarlos a una estructura nueva (el modelo de datos) y realizar transformaciones en los valores (como puede ser usar un formato común).

La gran variedad de fuentes de datos existentes hoy en día hacen que cualquier herramienta de ETL necesite conectores a una gran cantidad de fuentes de datos para poder ser versátil.

En este apartado, Microsoft ha hecho un buen trabajo ampliando la conectividad de MS Excel. Actualmente, cuenta con conectores a los siguientes tipos de fuentes de datos:

  • Fichero
  • Base de datos
  • Microsoft Azure
  • Servicios Online
  • Otras fuentes de datos

Podéis obtener una lista completa y actualizada en el siguiente enlace:

Import data from external data sources (Power Query)

Sin embargo, en el área de la transformación de los datos, ésta se realiza a partir de las fórmulas disponibles en MS Excel.

MS Excel contiene una gran variedad de fórmulas. Con ellas podemos realizar una gran variedad de transformaciones en los datos, ya sean de tipo texto, como numérico o fecha. Su sintaxis es clara y concisa, pero cuando debemos realizar transformaciones complejas que incluyen el uso de distintas fórmulas, el resultado es una fórmula compleja por su difícil lectura y mantenimiento.

Cierto es que podemos simplificar las fórmulas partiéndolas en componentes, usando columnas para calcular los pasos intermedios, pero este procedimiento tiene un inconveniente: Incrementa los datos en la hoja MS Excel por el uso de nuevas columnas, hecho que dificulta la gestión del fichero y aumenta el número de cálculos a realizar para mantener los datos actualizados.

Además, para poder guardar los datos en pasos intermedios (como sería una tabla temporal en un proceso de ETL), los datos deben guardarse en la misma hoja MS Excel, lo que puede generar grandes volúmenes de datos y confusión a la hora de gestionar el fichero.

En resumen, el uso de las fórmulas de MS Excel proporciona la capacidad de transformar los datos, pero no es una solución cómoda desde el punto de vista del mantenimiento de la solución de BI.

Rendimiento

MS Excel realiza un recálculo de los valores de las celdas en función de sus dependencias. Toda celda puede tener dependencias si contiene una fórmula basada en otras celdas. Por tanto, cada vez que el valor de una celda cambia, MS Excel debe recalcular el valor de las celdas que dependen de esa celda cuyo valor se ha modificado.

Si realizamos una carga de datos externa, MS Excel deberá cambiar las celdas (dependientes) que dependan del valor de las filas cargadas. Y si las celdas dependientes han cambiado su valor, deberá propagar los cambios a otras celdas con dependencias sobre éstas. Y éstas a su vez pueden tener dependencias, con lo que el proceso debe hacer cálculos hasta que no se encuentren más dependencias entre celdas.

Por tanto, si el número de celdas cargadas es elevado, el número de dependencias en toda la hoja MS Excel puede crecer rápidamente. Y esto hace que MS Excel tenga que realizar una gran cantidad de cálculos.

Si el usuario trabaja con un ordenador personal, normalmente no suele ser un ordenador de grandes prestaciones. Con lo cual, en una situación así, puede darse el caso de que MS Excel deba dedicar unos segundos (o hasta minutos) a la realización de cálculos para poder actualizar todos los valores dependientes. En este caso, se produce una experiencia de usuario pobre debido al bloqueo de MS Excel durante el tiempo de recálculo. Una situación nunca deseada.

Conclusión

MS Excel tiene muchas funcionalidades muy interesantes desde el punto de vista del análisis de datos. Cuando los requerimientos que puede tener una organización lo permiten, MS Excel puede ser una buena solución para analizar datos.

Sin embargo, hay ciertas limitaciones a tener en cuenta, como son la limitación en el número de filas, la carga y transformación de datos, y el rendimiento de un fichero MS Excel.

Yo soy partidario de conocer bien los requerimientos y necesidades de mi cliente, tanto a corto como medio plazo, antes de proponer una tecnología. Pensando en grande, no recomendaría el uso de MS Excel. Sin embargo, si una organización está utilizando esta herramienta y ésta no le supone ningún problema, no veo mal que continúen utilizándola… a corto plazo, puesto que tarde o temprano, estoy seguro de que se encontrarán con alguna de estas limitaciones.

Big Data y huracanes

 

En el año 2004 prácticamente nadie había oído hablar de Big Data. De hecho, hay diferentes versiones que nos hablan del origen de este término. Se dice que fue acuñado por primera vez en el año 1998, en 2003, en 2005… ¡Qué más da! Sin embargo, lo interesante para nosotros es que el germen de lo que hoy conocemos como Big Data, ya venía cocinándose en esos años.

El caso que os presento hoy es un ejemplo de cómo, a pesar de no disponer de una tecnología estándar, con nombre y apellidos, los escenarios de Big Data existen desde siempre, y que gracias a un buen análisis de los datos, las organizaciones pueden llegar a obtener resultados con un alto valor.

Análisis con el máximo nivel de detalle

Walmart, una de las mayores cadenas de supermercados de EEUU, decidió a principios de siglo analizar las ventas de sus supermercados. Este análisis se realizó al máximo nivel de detalle. Se incluyó información de los productos vendidos por transacción, incluyendo la fecha, la hora de la compra… y también, el tiempo que hacía (soleado, nublado, lluvioso, etc.). Además, se realizó el análisis incluyendo los datos históricos de ventas.

Este nivel de detalle, teniendo en cuenta el volumen de ventas de Walmart a lo largo de los años, era un proyecto muy ambicioso. ¿Porqué realizar un análisis tan exhaustivo con información histórica?

Un enfoque diferente

El objetivo de Walmart no era obtener un informe agregado de ventas por línea de producto o por región, por poner dos ejemplos. El objetivo era buscar correlaciones entre las diferentes variables que se podían extraer de este análisis. Por ejemplo, qué productos se venden conjuntamente, qué día de la semana se vende más un producto, cómo influye el tiempo en la venta de algunos productos…

Este tipo de análisis se basa en cálculos estadísticos, que incluyen de manera implícita cierta incertidumbre. Sin embargo, cuando el volumen de datos analizados es muy alto, el análisis goza de un alto grado de validez. En el caso que nos ocupa, se daba esta situación por la gran cantidad de transacciones históricas incluidas en el análisis.

Resultados del análisis

Una de las conclusiones del análisis fue la siguiente:

Cuando se aproximaba un huracán, aparte de incrementarse las ventas de artículos de supervivencia como linternas, agua embotellada, etc., se observó un incremento en la venta de Pop-Tarts, un dulce consumido en desayunos y meriendas.

Esta conclusión propició un cambio en la distribución del producto Pop-Tarts al aproximarse un huracán. Walmart decidió distribuir el producto en función de la fecha de llegada de los huracanes a sus supermercados, resultando en una mayor disponibilidad de un producto con muchas ventas. Esto supuso un aumento considerable de las ventas.

Conclusión

Los datos siempre han escondido información muy útil.

La llegada del término “Big Data” y su globalización en los últimos años ha supuesto un cambio en la mentalidad de mucha gente respecto al análisis de datos. Sin embargo, aún falta mucho camino por recorrer.

Por suerte, casos de éxito como éste nos sirven para que la gente entienda el verdadero potencial de sus datos y de su análisis con Big Data.