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.
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:
Te comparto 2 post de nuestras RRSS que responden a esto. Por cierto, ¿ya te suscribiste? No digas que después no te avisé 🙂
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.
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é.
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í.
A continuación mencionaré de forma muy resumida los elementos que forman parte de la metodología que usamos en Lituus, 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.
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.
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:
A continuación veremos un ejemplo para el caso 1:
Creamos un modelo que nos permita registrar los quality screen y metadatos del proceso (Duración, Resultado de ejecución entre otros).
No es necesario un modelo para la NASA, evita la trampa de parálisis por análisis.
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.
NUMERO_EJECUCION_PK | CAMPOS | NOMBRE_PROCESO | PARAMETROS | FECHA_INICIO | FECHA_TERMINO | DURACION | RESULTADO |
1829 | ...OTROS CAMPOS | NOMBRE DE TU PROCESO | TIPO_CARGA:DELTA; FECHA_DESDE:20200304;FECHA_HAST... | 2020-03-05 09:58:00.157 | 2020-03-05 10:29:17.600 | 1877 | NOK |
1828 | ...OTROS CAMPOS | NOMBRE DE TU PROCESO | TIPO_CARGA:DELTA; FECHA_DESDE:20200304;FECHA_HAST... | 2020-03-05 08:34:56.027 | 2020-03-05 09:03:54.370 | 1738 | NOK |
1827 | ...OTROS CAMPOS | NOMBRE DE TU PROCESO | TIPO_CARGA:DELTA; FECHA_DESDE:20200304;FECHA_HAST... | 2020-03-05 06:02:01.020 | 2020-03-05 06:27:53.310 | 1552 | NOK |
1826 | ...OTROS CAMPOS | NOMBRE DE TU PROCESO | TIPO_CARGA:DELTA; FECHA_DESDE:20200303;FECHA_HAST... | 2020-03-04 06:02:01.030 | 2020-03-04 06:27:09.607 | 1508 | OK |
1825 | ...OTROS CAMPOS | NOMBRE DE TU PROCESO | TIPO_CARGA:DELTA; FECHA_DESDE:20200302;FECHA_HAST... | 2020-03-03 06:02:01.523 | 2020-03-03 06:32:31.270 | 1830 | OK |
En base a las tablas de auditoría, generamos un reporte que:
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.
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.
Nota: Si crees que este contenido puede ser útil para otras personas no dudes en compartirlo. Además te invitamos a seguirnos en Linkedin, Twitter, Facebook, Instagram y Youtube. Mientras en el Blog liberamos contenido más extenso, en las RRSS publicamos semanalmente tips relacionados con Data Warehouse, BI, Data Science y Visualización de Datos que es justamente lo que más nos apasiona hacer en Lituus.
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/