Qualidade e Observabilidade de dados na americanas s.a.

Ligia Yoshida
6 min readFeb 18, 2022

Co-author Giovanna Arraes

Introdução

Como contamos nesse post, o time de plataforma de dados, a bee, é responsável por cuidar da plataforma de dados da americanas s.a, que armazena os dados gerados na companhia e os disponibiliza para análise dos usuários — análises estas que transformam nossos dados em informações que orientam as vendas, estratégias de marca e muitas outras decisões do negócio. Com o crescente número de usuários na plataforma e com uma cultura cada vez mais data-driven, entendemos que é necessário garantir que estamos entregando dados confiáveis e coerentes para os consumidores. Nesse post, vamos falar sobre nossa jornada para solucionar este desafio.

Cenário

Parte da nossa função como responsáveis pela plataforma inclui fazer a ingestão dos dados de outros sistemas e aplicar os tratamentos necessários para que estes dados possam ser consumidos pelos usuários. Quem desenvolve e cuida desses fluxos é o time de engenharia, que conta com monitorias para acompanhar a saúde dos pipelines. Estas monitorias, no entanto, permitem apenas a observação da saúde dos componentes que compõem o fluxo de dados, o que não é suficiente quando falamos da integridade do conteúdo. Uma evidência é o alto volume de chamados referentes a inconsistências nas tabelas mesmo quando atuamos nos alertas gerados. Isto foi um pontapé inicial para identificarmos algumas questões que gostaríamos de tratar:

  • A falta de definição de estratégias que tratam da qualidade do conteúdo;
  • A carga operacional gerada pela demanda de correções;
  • Postura reativa na identificação e resolução de problemas.

A ferramenta

Para trazer a iniciativa para prática, fomos em busca de uma ferramenta que combinasse ambos os conceitos de qualidade e observabilidade no âmbito de conteúdo dos dados. Esta busca foi orientada pelo que entendemos ser essencial para que uma solução integre a nossa arquitetura: uma ferramenta escalável, open source, self service e aderente à nossa stack. A Soda atendeu a todos esses requisitos.

Falando brevemente sobre a solução, a Soda é uma ferramenta de observabilidade que permite o diagnóstico e o gerenciamento de incidentes de forma colaborativa. Ela conta com dois componentes integrados: o Soda SQL, uma ferramenta de linha de comando que prepara consultas em SQL para identificar dados inválidos, ausentes ou inesperados; e o Soda Cloud, interface gráfica para desenvolvimento e monitoramento dos resultados dos testes.

A vantagem de possuirmos ambos os componentes é que conseguimos democratizar o acesso à solução. Para os times que não têm nenhum ou têm algum conhecimento básico de manipulação de dados, podemos disponibilizar o Soda Cloud para desenvolvimento de testes enquanto o Soda SQL atende os times mais técnicos. Assim, estamos provendo a solução que melhor atende os nossos usuários, de acordo com as suas habilidades.

É claro que todos esses pontos são muito interessantes e que foram verdadeiros decision-makers, mas precisávamos experimentar: para isso, aplicamos provas de conceito para validar as hipóteses que levantamos dentro do nosso cenário e, com os resultados, decidimos pela adoção da Soda como solução viabilizadora da iniciativa de Qualidade de Conteúdo.

Ficou curioso para saber como funciona? Contaremos com mais detalhes em um próximo post.

Nosso processo

Com a ferramenta definida, precisávamos estabelecer como seguiríamos com a sua aplicação, o que nos levou a criação de uma base de conhecimento com políticas, padrões e processos que direcionassem sobre o que, quem, por quê, quando, onde e como (5W1H) devem ser feitas cada uma das atividades relacionadas a qualidade de dados. O time de dados se baseou em frameworks como o Data Management Body of Knowledge (DAMA DMBOK), Cloud Data Management Capabilities (CDMC), entre outros para definir quatro frentes principais de atuação, foram elas:

Frentes de Qualidade de Dados — Visão de Governança

Como colocamos em prática?

O nosso primeiro ato foi priorizar os casos de uso que seriam implementados. Eles foram definidos a partir da seleção dos ativos que compõem os processos críticos da organização. Em seguida, com o propósito de direcionar o desenvolvimento dos casos de uso, elaboramos o Framework de Qualidade de Dados. O framework contém todos os passos necessários para que o processo de monitoramento seja feito de forma eficiente e que os problemas sejam identificadas nos estágios primários, permitindo que medidas de melhoria e correção sejam tomadas de forma ativa — o que diminui o impacto nos processos downstream e reduz o data downtime (períodos de tempo em que os dados se encontram de forma parcial, ausentes ou imprecisos).

Framework de Qualidade de dados

Na prática, o Framework funciona assim:

1. Mapeamento de elementos-chave e Catalogação de dados

O primeiro passo é identificar os elementos básicos que darão suporte às demais etapas do framework. Para isso, precisamos determinar qual será o escopo atendido, quem serão os stakeholders, quais serão as tabelas e as métricas estabelecidas e promover a catalogação dos dados.

2. Implementação das regras na ferramenta

Com os elementos básicos definidos, é hora de implementar as métricas nas tabelas que fazem parte do escopo. Nesta etapa, escaneamos as tabelas para identificar oportunidades de melhoria nas métricas e validar os alertas gerados. Também deve ser feita a documentação dos monitores implementados para que se tenha uma definição clara do que deve ser feito em caso de falha e quem será o responsável pela atuação.

3. Scan e avaliação

Concluída a implementação e parametrização das métricas, dos alertas e do workflow, os resultados do scan são gerados e os alertas direcionados para avaliação dos responsáveis, que podem ou não abrir um incidente dependendo se o erro é ou não passível de correção.

4. Correção e re-validação de métricas

Os incidentes são um indicativo de que os times responsáveis devem atuar na correção dos dados identificados. Em paralelo, os Data owners e Data stewards devem avaliar se os scores para as métricas, regras de negócio e definições ainda refletem a realidade dos dados e realizar ajustes quando necessário — isto inclui atualizar o Catálogo de Dados com os novos parâmetros.

5. Resultados

Após a rodada de avaliação, é importante acompanhar a evolução dos incidentes identificados em cada tabela, bem como a evolução do Data downtime para o escopo. Através das avaliações, podemos identificar possíveis pontos de melhoria, a necessidade de manutenção ou a criação de novos monitores.

Melhoria contínua

A melhoria contínua de qualidade é um processo que permeia todo o framework e engloba as ações de acompanhamento dos aspectos que tangenciam a qualidade de dados da organização mas não estão necessariamente vinculadas ao conteúdo dos dados, por exemplo, a qualidade dos processos.

Entre elas, estão:

  1. Coleta feedback do consumidores quanto aos dados e novas necessidades;
  2. Acompanhamento dos chamados abertos relacionados a qualidade de dados;
  3. Reavaliação dos scores dos Requisitos de Qualidade;
  4. Reavaliação dos Catálogo de Dados;
  5. Reavaliação do processo de ingestão e tratamento de dados

Aculturamento e comunicação

Além de todas as atividades de Qualidade de Conteúdo que mencionamos, outra iniciativa que consideramos de extrema importância é o aculturamento e engajamento do time. Para isso, criamos uma campanha de qualidade de dados em que semanalmente são compartilhadas pílulas do conhecimento, manuais, notícias e outras publicações relacionadas ao tema, além da realização de talks. Tudo isso com o objetivo de disseminar o conhecimento e manter os times informados.

Assim, criamos consciência sobre a importância da qualidade de dados, o papel de cada um dentro do tema e como a qualidade de dados pode e deve ser incluída dentro das atividades do dia-a-dia. Somente através da sensibilização coletiva conseguimos promover um ambiente em que não somente o conteúdo dos dados estão saudáveis, mas também todos os processos e metadados da plataforma. Isto cria maior confiança dos times, autonomia na utilização e viabiliza a descoberta dos dados e a democratização do conhecimento.

Conclusão

Com o constante crescimento da americanas s.a. e sua cultura cada vez mais data-driven, as expectativas sobre a plataforma de dados se tornaram maiores e por isso, contar com dados confiáveis nunca foi tão importante. Foi visando este aspecto que a iniciativa de Qualidade de Dados se mostrou tão necessária. Com a sua evolução, conseguimos ter uma visão mais aprofundada da saúde dos nossos dados, bem como a possibilidade de atuar em possíveis problemas de forma ativa, evitando impactos aos consumidores e diminuindo o número de incidentes. Em adicional, criamos documentações de governança e iniciamos o aculturamento e engajamento dos times sobre qualidade de dados. Tudo isso visando o atingimento da maturidade no assunto.

Como você pode perceber, as nossas iniciativas de qualidade de dados estão voando, mas não pense que é só isso, ainda existe muito trabalho a ser feito! Se você tem interesse em nos ajudar a definir um novo patamar para qualidade de dados, dê uma olhada nas vagas abertas e venha fazer parte do nosso time ❤️

--

--