12 Janeiro 2018

Data Mining (Microsoft Analysis Services) e a sua utilidade 10 anos depois

Introdução

Nos passados 20 a 30 anos, as soluções de Business Intelligence têm vindo a evoluir de forma a suportar alterações tecnológicas e necessidades de negócio, com foco na performance e usabilidade. Por outro lado, conceitos e metodologias, não sofreram muitas alterações, que tem contado recentemente com um crescimento do interesse por “Big Data”.

A Microsoft lançou a plataforma cloud Azure Machine Learning (ML) em 2014 que tem tido grande sucesso nos últimos anos. Permitiu a integração da linguagem usada para computação estatística “R”, criada em 1976 pela Bell Labs, na versão mais recente do SQL Server (2016).

Data Mining (Analysis Services) foi lançado com o SQL Server 2005 e apesar de ser uma solução distinta do Azure ML, ambas partilham algo, comum visto que aplicam os algoritmos estatísticos mais usados para colmatar problemas/necessidades.

Se olharmos para a janela temporal estes lançamentos parecem bastante espalhados. Parece que Data Mining (Analysis Services) ficou um pouco à parte (sem alterações desde o SQL Server 2008), talvez por ter nascido cedo demais. Foi lançado numa altura em que a preocupação/investimento da maioria das empresas ainda era na qualidade de dados e na estabilização dos seus Data Warehouses para suporte a análises descritivas.

Uma das grandes diferenças entre o Azure ML e Data Mining (Analysis Services) é que o último não opera na cloud e, portanto, poderá ser a única alternativa para empresas que não pretendem enviar dados para fora da sua rede interna. Apesar da linguagem “R” ter sido integrada no SQL Server 2016, ainda existe uma grande curva de aprendizagem para a implementar corretamente em soluções.

Caso de Negócio

Um negócio XYZ, faz contratos de venda de produtos a outras entidades/clientes (B2B). Estes contratos têm uma janela temporal para os produtos contratados serem levantados, o que causa um problema para otimização logística.

Exemplo: XYZ faz um contrato com um cliente para vender 1000 unidades que podem ser levantadas do armazém da empresa XYZ desde o 1º dia até ao 31º dia do mês. O cliente é que decide se levanta as unidades na Totalidade ou Parcialmente e quando o faz, dentro da janela temporal. A margem de lucro da empresa XYZ é afetada consoante o armazém esteja cheio ou mais vazio a um dado momento e por isso é crucial ter um maior conhecimento sobre o comportamento dos seus clientes.

Vários algoritmos foram aplicados a um conjunto de dados previamente tratado do Data Warehouse da XYZ, criando um modelo no Visual Studio / Data Tools antes de fazer o deployment para o Analysis Services.

Um ou vários algoritmos podem ser escolhidos por Tipo (Classificação, Regressão, Segmentação, Associação, Sequência) ou por Tarefa, como neste caso, “Prever um atributo discreto”.
O Analysis Services permite cruzar vários algoritmos, validá-los e testá-los. Para este tipo de tarefa foram usados os seguintes algoritmos: Decision Tree – Clustering – Neural Network

 

 

O algoritmo Decision Tree e Neural Network tiveram um melhor resultado na validação para prever levantamentos “Totais” ou “Parciais” de produtos por parte de um cliente.

Os modelos de Analysis Services podem ser depois explorados através do Excel dando insights aos analistas.

 

O analista vai perceber que, olhando para a árvore de decisão, um cliente especifico normalmente (91.13% das vezes) levanta um produto X “Totalmente” e não “Parcialmente”. Estes tipos de insights vão ajudar a prever futuros contractos e otimizar a cadeia de logística.

O Analysis Services também permite queries diretas ao modelo de mining, sendo que esses outputs podem ser depois transformados e aplicados a outros conjuntos de dados do Data Warehouse. Neste caso, para reporting atual de Contratos da empresa XYZ iríamos ter colunas adicionais com previsões das suas probabilidades de levantamento sejam “Totais” ou “Parciais” ainda antes de os levantamentos reais terem acontecido.

 

Conclusão

Data Mining (Analysis Services) não voltou a sofrer atualizações desde o SQL Server 2008, mas isso não torna a solução obsoleta, pelo contrário, ainda é uma solução boa e viável para a maioria de análises preditivas que uma empresa necessita. Também, por fazer parte do stack de Business Intelligence da Microsoft, a integração destas análises para quem já usa este tipo de ferramentas é facilitada: uma decisão fácil para negócios que sejam “anti-cloud”.

.
.
.
.
.
.
.
   André Correia
Senior Consultant