Predecir el futuro es posible

 

La toma de decisiones es crucial para el éxito de una organización. Estas decisiones pueden estar basadas en la experiencia o en la observación y análisis de datos históricos.

En este último caso, la predicción analítica nos permite tomar decisiones con un nivel de confianza predeterminado, a partir del análisis de grandes cantidades de datos y variables. Algo que escapa a la mente humana, por mucha experiencia que alguien pueda tener.

La responsabilidad de las organizaciones es definir un marco de trabajo para que sus empleados (desde los directivos hasta los operarios) puedan tomar decisiones con fundamento.

¿Qué es la predicción analítica?

La predicción analítica es como una bola de cristal que nos permite saber, con cierto grado de probabilidad, qué va a suceder. Ésta se basa en el análisis de datos históricos y en la determinación de patrones que se repiten en esos datos (por decirlo de una manera muy simple). El objetivo es la creación de un modelo predictivo que tiene como finalidad asignar una probabilidad de que algo suceda.

Este modelo es creado a partir de diferentes técnicas, en función del escenario de negocio. Estas técnicas incluyen el uso de estadística avanzada y algoritmos de Inteligencia Artificial entre otras. Algunos de los métodos usados en predicción analítica son las regresiones, árboles de decisión, clustering y redes neuronales. Estadística predictiva, Machine Learning y Deep Learning, entre otros, son términos asociados con el análisis de grandes volúmenes de datos para la creación de modelos de predicción analítica.

Grandes volúmenes de datos

El análisis parte de un gran volumen de datos. Este volumen vendrá determinado por el número de registros. A mayor conjunto de datos, mejor predicción.

¿Tomaríamos una decisión basada en una experiencia prácticamente inexistente? Seguramente no. El motivo es que no dispondríamos de suficiente respaldo para esa decisión. Lo mismo sucede con la predicción analítica.

Es posible generar modelos predictivos a partir de conjuntos pequeños de datos. Sin embargo, estos modelos no proporcionan una confianza lo suficientemente alta.

Imaginad que lanzamos un dado 6 veces y obtenemos las siguientes puntuaciones:

PuntuaciónNúmero de tiradas
10
23
30
41
50
62

Un modelo predictivo basado en este conjunto de observaciones, nos diría que probabilidad de que salga un número par al lanzar este dado en particular es del 100% (contra un 0% de que salga un número impar).

En este caso, la toma de decisiones basada en este modelo sería muy arriesgada (por sentido común).

Sin embargo, ¿qué confianza nos daría un modelo con esas probabilidades si el número de observaciones fuera 100? ¿Y 1000? ¿Y 1.000.000? Obviamente, la confianza sería mucho más alta. Y en este caso, seguramente nos plantearíamos si el dado está trucado.

Grandes conjuntos de variables

El número de variables a analizar determina el modelo de predicción. Un número muy bajo de variables es lo que hace que la gente se atreva a predecir qué va a suceder. En este caso, el comportamiento humano tiende a simplificar escenarios prescindiendo de variables, obviar casos que no se ciñan a lo esperado, etc. Esto deriva en una predicción falseada que afecta a la toma de decisiones.

Al incrementar el número de variables de un escenario, ese análisis se complica. Es en ese momento en el cual es necesario utilizar técnicas complejas de análisis que permitan analizar todas las variables disponibles.

El uso de un gran número de variables no significa que el modelo de predicción se base en todas ellas. Existen correlaciones y dependencias entre variables, lo cual hace que algunas de ellas impliquen los valores de otras. Por tanto, es posible que algunas, o gran parte de ellas no aparezcan en el modelo predictivo.

Conclusión

La predicción analítica permite obtener respuestas a qué va a suceder en el futuro con una probabilidad concreta en cada caso. El umbral del índice de confianza designado por el usuario para ese modelo determinará la toma de decisión final.

Para obtener un modelo de predicción con un alto nivel de confianza, es necesario disponer de un gran volumen de datos.

El gran número de variables permite generar un modelo de predicción más ajustado, ya que no obviamos información que puede acabar de determinar esa probabilidad final en cada caso.

La creación de un modelo de predicción requiere el uso de estadística avanzada o algoritmos de Inteligencia Artificial. Por tanto, es necesario contar con expertos en alguna de estas áreas que dispongan de la experiencia necesaria para poder obtener un modelo válido que aporte valor y sea válido para la toma de decisiones en una organización.

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.

Infoxicación

Disponer de un gran volumen de datos de diferente naturaleza es la base para un buen análisis que nos permita una toma de decisiones inteligente.

Sin embargo, una gran cantidad y variedad de datos puede derivar en dificultades a la hora de tratar toda esa información. Es lo que se denomina infoxicación.

Definición

La infoxicación es la imposibilidad de poder procesar y analizar los datos que alimentan un repositorio de información.

Esta situación puede producirse por dos causas:

  • La existencia de grandes volúmenes de datos
  • La generación de información a una velocidad superior a la de proceso y análisis

Cuando una solución tecnológica no es capaz de procesar todos los datos respetando los requerimientos de urgencia de los usuarios, ésta no puede aportar todo el valor necesario. En esta situación, hablamos de infoxicación.

Causas

La imposibilidad de procesar todos los datos a tiempo puede producirse por la existencia de grandes volúmenes de datos y por una velocidad de generación de datos muy elevada.

Los datos de un repositorio analítico deben ser procesados para su posterior análisis. Estas son las dos fases sobre las que actúa la infoxicación.

Si bien el proceso de los datos (entendido como la captación de éstos) cuando hay grandes volúmenes de datos no implica grandes dificultades, sí que podemos encontrarlas a la hora de refinar esos datos en las tareas de análisis. Cruzar (hacer una join, un lookup) datos relacionados tiene un coste que augmenta de manera logarítmica con el número de registros a tratar. Como es de imaginar, con volúmenes masivos de datos, el coste puede llegar a ser muy elevado. Y puede serlo tanto que el sistema sea incapaz de finalizar esta tarea antes del siguiente proceso por lotes analítico (e.g. la siguiente carga de datos).

En el caso de la generación de datos a una gran velocidad, el problema aparece en el procesado de los datos. Cuando éstos llegan al sistema, deben ser consumidos a una velocidad igual o superior a la de generación. En caso contrario, los datos se acumularán a la espera de ser procesados. Y esa acumulación puede ir incrementándose hasta el punto en que podemos llegar a perder datos.

En cualquiera de estas situaciones, el riesgo está en la imposibilidad de producir información a partir de unos datos de entrada, o de generar esa información demasiado tarde, con lo cual el usuario no obtiene valor para una toma de decisiones inteligente.

Solución

Ante una situación así, es necesario diseñar un sistema de proceso y análisis del dato que permita subsanar las dificultades de cada escenario.

Utilizar una solución técnica basada en la tecnología Big Data nos permite resolver los problemas derivados de las carencias en el proceso y análisis en estas situaciones.

La escalabilidad de un cluster de Big Data y la computación distribuida inherente a este tipo de arquitecturas, proporcionan la capacidad de tratar grandes volúmenes de datos generados a una gran velocidad.

Conclusión

La infoxicación es la imposibilidad de tratar datos y ofrecer al usuario información de valor para la toma de decisiones, debido al gran volumen o la alta velocidad en la generación de los datos.

Las consecuencias de la infoxicación son la pérdida de datos y la tardía generación de información. Ante esas situaciones, la información bien no existe bien carece de valor.

El uso de una solución basada en Big Data permite resolver estas limitaciones, permitiendo a los usuarios disponer de la información requerida dentro de los términos útiles para la toma de decisiones.

¿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.