Ir para o conteúdo

Ciência de Dados: o fluxo de trabalho em um exemplo prático

6 min. de leitura

Avatar de Erik Dutzig

Erik Dutzig Autor


Aqui apresento um complemento do artigo Ciência de Dados:  O que é e porque é importante, onde apresentei uma visão geral sobre o que é Ciência de Dados.

Para mostrar um exemplo mais concreto de aplicação, vamos acompanhar o processo de solução de um problema de negócio (em situações hipotéticas) com dados reais da CWI.

Todo o projeto de ciência de dados, por mais simples que seja, segue um fluxo básico que deve ser respeitado, onde cada etapa é crucial.

Podemos dividir em 6 etapas essenciais, como mostrado abaixo.

Imagem ilustrativa com as etapas essenciais de um projeto de ciência de dados. As etapas serão explicadas abaixo.

Entendimento do problema de negócio

Entenda as regras de negócio e saiba muito bem o que se quer resolver, defina o objetivo. Não subestime esta etapa, pois é o passo vital em um projeto de ciência de dados. A frase “pegue esses dados e veja o que descobre” é a receita para o fracasso.

Coleta de Dados

Agora precisamos do combustível para as próximas engrenagens girar. Coletamos dados que podem nos ajudar a resolver o problema de negócio definido. Geralmente, quanto mais dados, melhor!

Análise Exploratória de Dados

É aqui onde provavelmente você gastará mais tempo. A qualidade das entradas determina a qualidade das saídas, ou seja, a qualidade de nossos dados determinará a qualidade das respostas que acharemos para o problema de negócio. Na análise exploratória dos dados, nós os conhecemos com mais intimidade e, muitas vezes, precisamos realizar limpezas e transformações para adequar a qualidade. Nesse processo já é possível a geração de alguns insights de negócio.

Modelagem

Finalmente, o trabalho glamuroso! É aqui que utilizamos técnicas de Machine Learning, Deep Learning, entre outras ferramentas malucas. O resultado desta etapa é, em geral, algum algoritmo/modelo matemático que será capaz de representar os dados do negócio e, consequentemente, realizar previsões.

Interpretação

Agora juntamos tudo, conhecimento sobre o negócio, insights gerados pela análise dos dados e o modelo que os representa. Interpretamos de forma holística para entender de maneira clara o que os nossos achados representam no mundo real, assim como, usando o modelo criado, prever o que ocorrerá e quais ações devem ser tomadas para conquistar os resultados esperados no negócio.

Comunicação/ Produção

Todo o conhecimento que adquirimos durante esse processo deve ser transmitido, principalmente, às tomadoras de decisões, afim de que essas decisões sejam baseadas nesse conhecimento e, consequentemente, sejam mais eficientes. Geralmente, tais pessoas não possuem, e nem precisam possuir, os conhecimentos para interpretar os achados na sua linguagem bruta (técnica), então devemos comunicar o que descobrimos de forma intuitiva e clara, utilizando técnicas de visualização de dados, por exemplo.

Se tivermos criado algum modelo a ser usado em alguma aplicação, como um sistema de recomendação ou previsão de alguma métrica em tempo real, o time de desenvolvimento deverá se envolver para que esse modelo seja aplicado em produção.

Mãos na massa

Com dados reais da CWI e criando algumas situações hipotéticas, agora vamos ver um exemplo bem simples, passando pelos passos básicos para resolver um problema de negócio utilizando Ciência de Dados.

Passo 1 – Entendimento do problema de negócio

A Digital House tem algumas metas relacionadas aos seus objetivos e estratégias de marketing para este ano. Uma dessas metas é o aumento de usuários acessando o site da CWI. Logo, vamos utilizar os dados para auxiliar o time da DH a atingir essa meta.

Passo 2 – Coleta de dados

Temos dados que podem nos ajudar com isso? Sim!

Utilizando os dados do Google Analytics do nosso site, vamos baixar os dados de usuários por dia.

Passo 3 – Análise exploratória dos dados

Para trabalhar com esses dados usei python, que é a linguagem mais usada em ciência de dados (entrarei nesse tema em outros artigos). Aqui focaremos no processo.

Temos 214 linhas, com dados de data e usuários, ambos int64 e nenhum valor nulo!

Imagem com linha de código de programação em tela preta com caracteres brancos.

Notem que a coluna ga:date está no formato numérico e não de data, e esse número representa a concatenação do ano, mês e dia, nessa ordem. Parece ok, cada linha representa um dia, exatamente o que queremos.

Imagem com 3 colunas indicando: distribuição de dados de usuários e o formato numéricos representando ano, mês e dia.

Abaixo, vemos que a distribuição dos dados de usuários parece ok, nenhum valor incoerente. Por exemplo, um valor máximo de milhões, neste caso, poderia apontar algum problema na consistência dos dados!

Imagem com 2 colunas em fundo preto com caracteres brancos. Na primeira coluna vemos números de ga : users e na segunda, ga : date

O histograma também nos ajuda e enxergar isso!

Em seguida, uma plotagem rápida também ajuda a verificar a coerência dos dados. Um pico no final, mas parece tudo certo!

E mais, já notamos que o comportamento é cíclico, interessante…

Image contendo um gráfico com um comportamento cíclico de altos e baixos.

Passo 4 – Modelagem

Pare resolver nosso problema de negócio, vamos tentar criar um modelo capaz de prever como serão as visitas ao site para os próximos 7 dias, assim o time da DH poderá se antecipar a possíveis quedas e tomar ações para mitiga-las, antes que aconteçam.

Algo que pode nos ajudar com isso é o emprego de uma rede neural recorrente (RNN), do tipo LSTM (Long short-term memory). Não se precipite, abordarei redes neurais em artigos futuros.

Passo 5 – interpretação

Com a rede neural criada, treinada e otimizada, agora vamos pegar tudo e analisar.

O que descobrimos?

  • Descobrimos que as visitas ao site são cíclicas e que houve um pico após o dia 25;
  • Os mínimos desses ciclos são em finais de semana;
  • O aumento expressivo após o dia 25 ocorreu, muito provavelmente, em virtude da campanha lançada nesse dia. Isso indica que os acessos ao site respondem às campanhas;
  • A rede neural nos deu a capacidade de prever o comportamento de visitas no site sempre para os próximos 7 dias;
  • Ao saber como serão as visitas nos próximos 7 dias, podemos nos antecipar para evitar quedas. Por sabermos que campanhas impactam positivamente nas visitas, detectando que ocorrerá uma queda, uma campanha pode ser disparada. Dessa forma, reduzimos custos e aumentamos a eficiência em campanhas, visto que somente serão disparadas quando for realmente necessário, contribuindo, é claro, para a meta de aumento de usuários no site.

Passo 6 – Comunicação / Produção

Vamos comunicar nossos achados de forma condensada nesse gráfico:

Imagem com um gráfico representando o comportamento dos usuários no site CWI e seu formato cíclico. Percebemos nele um aumento de 164% após a campanha lançada no dia 27/7. 
A previsão até dia 09/08 é que a média se mantenha 10%% maior.

Para utilizar o modelo de previsão para os próximos 7 dias, podemos criar um dashboard no Power BI, por exemplo, conectando com os dados do Google Analytics do nosso site.

Uma característica do Power BI é a possibilidade de incorporar scripts python nos dashboards. Como usamos python para criar nosso modelo, podemos incorporar ele nessa visualização que criamos no Power BI.

Então, teremos uma visualização para acompanhamento dos usuários no site, com uma projeção em tempo real para os próximos 7 dias, possibilitando a DH identificar quedas com antecedência e tomar medidas como, conforme os dados sugerem, disparar uma nova campanha.

Conclusão

Conhecemos o processo básico utilizado em ciência de dados, aplicando dados reais para resolver um problema de negócio.

Em alguns casos, quando temos um modelo de machine learning rodando em produção, também será necessário acompanhar a eficiência desse modelo com o passar do tempo e realizar ajustes no mesmo, se necessário.

Se voltarmos ao artigo O que é Ciência de Dados veremos que usamos as três grandes áreas de Ciência de Dados para resolver o problema. Além disso, fomos capazes de responder o que acontecerá (análise preditiva) e o que deve ser feito (análise prescritiva), que são duas principais perguntas que a Ciência de Dados responde. Adicionalmente, também respondemos o que aconteceu (análise descritiva) e por que aconteceu (análise diagnóstica), que são questões mais relacionadas a análise de dados e BI, mas que eventualmente podemos responder dentro do processo de Ciência de Dados.

Sugestões de conteúdo extra

Ciência de Dados: O que é e porque é importante

Projetos da NASA que envolvem Ciência de Dados

Sobre o processo de ETL (Extract, transform, load)

Sobre a rede neural que usei no exemplo (conteúdo mais avançado)

Um pouco mais sobre o fluxo de trabalho em Ciência de Dados

Gostou?