Explodat Calidad De datos meme

En este artículo veremos a través de un Ejemplo de Procesos ETL, cómo podemos impactar positivamente la calidad de los datos, con independencia si realizamos nuestros ETLs via SQL o con herramientas ETL como Pentaho.

El Problema de la Calidad de Datos

La Calidad de los Datos es un tema que se entiende muy rápido pero que en la práctica afecta a la mayoría de las empresas, sino pregúntele a sus Data Scientists. Un ejemplo equivalente se da en Salud, donde el espíritu es guiarnos hacia un enfoque preventivo pero en la práctica el mayor porcentaje de las prestaciones es curativo.

Una forma de contar con datos de calidad es evitar el ingreso de datos de mala calidad, ya sea entrenando a los usuarios que los producen como implementando programas de Gobierno de Datos. Ahora bien, la realidad es que las empresas difícilmente parten desde cero con sus sistemas y por si fuera poco reciben datos externos que pueden agregar “más ruido” a la calidad de sus datos.  Esto nos lleva a preguntarnos:

¿Cuál es el costo de una mala calidad de datos? ¿Qué podemos hacer?

Te comparto 2 post de nuestras RRSS que responden a esto. Por cierto, ¿ya te suscribiste? No digas que después no te avisé 🙂

Costo de una mala calidad de datos
Ejemplo del costo de una mala calidad de datos en Walmart
Procesos ETL para enfrentar problemas de calidad de datos
3 tips para enfrentar problemas de calidad de datos

Por lo tanto, es necesario tomar acciones preventivas y correctivas, sobre estas últimas me enfocaré el resto de la entrada. Las acciones correctivas nos pueden ayudar a realizar un análisis de causa raíz.

Análisis de Causa Raíz

Nos permite entender los factores que contribuyen a los problemas y de qué forma lo hacen, los cuales eliminados, podrían solucionar el problema. Algunas técnicas usadas son: Pareto, Diagramas Ishikawa (Fishbone) y los 5 Por qué.

Los procesos ETL facilitan el análisis de causa raíz
Fishbone – Análisis de Causa Raíz

La estrategia que utilicemos debería al menos automatizar la diagnosticación de problemas de calidad de datos. Una forma de hacerlo es mediante metadatos generados por Procesos de Extracción, Transformación y Carga (ETL o ECCD), que dicho sea de paso, es uno de los pecados capitales descritos aquí.

Ejemplo de Procesos ETL en Calidad de Datos

A continuación mencionaré de forma muy resumida los elementos que forman parte de la metodología que usamos en Explodat, ya que mi objetivo en esta entrada es lograr que pases de cero a uno respecto a la Revisión de Calidad de Datos Automática. 

Inmediatamente después de los elementos claves, viene el ejemplo mediante Procesos ETL, por lo que te sugiero que leas esta sección con calma.

¿Qué elementos considera la diagnosticación vía ETL?

  • Data Profiling y Quality Screens: Análisis técnico sobre el Contenido, Consistencia y Estructura de los Datos. Como salida obtenemos una batería de querys que incorporaremos en los procesos ETL en formato de Quality Screens (Column, Structure y Business Rule Screens). Mi sugerencia es comenzar con Column Screen, por ejemplo, escoges la dimensión “Cliente” y sobre esta aplicas validaciones a las columnas fecha nacimiento, sexo y RUT.
  • Performance Measures: Las medidas las distribuimos en: 90% KPIs y 10% KRIs.
  • Modelo Dimensional (Datamart): Construimos el modelo dimensional Calidad de Datos usando la metodología de Kimball. No usamos la definición “Datamart Agregado” de B. Inmon. Con esta arquitectura pavimentamos el camino hacia una gestión de calidad Six Sigma.
  • Visualizaciones y Estadística: Creamos Reportes y Dashboards tanto para la ejecución de los procesos que cargan los datos como la “semántica” de estos mediante SCP y ARIMA X-13 respectivamente. Adicionalmente sugerimos utilizar un tipo especializado de visualización de series de tiempo llamado gráficos XmR, también conocidos como gráficos de control.

Un poco más sobre SPC

En la década de 1920 se acuñó el término Control Estadístico de Procesos (SPC) como un método para administrar procesos mediante el análisis de variaciones en las entradas, salidas o pasos del proceso. SCP utiliza medidas de tendencia central (ej: promedio o mediana) y de variabilidad en torno a un valor central (ej: varianza, desviación estándar), para establecer la tolerancia a la variación dentro de un proceso.

Para aplicar SPC, primero debemos establecer un mecanismo que nos permita medir el proceso y luego definir las medidas para detectar variaciones no esperadas tan pronto como sea detectable.

Ejemplo de Proceso ETL aplicado en Business Intelligence

En soluciones Data Warehouse / Business Intelligence queda rápidamente en evidencia que si los datos de los sistemas origen son de mala calidad, los datos disponibles para la toma de decisiones, también lo serán. Como dice el dicho “Garbage in Garbage out”.  Aquí podemos implementar 2 controles de calidad:

  1. Analizar el tiempo de ejecución de los procesos que cargan el Data Warehouse con SPC.
  2. Analizar los valores a cargar o cargados en el Data Warehouse con X-13-ARIMA.

A continuación veremos un ejemplo para el caso 1:

Paso 1: Modelo Dimensional de Calidad de Datos

Creamos un modelo que nos permita registrar los quality screen y metadatos del proceso (Duración, Resultado de ejecución entre otros).

Datamart para almacenar problemas de datos mediante procesos ETL
Datamart o Modelo Dimensional para diagnósticar problemas de calidad de datos

No es necesario un modelo para la NASA, evita la trampa de parálisis por análisis.

Paso 2: Añadir logs de auditoría en cada paso de los procesos ETL

Para cada Job y Data Flow que gestione tablas Stage, Dimensiones y Facts (Tablas de hechos) registrar los metadatos asociados en las tablas de auditoria. Con esto logramos el primer paso de SCP: Medir el proceso.
Explodat LOG AUDITORIA

Paso 3: Visualizaciones XmR – Ejemplo de Procesos ETL

En base a las tablas de auditoría, generamos un reporte que:

  1. Grafique una línea central para reflejar el promedio de la duración del proceso. 
  2. Incorpore límites de control superior e inferior para resaltar la variabilidad alrededor de un valor central, en este caso el promedio de la duración del proceso ETL.
Procesos ETL visualizados mediante XmR Chart
Análisis de Procesos ETL mediante XmR Chart

Con estos 3 pasos ya puedes facilitar el llamado a la acción, donde cualquier resultado fuera de los límites de control guiarán a una revisión del tipo causa raíz. Ahora te tocará disfrutar la conversación con los stakeholder. En caso que trabajes para el gobierno en esta época “covidiana”, ánimo.

Ejemplo de Procesos ETL- Conclusión

Mejorar la calidad de lo datos puede que no sea una tarea fácil incluso si hay un programa de gobierno de datos que lo apalanque. Se pueden aplicar diversos enfoques pero la verdad es que muchas veces ni siquiera se comienza. El objetivo de esta entrada fue mostrarte cómo partir con la ayuda de Procesos ETL,  espero que te motive a dar ese puntapié inicial. Como dice el refrán: “El mejor ejercicio es el que se hace”.

Por supuesto que mejorar la calidad de los datos no es solo un trabajo técnico sino también es un cambio cultural, pero ayudar a diagnosticar problemas con los metadatos generados por los Procesos ETL es un excelente punto de partida. Eso sí, cuando debas armar el caso de uso/negocio, te sugiero utilizar un enfoque BI basado en el negocio.

Por cierto, si crees que este contenido puede ser útil para otras personas no dudes en compartirlo. De igual forma te invitamos a seguirnos en Linkedin, Facebook y Youtube donde estamos publicando semanalmente tips relacionados con DW/BI, Data Science, Visualización y Software a la Medida que es justamente lo que más nos apasiona hacer en Explodat.

Fuentes de inspiración:
[1] Understanding Variation: The Key to Managing Chaos, Second Edition, Donal Wheeler.
[2] DAMA – DMBOK. Data Management Body of Knowledge, Second Edition.
[3] The Data Warehouse ETL Toolkit: Practical Techniques for Extracting, Cleaning, Conforming, and Delivering Data.
[4] Key Performance Indicators, Fourth Edition, David Parmenter.
[5] Data Quality: The Accuracy Dimension, Jack E. Olson.
[6] DataLeaders: https://dataleaders.org/tools/root-cause-analysis/

4 Thoughts on “Ejemplo de Procesos ETL en Calidad de Datos”

Agregar un comentario

Su dirección de correo no se hará público.