Otimização de campanha com clusters de faíscas Azure HDInsight

HDInsight

Ideia de solução Solution Idea

Se quiser ver-nos expandir este artigo com mais informações, detalhes de implementação, orientação de preços ou exemplos de código, informe-nos com o Feedback do GitHub!If you'd like to see us expand this article with more information, implementation details, pricing guidance, or code examples, let us know with GitHub Feedback!

Esta solução demonstra como construir e implementar um modelo de machine learning com o Microsoft R Server nos clusters Azure HDInsight Spark para recomendar ações para maximizar a taxa de compra de leads visadas por uma campanha.This solution demonstrates how to build and deploy a machine learning model with Microsoft R Server on Azure HDInsight Spark clusters to recommend actions to maximize the purchase rate of leads targeted by a campaign. Esta solução permite um manuseamento eficiente de big data em Spark com o Microsoft R Server.This solution enables efficient handling of big data on Spark with Microsoft R Server.

ArquiteturaArchitecture

Diagrama de arquitetura Descarregue um SVG desta arquitetura.Architecture diagram Download an SVG of this architecture.

DescriçãoDescription

Esta solução criará um cluster HDInisght Spark com o Microsoft R Server.This solution will create an HDInisght Spark cluster with Microsoft R Server. Este cluster conterá dois nós de cabeça, dois nós operários e um nó de borda com um total de 32 núcleos.This cluster will contain two head nodes, two worker nodes, and one edge node with a total of 32 cores. O custo aproximado deste cluster HDInsight Spark é $8.29/hora.The approximate cost for this HDInsight Spark cluster is $8.29/hour. A faturação começa assim que um cluster é criado e para quando o cluster é eliminado.Billing starts once a cluster is created and stops when the cluster is deleted. A faturação é rateada por minuto, pelo que deve sempre eliminar o cluster quando deixar de ser utilizado.Billing is pro-rated per minute, so you should always delete your cluster when it is no longer in use. Utilize a página Implementações para eliminar toda a solução uma vez terminada.Use the Deployments page to delete the entire solution once you are done.

Descrição geralOverview

Quando uma empresa lança uma campanha de marketing para interessar os clientes em produtos novos ou existentes, eles frequentemente usam um conjunto de regras de negócio para selecionar pistas para a sua campanha a visar.When a business launches a marketing campaign to interest customers in new or existing product(s), they often use a set of business rules to select leads for their campaign to target. O machine learning pode ser usado para ajudar a aumentar a taxa de resposta destes cabos.Machine learning can be used to help increase the response rate from these leads. Esta solução demonstra como usar um modelo para prever ações que se espera que maximizem a taxa de compra de leads visadas pela campanha.This solution demonstrates how to use a model to predict actions that are expected to maximize the purchase rate of leads targeted by the campaign. Estas previsões servem de base para que as recomendações sejam utilizadas por uma campanha renovada sobre como contactar (por exemplo, e-mail, SMS ou chamada a frio) e quando contactar (dia de semana e hora do dia) os condutores visados.These predictions serve as the basis for recommendations to be used by a renewed campaign on how to contact (for example, e-mail, SMS, or cold call) and when to contact (day of week and time of day) the targeted leads. A solução aqui apresentada utiliza dados simulados da indústria seguradora para modelar respostas dos condutores da campanha.The solution presented here uses simulated data from the insurance industry to model responses of the leads to the campaign. Os preditores do modelo incluem detalhes demográficos dos leads, desempenho histórico da campanha e detalhes específicos do produto.The model predictors include demographic details of the leads, historical campaign performance, and product-specific details. O modelo prevê a probabilidade de cada chumbo na base de dados fazer uma compra a partir de um canal, em cada dia da semana em várias horas do dia.The model predicts the probability that each lead in the database makes a purchase from a channel, on each day of the week at various times of day. Recomendações em que canal, dia da semana e hora do dia para usar ao direcionar os utilizadores são baseados então na combinação de canais e tempo que o modelo prevê terão a maior probabilidade de uma compra ser feita.Recommendations on which channel, day of week and time of day to use when targeting users are based then on the channel and timing combination that the model predicts will have the highest probability a purchase being made.

Perspetiva de NegóciosBusiness Perspective

Esta solução emprega machine learning aproveitando dados históricos da campanha para prever as respostas do cliente e recomendar quando e como se conectar com os seus leads.This solution employs machine learning leveraging historical campaign data to predict customer responses and recommend when and how to connect with your leads. As recomendações incluem o melhor canal para contactar uma pista (no nosso exemplo, e-mail, SMS ou chamada a frio), o melhor dia da semana e a melhor hora do dia para fazer o contato.The recommendations include the best channel to contact a lead (in our example, email, SMS, or cold call), the best day of the week and the best time of day in which to make the contact.

O Microsoft R Server em clusters HDInsight Spark fornece capacidades de aprendizagem automática distribuídas e escaláveis para big data, aproveitando a potência combinada de R Server e Apache Spark.Microsoft R Server on HDInsight Spark clusters provides distributed and scalable machine learning capabilities for big data, leveraging the combined power of R Server and Apache Spark. Esta solução demonstra como desenvolver modelos de machine learning para otimização de campanhas de marketing (incluindo processamento de dados, engenharia de recursos, formação e avaliação de modelos), implementar os modelos como um serviço web (no nó de borda) e consumir o serviço web remotamente com o Microsoft R Server em clusters Azure HDInsight Spark.This solution demonstrates how to develop machine learning models for marketing campaign optimization (including data processing, feature engineering, training and evaluating models), deploy the models as a web service (on the edge node) and consume the web service remotely with Microsoft R Server on Azure HDInsight Spark clusters. As previsões finais e a tabela de recomendações são guardadas numa tabela de Colmeias contendo recomendações sobre como e quando contactar cada chumbo.The final predictions and recommendation table are saved to a Hive table containing recommendations for how and when to contact each lead. Estes dados são então visualizados no Power BI.This data is then visualized in Power BI.

O Power BI apresenta também resumos visuais da eficácia das recomendações da campanha (mostradas aqui com dados simulados).Power BI also presents visual summaries of the effectiveness of the campaign recommendations (shown here with simulated data). Pode experimentar este dashboard clicando no botão Try it Now para a direita.You can try out this dashboard by clicking the Try it Now button to the right.

O separador recomendações deste painel mostra as recomendações previstas.The Recommendations tab of this dashboard shows the predicted recommendations. No topo está uma tabela de pistas individuais para a nossa nova implantação.At the top is a table of individual leads for our new deployment. Isto inclui campos para o ID, campanha e produto de chumbo, povoados com pistas sobre as quais as nossas regras de negócio devem ser aplicadas.This includes fields for the lead ID, campaign, and product, populated with leads on which our business rules are to be applied. Isto é seguido pelas previsões do modelo para os leads, dando o canal e tempo ideal para contactar cada um, juntamente com as probabilidades estimadas de que os leads comprarão o nosso produto usando estas recomendações.This is followed by the model predictions for the leads, giving the optimal channel and time to contact each one, along with the estimated probabilities that the leads will buy our product using these recommendations. Estas probabilidades podem ser usadas para aumentar a eficiência da campanha, limitando o número de leads contactados ao subconjunto mais propenso a comprar.These probabilities can be used to increase the efficiency of the campaign by limiting the number of leads contacted to the subset most likely to buy.

Também no separador Recomendações estão vários resumos de recomendações e informações demográficas sobre os condutores.Also on the Recommendations tab are various summaries of recommendations and demographic information on the leads. O separador Resumo da Campanha do painel de instrumentos mostra resumos dos dados históricos utilizados para criar as recomendações previstas.The Campaign Summary tab of the dashboard shows summaries of the historical data used to create the predicted recommendations. Embora este separador também mostre valores de Dia da Semana, Hora do Dia e Canal, estes valores são observações passadas reais, não sendo confundidos com as recomendações do modelo, mostradas no separador Recomendações.While this tab also shows values of Day of Week, Time of Day, and Channel, these values are actual past observations, not to be confused with the recommendations from the model, shown on the Recommendations tab.

Perspetiva do Cientista de DadosData Scientist Perspective

Esta solução demonstra o processo de ponta a ponta de como desenvolver e implementar modelos de machine learning para otimização de campanhas de marketing.This solution demonstrates the end-to-end process of how to develop and deploy machine learning models for marketing campaign optimization. Contém dados de amostra, código R para cada passo de construção do modelo (incluindo processamento de dados, engenharia de recursos, formação e avaliação de modelos juntamente com dados de amostra), implantando o modelo como um serviço web (no nó de borda) e consumindo o serviço web remotamente com o Microsoft R Server em clusters Azure HDInsight Spark.It contains sample data, R code for each step of building the model (including data processing, feature engineering, training and evaluating models along with sample data), deploying the model as a web service (on the edge node) and consuming the web service remotely with Microsoft R Server on Azure HDInsight Spark clusters.

Os cientistas de dados que estão a testar esta solução podem trabalhar com o código R fornecido a partir do Open Source Edition do RStudio Server baseado no navegador que funciona no nó de borda do cluster Azure HDInsight Spark.Data scientists who are testing this solution can work with the provided R code from the browser-based Open Source Edition of RStudio Server that runs on the Edge Node of the Azure HDInsight Spark cluster. Ao definir o contexto computacional, o utilizador pode decidir onde o cálculo será realizado localmente no nó de borda, ou distribuído pelos nós do cluster Spark.By setting the compute context the user can decide where the computation will be performed: locally on the edge node, or distributed across the nodes in the Spark cluster. Todo o código R também pode ser encontrado no repositório público do GitHub.All the R code can also be found in public GitHub repository. Divirta-se!Have fun!