Francisco Candeias

fcec

Data Analytics Engineer - Xpand IT

Framework de BI: a importância de estruturar os pipelines de dados

ESTE ARTIGO EM 5 SEGUNDOS:
  • Existem alguns passos para uma framework funcionar bem;
  • São eles: Ingestão, Processamento, Azure DevOps e Monitorização.

Hoje em dia, a maior parte das empresas têm necessidades relacionadas com dados. A forma como esses dados são tratados e geridos têm muitos processos que, a certo ponto, podem sobrecarregar a capacidade de trabalho. Às vezes, enquanto trabalham com dados, os seus colaboradores, especialmente developers, vêem-se a desenvolver os mesmos processos ou pipelines de dados para diferentes projetos. É, por isso, que a necessidade de uma estrutura como uma framework é tão importante.

Com ela, é possível ter processos padrão de forma a que possa controlar e monitorizar melhor todos os pipelines de dados. Esta abordagem ajuda a estabelecer as melhores práticas e evita tornar data lakes em data swamps, enquanto mantém lógicas de negócio independentes e específicas para cada pipeline,  o que quer dizer que poderá lidar com cada data set de forma única e retirar o máximo partido.

Existem alguns passos para uma framework trabalhar bem. Descubra quais:

Ingestão

A ingestão de dados é uma etapa crucial em qualquer pipeline de processamento de dados e deve ser replicada várias vezes para reunir todos os dados necessários. Ao usar uma framework bem projetada para garantir que os dados sejam extraídos com eficiência de várias fontes e carregados no armazenamento de dados de destino, pode garantir que sabe sempre quantas linhas foram importadas, onde os dados foram colocados e garantir que tem um processo conciso e robusto com um único ponto de mudança para lidar com mudanças futuras.

Normalmente, a framework de ingestão de dados extrai dados de diferentes fontes, como bancos de dados do SQL Server, ficheiros .csv, etc. que podem ser carregados no armazenamento em nuvem, como Azure Data Lake Storage (ADLS) Gen 2, por exemplo. Esta etapa é onde as conexões de fontes de dados são feitas e onde os dados são preparados para serem ingeridos num armazenamento. Além disso, é nesta etapa que é configurada a lógica de carregamento, seja full load ou incremental. Basicamente, significa que pode processar todos os dados sempre que houver uma execução ou processar apenas novos dados.

Manter os dados brutos no armazenamento significa que, para a próxima etapa, que é o processamento, todos os dados estarão disponíveis, mesmo que não sejam usados imediatamente, o que significa que mais tarde poderá aproveitar os campos não utilizados e obter um controlo de dados abrangente.

Processamento

Transformar dados em tabelas estruturadas é uma etapa crítica no processo analítico. Depois de o processo de ingestão de dados ter corrido, a próxima etapa é processar e transformar os dados numa estrutura que possa ser usada para fins analíticos para obter uma análise de dados eficaz.

Esses pipelines de dados funcionam para limpar e manter a qualidade dos dados, realizar cálculos, especialmente aqueles que mais precisa que, normalmente são KPIs, e, ao fazer isso, dar alertas se algo correr mal durante a execução do processo. Embora a maioria das transformações sejam específicas para o modelo de negócios que está a ser processado, há tarefas lógicas que serão recorrentes, como monitorizar a qualidade e a execução dos dados ou, até mesmo, excluir dados para reprocessamento.

Essas tarefas recorrentes podem ser padronizadas, permitindo que os engenheiros de dados encaixem facilmente qualquer lógica de negócio específica no processo.

Vamos usar o exemplo do Azure Synapse. Após a ingestão de dados, eles são acedidos usando tabelas externas que lêem a diretoria ADLS Gen2, onde os ficheiros para uma tabela específica são armazenados. Para processar e transformar dados, dois tipos de pipelines de processamento podem ser desenvolvidos:

  • um para criar dimensões;
  • outro para criar tabelas de factos.

Ambos os processos utilizam a ferramenta Data Flow do Synapse, que é uma ferramenta de transformação de dados baseada na cloud, que permite aos utilizadores criar e gerir operações de transformação de dados em larga escala.

Quando o fluxo de dados é concluído, o resultado é uma tabela SQL que é gravada no Synapse Dedicated Pool. Essas tabelas podem ser usadas para soluções de analytics, como dashboards de Power BI, que inclui uma ligação para o Synapse Dedicated Pool que permite aos utilizadores importar tabelas ou fazer consultas diretas.

processamento de tabela de factos

Exemplo simples de processamento de uma tabela de factos, utilizando um data flow

Azure DevOps

O Azure DevOps é um conjunto de tecnologias que oferece uma solução completa para desenvolvimento agile e DevOps. Este conjunto contém inúmeras tecnologias que podem auxiliar os developers na gestão de todo o processo de desenvolvimento, incluindo controlo de versões, integração contínua e entrega contínua. Independentemente da abordagem de desenvolvimento, aproveitar vários ambientes é uma prática recomendada reconhecida pelo setor. Isto garante que qualquer informação criada é minuciosamente avaliada, tanto tecnicamente quanto pelos business users, antes de ser tornada pública ou aplicada num contexto de produção.

Normalmente esses ambientes são Desenvolvimento, Testes ou Garantia de Qualidade (QA) e Produção. No ambiente de desenvolvimento, os engenheiros de dados desenvolvem e constroem pipelines. Quando esses pipelines estão num estado funcional e estável, eles são promovidos para o ambiente de QA, onde os oututs podem ser testados pelos utilizadores finais e/ou developers. Se nenhum desenvolvimento adicional for necessário, os pipelines podem ser enviados para Produção.

Embora os pipelines de dados sejam desenvolvidos de forma diferente do código, isso não significa que deve deixar DevOps de fora. Num workspace do Azure Synapse Analytics, a ferramenta de Integração Contínua/Entrega Contínua (CI/CD) move todas as entidades de um ambiente (desenvolvimento, QA, produção) para outro ambiente. Esses modelos serão usados para enviar os seus recursos para os ambientes de QA e Produção.

Esta abordagem oferece várias vantagens:

  • Em primeiro lugar, minimiza o impacto das alterações de outras equipas/developers;
  • Em segundo lugar, o tempo de inatividade e o risco são minimizados se o desenvolvimento e os testes forem feitos dentro de ambientes dedicados.
  • Por fim, a segurança e as permissões podem ser restritas a cada ambiente para reduzir o risco de erro humano, perda de dados e proteger dados confidenciais.

Monitorização

A monitorização é outra parte crucial da framework do Synapse e, para auxiliar essa área, existe a ferramenta Azure Monitor. Usando o Kusto Query Language (KQL), é possível consultar logs quase em tempo real e configurar alertas por e-mail que o administrador do espaço de trabalho Synapse receberá sempre que uma execução de pipeline falhar.

A framework também é capaz de armazenar os logs do Azure Monitor num contentor ADLS Gen2 para manter os dados históricos e consumi-los no Power BI e criar um relatório sobre esses logs. Os logs incluem estatísticas de execução e mensagens. As fases de ingestão e processamento da framework reúnem estatísticas funcionais de execução e guardam-nas também nos logs.

O Power BI é, então, usado para fazer análises ad hoc para entender, por exemplo, que pipelines podem demorar mais, se houve algum desvio nas linhas processadas ou outras estatísticas funcionais, qual deles falha com mais frequência, entender quando o dedicated pool está a atingir o limite de uso ou até criar combinações onde o número de linhas processadas é dividido pelo tempo para entender se o processo demorou mais que o normal.
Implementar o Azure Monitor, ajuda a minimizar riscos, melhorar a qualidade dos processos e garantir que os pipelines funcionam como o esperado.

Pensamentos finais

Ter uma framework para os seus pipelines de dados é realmente uma vantagem, pois fornece padronização e escalabilidade. Ter uma framework que executa todos os seus pipelines de dados torna todo o processo mais simples e eficiente porque os seus developers não precisam de perder tempo a definir propriedades para cada pipeline individualmente todas as vezes que mudam o seu ambiente de trabalho, por exemplo, de desenvolvimento para QA. Ter um lugar onde tudo corre dá mais controlo sobre a qualidade do processo, e dá mais poder para monitorizar tudo corretamente. Assim, quando surge um problema, os seus developers são alertados pela framework e podem verificar os logs necessários para entender o que aconteceu e resolver erros mais rapidamente.

Além disso, imagine ter de escalar todos os seus pipelines de dados um a um. Com a framework, poderá escalar todos de uma só vez, apenas alterando as propriedades da framework, em vez de alterar cada pipeline individualmente.

Francisco CandeiasFramework de BI: a importância de estruturar os pipelines de dados
read more

Porque deve integrar Power BI e Customer Insights

ESTE ARTIGO EM 5 SEGUNDOS:
  • Integrar Power BI e Customer Insights vai permitir ganhar uma vantagem competitiva para a sua empresa.
  • É possível segmentar clientes, obter insights do mercado e avaliar, de forma rápida e eficaz, se os seus produtos são relevantes no mercado.

Alguma vez pensou em como tirar melhor partido da análise dos seus clientes? Desde 2016, a Microsoft tem vindo a oferecer aos seus clientes o Dynamics 365, uma plataforma de software baseada na nuvem, e com inúmeras capacidades para satisfazer as necessidades dos mesmos. O Dynamics 365 tem uma gama de aplicações que cobrem áreas que vão desde finanças a vendas, marketing, gestão da cadeia de fornecimento, gestão de projetos, recursos humanos e muito mais. Estas podem ser combinadas para ajudar cada empresa a tornar-se mais poderosa e alcançar vantagens competitivas. Há muitos tópicos a discutir em relação ao Dynamics 365 e todas as suas funcionalidades, mas hoje vamos centrar a nossa atenção no Customer Insights e na capacidade de construir relatórios com base nos seus dados usando o Power BI. Portanto, sem mais demora, vamos começar por explicar o que é o Customer Insights:

1. Uma visão de 360º dos seus clientes

Quanto mais souber sobre os seus clientes, maior competitividade poderá ter, porque é capaz de lhes dar soluções mais ajustadas aos seus desejos e necessidades. Por isso sim, tal como o título diz, o Customer Insights (CI) contribui para potenciar a análise dos seus clientes.

Esta ferramenta permite-lhe, em primeiro lugar, recolher toda a informação dos seus clientes, e depois agregá-la usando os métodos de Machine Learning (ML) e Inteligência Artificial (IA). A ideia desta aplicação é dar-lhe a capacidade de unificar todos os dados dos clientes recolhidos pelos diferentes departamentos da empresa, criando um perfil único para evitar informação duplicada e data silos. Isto permite que os colaboradores de diferentes departamentos que interagem com os seus clientes possam personalizar a sua customer journey, ao mesmo tempo que conseguem um melhor envolvimento e aumentam o potencial de cross-selling ou up-selling de produtos, maximizando o seu tempo de vida útil.

O Customer Insights é muito flexível e capaz de importar dados de quase todas as fontes, o que lhe permite reunir todos os dados dos seus clientes no mesmo local, unificá-los e eliminar data silos. Além disso, com o Customer Insights é possível definir perfis de clientes com os quais pode seguir cada jornada do cliente.

2. Porque é que preciso do Customer Insight?/span>

Há muitas razões pelas quais deve experimentar o Customer Insights.

  1. Em primeiro lugar, porque é realmente muito intuitivo e fácil de usar, dando-lhe a capacidade de começar rapidamente a fazer perguntas sobre os dados que recolhe.

2. Em segundo lugar, porque pode segmentar os seus clientes por condições demográficas, transacionais ou comportamentais. Com estes segmentos pode personalizar os alvos para enviar promoções, eventos de vendas ou qualquer outro tipo de ação que seja passivo de utilizar uma segmentação. Para além disso, pode exportar esses mesmos segmentos como conjuntos de dados e utilizá-los noutras aplicações.

3. Em terceiro lugar, porque a capacidade de ver e identificar as tendências dos clientes, ou de prever mudanças no mercado, ajuda-o a antecipar-se aos seus concorrentes e a tomar decisões mais inteligentes, ao oferecer a melhor solução aos seus clientes. Além disso, pode exportar esses segmentos como conjuntos de dados e utilizá-los noutras aplicações.

4. Em quarto lugar, com o Customer Insights pode, ainda, obter insights do mercado que ajudem a definir ou melhorar os produtos e serviços que oferece. Isto permite-lhe antecipar as exigências do mercado e reunir os recursos para satisfazer as necessidades em mudança dos seus clientes. Esta adaptabilidade pode levar a sua empresa a um elevado nível de organização e eficiência.

5. Por último, e, talvez, um dos mais importantes, porque o Customer Insights permite-lhe obter feedback dos seus perfis de cliente sobre qualquer um dos seus produtos, comparando-o com os dados de produtos no Power BI, como veremos de seguida. Isto é de vital importância, porque pode avaliar rapidamente como a sua base de clientes avalia os seus produtos e que melhorias pretendem ver implementadas. É certo que talvez não possa satisfazer toda a gente, mas pode aproximar-se desse objetivo. A melhor maneira de descobrir aquilo que os seus clientes querem é ouvindo: quando um cliente se sente ouvido, mantém-se por perto.

3. Análises rápidas com o Power BI

O Power BI, como sabemos, é uma ferramenta onde um vasto número de fontes de dados se podem encontrar para preencher extensos dashboards, juntando conhecimentos de vários departamentos, mas especialmente preparados com a informação certa para a tomada de decisões. O Customer Insights é uma dessas fontes. Usando apenas o Customer Insights, pode concentrar-se minuciosamente nos seus clientes, mas combinado com o Power BI pode pegar na informação essencial do Customer Insights e cruzá-la com outras fontes de informação. Pode ter um dashboard no qual analisa a procura de um produto específico por parte dos clientes (dados do CI) e, ainda neste mesmo painel, ver qual é o orçamento aplicado para efeitos de marketing ou qual a estratégia utilizada para esse produto (dados provenientes do departamento de Marketing ou Finanças).

O nível de enriquecimento é grande, e se estiver a pensar “Porquê usar o Power BI para analisar os dados dos meus clientes, quando tenho o Customer Insights?”, pense no exemplo que demos anteriormente, que foi somente um exemplo básico. Imagine como é reunir informações de onde quiser e personalizar as suas análises como quiser. Esse é o poder do Power BI.

A forma como pode importar os dados dos seus clientes do Customer Insights para Power BI é usando um conetor built-in criado pela Microsoft. Depois disto, pode simplesmente criar relatórios e dashboards como normalmente faria com o Power BI.

Pensamentos Finais

É importante que saiba que o Customer Insights e o Power BI são duas ferramentas separadas. Enquanto os conhecimentos que obtém do Customer Insights podem potenciar o trabalho da sua equipa de Vendas, do departamento de Marketing e de todos os departamentos que se relacionam com os seus clientes, o Power BI potencia o trabalho dos seus líderes, ajudando-os a tomar decisões e a implementar estratégias. Quando combinadas, estas duas ferramentas tornam-se muito poderosas e o valor que pode obter delas é proporcional porque quanto mais escalar as suas análises, mais verá os respetivos benefícios.

Então, do que é que está à espera para se tornar mais competitivo ao implementar o Customer Insights na sua empresa e construir relatórios fantásticos, canalizando os dados que gera para o Power BI? Queremos que possa retirar conhecimento dos seus clientes para que possa preparar-se ainda melhor para as novas tendências de mercado.

Francisco CandeiasPorque deve integrar Power BI e Customer Insights
read more