Por que as equipes de dados lutam com a validação de dados (e como mudar isso)
Publicados: 2022-12-19Nota do editor: este artigo foi publicado originalmente no blog Iteratively em 18 de dezembro de 2020.
Você conhece o velho ditado: “Entra lixo, sai lixo”? É provável que você já tenha ouvido essa frase em relação à sua higiene de dados. Mas como você conserta o lixo que é o gerenciamento e a qualidade dos dados ruins? Bem, é complicado. Especialmente se você não tiver controle sobre a implementação do código de rastreamento (como é o caso de muitas equipes de dados).
No entanto, só porque os leads de dados não possuem seu pipeline desde o design dos dados até a confirmação, não significa que toda a esperança está perdida. Como a ponte entre seus consumidores de dados (gerentes de produto, equipes de produto e analistas, especificamente) e seus produtores de dados (engenheiros), você pode ajudar a desenvolver e gerenciar a validação de dados que melhorará a higiene dos dados em todos os aspectos.
Antes de entrarmos no assunto, quando dizemos validação de dados, estamos nos referindo ao processo e às técnicas que ajudam as equipes de dados a manter a qualidade de seus dados.
Agora, vamos ver por que as equipes de dados lutam com essa validação e como podem superar seus desafios.
Primeiro, por que as equipes de dados lutam com a validação de dados?
Existem três razões principais pelas quais as equipes de dados lutam com a validação de dados para análises:
- Muitas vezes, eles não estão diretamente envolvidos na implementação do código de rastreamento de eventos e na solução de problemas , o que deixa as equipes de dados em uma posição Muitas vezes, não há processos padronizados em torno da validação de dados para análise , o que significa que o teste está à mercê de verificações de controle de qualidade inconsistentes.
- As equipes e engenheiros de dados dependem de técnicas de validação reativa em vez de métodos proativos de validação de dados , o que não impede os principais problemas de higiene de dados.
Qualquer um desses três desafios é suficiente para frustrar até mesmo o melhor líder de dados (e a equipe que os apoia). E faz sentido o porquê: dados de baixa qualidade não são apenas caros – dados ruins custam em média US$ 3 trilhões , de acordo com a IBM. E em toda a organização, também destrói a confiança nos próprios dados e faz com que as equipes e engenheiros de dados percam horas de produtividade para eliminar bugs.
A moral da história é? Ninguém ganha quando a validação de dados é colocada em segundo plano.
Felizmente, esses desafios podem ser superados com boas práticas de validação de dados. Vamos dar uma olhada mais profunda em cada ponto de dor.
As equipes de dados geralmente não controlam a coleta de dados em si
Como dissemos acima, a principal razão pela qual as equipes de dados lutam com a validação de dados é que não são elas que realizam a instrumentação do rastreamento de eventos em questão (na melhor das hipóteses, elas podem ver que há um problema, mas não podem corrigi-lo ).
Isso deixa analistas de dados e gerentes de produto, bem como qualquer pessoa que esteja procurando tornar sua tomada de decisão mais orientada por dados, sobrecarregada com a tarefa de desembaraçar e limpar os dados após o fato. E ninguém - e queremos dizer ninguém - gosta de recreacionalmente consumir dados.
Esse ponto problemático é particularmente difícil para a maioria das equipes de dados superar porque poucas pessoas na lista de dados, fora os engenheiros, têm as habilidades técnicas para fazer a validação de dados por conta própria. Os silos organizacionais entre produtores e consumidores de dados tornam esse ponto problemático ainda mais sensível. Para aliviá-lo, os líderes de dados precisam promover a colaboração entre equipes para garantir dados limpos.
Afinal, os dados são um esporte de equipe e você não ganhará nenhum jogo se seus jogadores não puderem conversar entre si, treinar juntos ou debater jogadas melhores para obter melhores resultados.
A instrumentação e a validação de dados não são diferentes. Seus consumidores de dados precisam trabalhar com produtores de dados para colocar e aplicar práticas de gerenciamento de dados na fonte, incluindo testes, que detectam proativamente problemas com dados antes que alguém esteja no downstream.
Isso nos leva ao nosso próximo ponto.
As equipes de dados (e suas organizações) geralmente não têm processos definidos em torno da validação de dados para análise
Seus engenheiros sabem que o código de teste é importante. Nem sempre todo mundo gosta de fazer isso, mas garantir que seu aplicativo seja executado conforme o esperado é uma parte essencial do envio de ótimos produtos.
Acontece que garantir que o código de análise esteja coletando e entregando dados de eventos conforme pretendido também é fundamental para criar e iterar em um ótimo produto.
Então, onde está a desconexão? A prática de testar dados analíticos ainda é relativamente nova para as equipes de engenharia e dados. Com muita frequência, o código de análise é considerado um complemento de recursos, não a funcionalidade principal. Isso, combinado com práticas de governança de dados sem brilho, pode significar que ele é implementado esporadicamente em toda a linha (ou não é implementado).
Simplificando, isso geralmente ocorre porque as pessoas de fora da equipe de dados ainda não entendem como os dados de eventos são valiosos para o trabalho diário. Eles não sabem que os dados de eventos limpos são uma árvore de dinheiro em seu quintal e que tudo o que precisam fazer é regá-los (validá-los) regularmente para ganhar dinheiro.
Para fazer com que todos entendam que precisam cuidar da árvore do dinheiro que são os dados de eventos, as equipes de dados precisam evangelizar todas as maneiras pelas quais dados bem validados podem ser usados em toda a organização. Embora as equipes de dados possam ser limitadas e isoladas em suas organizações, cabe a esses campeões de dados fazer o trabalho para quebrar as barreiras entre eles e outras partes interessadas para garantir que os processos e ferramentas corretos estejam em vigor para melhorar a qualidade dos dados.
Para superar esse faroeste do gerenciamento de dados e garantir a governança de dados adequada, as equipes de dados devem criar processos que especifiquem quando, onde e como os dados devem ser testados proativamente. Isso pode parecer assustador, mas, na realidade, o teste de dados pode se encaixar perfeitamente no ciclo de vida de desenvolvimento de software (SDLC) existente, ferramentas e pipelines de CI/CD.
Processos e instruções claros para a equipe de dados que projeta a estratégia de dados e para a equipe de engenharia que implementa e testa o código ajudarão todos a entender as saídas e entradas que devem esperar ver.
Equipes de dados e engenheiros dependem de técnicas de teste de dados reativas em vez de proativas
Em quase todas as partes da vida, é melhor ser proativo do que reativo. Isso soa verdadeiro para validação de dados para análise também.
Mas muitas equipes de dados e seus engenheiros se sentem presos em técnicas de validação de dados reativas. Sem governança sólida de dados, ferramentas e processos que facilitam os testes proativos, o rastreamento de eventos geralmente precisa ser implementado e enviado rapidamente para ser incluído em um lançamento (ou adicionado retroativamente após um envio). Isso força os líderes de dados e suas equipes a usar técnicas como detecção de anomalias ou transformação de dados após o fato.
Essa abordagem não apenas não corrige o problema raiz de seus dados incorretos, mas também custa aos engenheiros de dados horas de seu tempo eliminando bugs. Também custa aos analistas horas de seu tempo limpando dados ruins e custa a empresa perder receita de todas as melhorias do produto que poderiam ter acontecido se os dados fossem melhores.
Em vez de estar em um estado constante de recuperação de dados, os líderes de dados devem ajudar a moldar os processos de gerenciamento de dados que incluem testes proativos desde o início e ferramentas que apresentam proteções, como segurança de tipo, para melhorar a qualidade dos dados e reduzir o retrabalho a jusante.
Então, quais são as medidas proativas de validação de dados? Vamos dar uma olhada.
Métodos e técnicas de validação de dados
A validação proativa de dados significa adotar as ferramentas certas e os processos de teste em cada estágio do pipeline de dados:
- No cliente com ferramentas como Amplitude para alavancar segurança de tipo, teste de unidade e teste A/B.
- No pipeline com ferramentas como Amplitude, Segment Protocols e repositório de esquema de código aberto Iglu do Snowplow para validação de esquema, bem como outras ferramentas para integração e teste de componentes, teste de atualização e testes de distribuição.
- No warehouse , com ferramentas como dbt, Dataform e Great Expectations para alavancar esquematização, teste de segurança, teste de relacionamento, teste de atualização e distribuição e verificação de faixa e tipo.
Quando as equipes de dados mantêm e aplicam ativamente medidas proativas de validação de dados, elas podem garantir que os dados coletados sejam úteis, claros e limpos e que todos os acionistas de dados entendam como mantê-los dessa forma.
Além disso, os desafios relacionados à coleta de dados, processo e técnicas de teste podem ser difíceis de superar sozinhos, por isso é importante que os líderes quebrem os silos organizacionais entre as equipes de dados e as equipes de engenharia.
Como alterar a validação de dados para análise para melhor
O primeiro passo para as práticas funcionais de validação de dados para análise é reconhecer que os dados são um esporte de equipe que requer investimento dos acionistas de dados em todos os níveis, seja você, como líder de dados, ou seu engenheiro individual implementando linhas de código de rastreamento.
Todos na organização se beneficiam de uma boa coleta e validação de dados, desde o cliente até o depósito.
Para conduzir isso, você precisa de três coisas:
- Direção de cima para baixo de líderes de dados e liderança da empresa que estabelece processos para manter e usar dados em toda a empresa
- Evangelismo de dados em todas as camadas da empresa para que cada equipe entenda como os dados os ajudam a fazer seu trabalho melhor e como os testes regulares suportam isso
- Fluxos de trabalho e ferramentas para controlar bem seus dados , seja uma ferramenta interna, uma combinação de ferramentas como Segment Protocols ou Snowplow e dbt, ou melhor ainda, integrada à sua plataforma Analytics, como Amplitude. Ao longo de cada uma dessas etapas, também é importante que os leads de dados compartilhem vitórias e progridam em direção a ótimos dados com antecedência e com frequência. Essa transparência não apenas ajudará os consumidores de dados a ver como eles podem usar melhor os dados, mas também ajudará os produtores de dados (por exemplo, seus engenheiros fazendo seus testes) a ver os frutos de seu trabalho. É uma vitória para todos.
Supere seus problemas de validação de dados
A validação de dados é difícil para as equipes de dados porque os consumidores de dados não podem controlar a implementação, os produtores de dados não entendem por que a implementação é importante e as técnicas de validação fragmentadas fazem com que todos reajam a dados ruins em vez de evitá-los. Mas não precisa ser assim.
As equipes de dados (e os engenheiros que as apoiam) podem superar problemas de qualidade de dados trabalhando juntas, adotando os benefícios multifuncionais de bons dados e utilizando as excelentes ferramentas existentes que facilitam o gerenciamento e os testes de dados.