Qualidade de dados, o segredo das boas análises

Qualidade de dados, ou Data Quality, está relacionado ao quão bom estão os dados armazenados em sua organização, ou seja, quanto mais completos, precisos e consistentes estiverem, maior a qualidade destes dados.

A garantia de qualidade nos dados impacta diretamente no negócio da organização, tirando proveito de todos os dados existentes para a obtenção de novos insights, além do suporte a tomada de decisão e outros benefícios que ferramentas como de Business Intelligence e Machine Learning trazem ao negócio.

 

Como implementar e manter o Data Quality

Existem diversas maneiras de adotar uma política de Data Quality. Uma delas é a utilizando o Data Quality Lifecycle (Ciclo de Vida da Qualidade de Dados) que iremos detalhar um pouco mais neste artigo. 

Data Quality Lifecycle é uma sequência de processos pelos quais os projetos de qualidade de dados passam desde o início até o seu encerramento. Como mostra a Figura 1, são 6 etapas e descreveremos cada uma delas a seguir. 

Data Discovery (Descoberta de Dados): se refere a coleta de requisitos, identificação do aplicativo de origem, coleta de dados, organização e classificação do relatório de qualidade de dados. 

Data Profiling (Perfil de Dados): se refere ao exame inicial, verificação de qualidade de dados de amostra, sugestão de regra e aprovação da regra de qualidade de dados final. 

Data Rules (Regras de Dados):  diz respeito a execução da regra de negócios final para examinar a precisão dos dados e sua adequação à finalidade. 

Data Distribution & Remediation (Distribuição e Remediação de Dados):  refere-se ao processo de distribuição dos relatórios de qualidade de dados às partes responsáveis ​​e início do processo de remediação. 

Data Monitoring (Monitoramento de Dados):  se refere ao monitoramento contínuo do processo de remediação e criação de painéis de qualidade de dados e cartões de pontuação. 

 

A Ferramenta PyDeequ 

Existem ferramentas que pode auxiliar neste processo, e iremos comentar sobre a DeequDeequ é uma biblioteca construída em cima do Apache Spark para definir “testes de unidade para dados”, que medem a qualidade dos dados em grandes conjuntos de dados. 

Os produtores de conjuntos de dados e/ou data steward (administrador dos dados), podem adicionar e editar restrições de qualidade de dados. O sistema calcula as métricas de qualidade regularmente (com cada nova versão de um conjunto de dados), verifica as restrições definidas pelos produtores do conjunto de dados e publica os conjuntos para os consumidores em caso de sucesso. Havendo algum erro, a publicação do conjunto de dados pode ser interrompida e os produtores e/ou data stewards são notificados para agir. Os problemas de qualidade de dados não se propagam para os pipelines de dados do consumidor, reduzindo seu raio de explosão. 

Deequ também é usado no Amazon SageMaker Model Monitor. Agora, com a disponibilidade do PyDeequ, você pode usá-lo em um conjunto mais amplo de ambientes – notebooks Amazon SageMakerAWS GlueAmazon EMR e muito mais. 

Vejamos os principais componentes do PyDeequ e como eles se relacionam com o Deequ: 

– Cálculo de métricas – Deequ calcula métricas de qualidade de dados, ou seja, estatísticas como integridade, máximo ou correlação. Deequ usa Spark para ler fontes como Amazon Simple Storage Service (Amazon S3) e calcular métricas por meio de um conjunto otimizado de consultas de agregação. Você tem acesso direto às métricas brutas calculadas nos dados. 

– Verificação de restrição – como usuário, você se concentra em definir um conjunto de restrições de qualidade de dados a serem verificadas. Deequ se encarrega de derivar o conjunto necessário de métricas a serem calculadas nos dados. Deequ gera um relatório de qualidade de dados que contém o resultado da verificação de restrição. 

– Sugestão de restrição – você pode escolher definir suas próprias restrições de qualidade de dados customizados ou usar os métodos de sugestão de restrição automatizados que definem o perfil dos dados para inferir restrições úteis. 

– Wrappers Python – você pode chamar cada função Deequ usando a sintaxe Python. Os wrappers traduzem os comandos para as chamadas Deequ subjacentes e retornam sua resposta. 

 

Exemplo seguindo o Data Quality Lifecycle 

Vamos pensar em uma empresa multinacional que oferece empréstimose essa empresa está em fase de implantação de um Lakehouse que tem como objetivos principais a centralização, a qualidade e análise de dados. Iremos focar na qualidade de dados, utilizando o Data Qality Lifecycle.

  • Data Discovery – Iremos começar pela fase de descoberta de dados. 
    • Uma das fontes de dados mais importantes e que será a primeira a ser ingerida pelo lakehouse é a entidade: empréstimo global de clientes do banco de dados do ERP da empresa, nela contém: 
    • Nome completo do cliente;
      Tipo de cliente com 2 valores possíveis: individual ou comercial; 
    • Últimos quatro dígitos do cliente do número do seguro social; 
    • Saldo pendente do empréstimo do cliente; 
    • Receita de juros de empréstimo do cliente; 
    • Receita de taxas de empréstimo do cliente; 
    • Empréstimo do cliente garantido por tipo de imóvel; 
    • País de residência do cliente.
  • Data Profiling – Depois de identificado as fontes de dados, etc, o data steward conduzirá a criação de perfis de dados, que inclui um exame inicial dos dados, uma amostra de verificação da qualidade dos dados, sugestão de regras e aprovação das regras finais de qualidade dos dados. Veja a figura. Exemplo:
    • data steward selecionará um conjunto inicial de métricas de qualidade de dados para executar em todos os novos arquivos de entrada. Neste exemplo, pegaremos um subconjunto da entidade, empréstimo global de clientes, e criaremos o perfil dos dados usando o seguinte conjunto de métricas:
    • Completude dos dados (ou seja, existem campos com dados ausentes); 
    • Contagem distinta no tipo de cliente; 
    • Contagem distinta no país de residência; 
    • Contagem distinta de empréstimo garantido por tipo de imóvel; 
    • Tipo de dados nos últimos quatro dígitos do SSN; 
    • Tipo de dados sobre saldo pendente, receita de juros e receita de taxas; 
    • Ferramentas como o PyDeequ têm módulos para sugestões de validações de qualidade de dados, como por exemplo verificação de tipo de dados e valores aceitáveis.
  • Data Rules – Assim que as regras de criação de perfil de qualidade de dados forem finalizadas (fase anterior), elas serão alimentadas para a fase de verificação, em que a verificação real da qualidade dos dados é realizada nos arquivos de entrada para examinar a precisão dos dados e se os dados são adequados para o propósito. Relatórios de exceção de qualidade de dados devem ser gerados. 
  • Data Distribution & Remediation – Com base nos relatórios gerados na fase anterior os data steward distribui o relatório com as pessoas ou setores responsáveis, e estes irão providenciar os ajustes (remediação), isso pode ser, por exemplo, criar uma regra no sistema ERP na entidade: empréstimo global de clientes para fixar Tipos de Clientes, ou seja, não permitir que usuários digitem manualmente esta informação. Outro exemplo seria criar máscaras para o número do seguro social. 
  • Data Monitoring– Este processo cuida do monitoramento contínuo do processo de remediação, por exemplo, acompanhamento de quais ajustes foram solicitados ao fornecedor do ERP, além de criação de painéis de qualidade de dados para as mais diversas necessidades. Aqui é possível utilizar ferramentas de visualização de dados como o AWS Quicksight ou Microsoft Power BI por exemplo. 

 

Espero que este artigo possa ter dado uma visão geral sobre qualidade de dados e como seria um processo de qualidade de dados. Reforçando a ideia de que dados com qualidade geram análises e insights de qualidade, que realmente agregam valor ao negócio da organização. 

Gostou da solução? Nós podemos ajudar!

Conheça nossos conteúdos gratuitos, direcionados aos assuntos de sua preferência!

Enviar

Receba nosso conteúdo

Gostaria de receber de forma gratuita mais conteúdos sobre este ou outros assuntos? Preencha o formulário abaixo e receba nosso conteúdo gratuito!

Parabéns!

Você receberá nosso conteúdo em breve!

Atenção

Tivemos um problema com seu formulário, tente novamente.