Técnicas populares de validación de datos para análisis y por qué las necesita

Publicado: 2022-12-19

Nota del editor: este artículo se publicó originalmente en el blog de Iteratively el 14 de diciembre de 2020.


Al final del día, su análisis de datos debe probarse como cualquier otro código. Si no valida este código, y los datos que genera, puede ser costoso (como $ 9.7 millones de dólares por año, según Gartner).

Para evitar este destino, las empresas y sus ingenieros pueden aprovechar una serie de técnicas de validación de datos proactivas y reactivas. Recomendamos encarecidamente el primero, como explicaremos a continuación. Un enfoque proactivo para la validación de datos ayudará a las empresas a garantizar que los datos que tienen estén limpios y listos para trabajar.

Técnicas de validación de datos reactivas frente a proactivas: resuelva problemas de datos antes de que se conviertan en un problema

“Una onza de prevención vale una libra de cura”. Es un viejo dicho que es cierto en casi cualquier situación, incluidas las técnicas de validación de datos para análisis. Otra forma de decirlo es que es mejor ser proactivo que reactivo.

El propósito de cualquier validación de datos es identificar dónde los datos pueden ser inexactos, inconsistentes, incompletos o incluso faltantes.

Por definición, la validación de datos reactiva se lleva a cabo después del hecho y utiliza la detección de anomalías para identificar cualquier problema que puedan tener sus datos y para ayudar a aliviar los síntomas de datos erróneos. Si bien estos métodos son mejores que nada, en primer lugar no resuelven los problemas centrales que causan los datos incorrectos.

En cambio, creemos que los equipos deben tratar de adoptar técnicas proactivas de validación de datos para sus análisis, como la seguridad de tipos y la esquematización, para garantizar que los datos que obtienen sean precisos, completos y en la estructura esperada (y que los futuros miembros del equipo no tengan luchar con un código de análisis incorrecto).

Si bien puede parecer obvio elegir el enfoque de validación más completo, muchos equipos terminan usando la validación de datos reactiva. Esto puede deberse a varias razones. A menudo, el código de análisis es una ocurrencia tardía para muchos equipos que no son de datos y, por lo tanto, no se prueba.

Desafortunadamente, también es común que los datos se procesen sin ninguna validación. Además, el código de análisis deficiente solo se nota cuando es realmente malo, por lo general, semanas después, cuando alguien nota que un informe es extremadamente incorrecto o incluso falta.

Las técnicas reactivas de validación de datos pueden parecerse a la transformación de sus datos en su almacén con una herramienta como dbt o Dataform.

Si bien todos estos métodos pueden ayudarlo a resolver sus problemas de datos (y, a menudo, con herramientas objetivamente excelentes), aún no lo ayudarán a curar la causa principal de sus datos incorrectos (por ejemplo, análisis o gobierno de datos fragmentados que se implementan en un proyecto). por proyecto sin comunicación entre equipos) en primer lugar, dejándolo volver a ellos cada vez.

La validación de datos reactivos por sí sola no es suficiente; necesita emplear técnicas proactivas de validación de datos para ser verdaderamente efectivo y evitar los costosos problemas mencionados anteriormente. Este es el por qué:

  • Los datos son un deporte de equipo. No depende solo de un departamento o una persona garantizar que sus datos estén limpios. Se necesita que todos trabajen juntos para garantizar datos de alta calidad y resolver problemas antes de que sucedan.
  • La validación de datos debe ser parte del ciclo de vida de desarrollo de software (SDLC). Cuando lo integra en su SDLC y en paralelo con su desarrollo basado en pruebas existente y su proceso de control de calidad automatizado (en lugar de agregarlo como una ocurrencia tardía), ahorra tiempo al evitar problemas de datos en lugar de solucionarlos más adelante.
  • La validación de datos proactiva se puede integrar en sus herramientas existentes y canalizaciones de CI/CD. Esto es fácil para sus equipos de desarrollo porque ya han invertido en la automatización de pruebas y ahora pueden ampliarlo rápidamente para agregar también cobertura para análisis.
  • Las pruebas proactivas de validación de datos son una de las mejores formas en que los equipos que se mueven rápidamente pueden operar de manera eficiente. Garantiza que puedan iterar rápidamente y evitar la deriva de datos y otros problemas posteriores.
  • La validación de datos proactiva le brinda la confianza para cambiar y actualizar su código según sea necesario, al mismo tiempo que minimiza la cantidad de errores que tendrá que eliminar más adelante. Este proceso proactivo garantiza que usted y su equipo solo cambien el código que está directamente relacionado con los datos que le preocupan.

Ahora que hemos establecido por qué es importante la validación proactiva de datos, la siguiente pregunta es: ¿Cómo se hace? ¿Cuáles son las herramientas y los métodos que emplean los equipos para garantizar que sus datos sean buenos antes de que surjan problemas?

Sumerjámonos.

Métodos de validación de datos

La validación de datos no es solo un paso que ocurre en un punto específico. Puede ocurrir en varios puntos del ciclo de vida de los datos: en el cliente, en el servidor, en la canalización o en el propio almacén.

En realidad, es muy similar a las pruebas de software en muchos sentidos. Hay, sin embargo, una diferencia clave. No está probando las salidas solo; también está confirmando que las entradas de sus datos son correctas.

Echemos un vistazo a cómo se ve la validación de datos en cada ubicación, examinando cuáles son reactivas y cuáles son proactivas.

Técnicas de validación de datos en el cliente

Puede usar herramientas como Amplitude Data para aprovechar la seguridad de tipos, las pruebas unitarias y el linting (análisis de código estático) para la validación de datos del lado del cliente.

Ahora, este es un gran punto de partida, pero es importante comprender qué tipo de prueba le permite hacer este tipo de herramienta en esta capa. Aquí hay un desglose:

  • La seguridad de tipos es cuando el compilador valida los tipos de datos y las instrucciones de implementación en la fuente, evitando errores posteriores debido a errores tipográficos o variables inesperadas.
  • La prueba unitaria es cuando prueba una selección específica de código de forma aislada. Desafortunadamente, la mayoría de los equipos no integran análisis en sus pruebas unitarias cuando se trata de validar sus análisis.
  • Las pruebas A/B son cuando prueba su flujo de análisis contra un conjunto de datos de estado dorado (una versión de su análisis que sabe que es perfecta) o una copia de sus datos de producción. Esto le ayuda a determinar si los cambios que está realizando son buenos y una mejora de la situación existente.

Técnicas de validación de datos en proceso

La validación de datos en la tubería se trata de asegurarse de que los datos enviados por el cliente coincidan con el formato de datos en su almacén. Si los dos no están en la misma página, sus consumidores de datos (gerentes de productos, analistas de datos, etc.) no obtendrán información útil del otro lado.

Los métodos de validación de datos en la canalización pueden verse así:

  • Validación de esquema para garantizar que el seguimiento de su evento coincida con lo que se ha definido en su registro de esquema.
  • Pruebas de integración y componentes a través de pruebas de utilidad de clave relacional, única y sustituta en una herramienta como dbt para asegurarse de que el seguimiento entre plataformas funcione bien.
  • Pruebas de frescura a través de una herramienta como dbt para determinar cuán "frescos" son sus datos de origen (también conocido como cuán actualizados y saludables son).
  • Pruebas de distribución con una herramienta como Great Expectations para recibir alertas cuando los conjuntos de datos o las muestras no coincidan con las entradas esperadas y asegúrese de que los cambios realizados en su seguimiento no arruinen los flujos de datos existentes.

Técnicas de validación de datos en el almacén

Puede usar pruebas de dbt, pruebas de formularios de datos y grandes expectativas para asegurarse de que los datos que se envían a su almacén se ajusten a las convenciones que espera y necesita. También puede realizar transformaciones en esta capa, incluida la verificación de tipos y la seguridad de tipos dentro de esas transformaciones, pero no recomendaríamos este método como técnica de validación principal, ya que es reactivo.

En este punto, los métodos de validación disponibles para los equipos incluyen validar que los datos se ajusten a ciertas convenciones y luego transformarlos para que coincidan. Los equipos también pueden usar pruebas de relación y frescura con dbt, así como pruebas de valor/rango usando Great Expectations.

Toda la funcionalidad de esta herramienta se reduce a algunas técnicas clave de validación de datos en esta capa:

  • Esquematización para asegurarse de que los datos CRUD y las transformaciones se ajusten a las convenciones establecidas.
  • Pruebas de seguridad para garantizar que los datos cumplan con los requisitos de seguridad como GDPR.
  • Pruebas de relaciones en herramientas como dbt para asegurarse de que los campos de un modelo se correspondan con los campos de una tabla determinada (también conocida como integridad referencial).
  • Pruebas de frescura y distribución (como mencionamos en la sección de tuberías).
  • Verificación de rango y tipo que confirma que los datos que se envían desde el cliente están dentro del rango o formato esperado del almacén.

Un gran ejemplo de muchas de estas pruebas en acción se puede encontrar investigando el motor de metadatos y descubrimiento de Lyft, Amundsen. Esta herramienta permite a los consumidores de datos de la empresa buscar metadatos de usuarios para aumentar tanto su usabilidad como su seguridad. El método principal de Lyft para garantizar la calidad y la usabilidad de los datos es una especie de control de versiones a través de una tarea Airflow de limpieza de gráficos que elimina datos antiguos y duplicados cuando se agregan nuevos datos a su almacén.

¿Por qué ahora es el momento de adoptar mejores técnicas de validación de datos?

En el pasado, los equipos de datos luchaban con la validación de datos porque sus organizaciones no se daban cuenta de la importancia de la higiene y el gobierno de datos. Ese ya no es el mundo en el que vivimos.

Las empresas se han dado cuenta de que la calidad de los datos es fundamental. Limpiar los datos incorrectos de manera reactiva no es suficiente. Contratar equipos de ingenieros de datos para limpiar los datos a través de la transformación o escribir consultas SQL interminables es un uso innecesario e ineficiente de tiempo y dinero.

Solía ​​ser aceptable tener datos con un 80 % de precisión (más o menos, según el caso de uso), dejando un margen de error del 20 %. Eso podría estar bien para un análisis simple, pero no es lo suficientemente bueno para impulsar un motor de recomendación de productos, detectar anomalías o tomar decisiones comerciales o de productos críticas.

Las empresas contratan ingenieros para crear productos y hacer un gran trabajo. Si tienen que pasar tiempo lidiando con datos incorrectos, no están aprovechando al máximo su tiempo. Pero la validación de datos les devuelve ese tiempo para concentrarse en lo que mejor saben hacer: crear valor para la organización.

La buena noticia es que los datos de alta calidad están al alcance. Para lograrlo, las empresas deben ayudar a todos a comprender su valor rompiendo los silos entre los productores de datos y los consumidores de datos. Luego, las empresas deberían deshacerse de las hojas de cálculo y aplicar mejores prácticas de ingeniería a sus análisis, como el control de versiones y la esquematización. Finalmente, deben asegurarse de que se sigan las mejores prácticas de datos en toda la organización con un plan para el seguimiento y la gestión de datos.

Invierta en validación analítica proactiva para obtener dividendos de datos

En el mundo actual, las herramientas y los métodos de validación de datos reactivos e implícitos ya no son suficientes. Le cuestan tiempo, dinero y, quizás lo más importante, confianza.

Para evitar este destino, adopte una filosofía de proactividad. Identifique problemas antes de que se conviertan en problemas costosos mediante la validación de sus datos analíticos desde el principio y durante todo el ciclo de vida del desarrollo de software.

Comience con el análisis de productos