Optymalizacja kampanii przy użyciu klastrów Azure HDInsight Spark

HDInsight

Pomysł rozwiązania Solution Idea

Jeśli chcesz się dowiedzieć, Rozszerz ten artykuł, aby uzyskać więcej informacji, szczegóły dotyczące implementacji, wskazówki dotyczące cen lub przykłady kodu, powiadom nas o opinii usługi 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!

W tym rozwiązaniu pokazano, jak utworzyć i wdrożyć model uczenia maszynowego za pomocą Microsoft R Server w klastrach Azure HDInsight Spark, aby zalecać działania w celu zmaksymalizowania stawki zakupu potencjalnych klientów objętych kampanią.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. To rozwiązanie umożliwia efektywną obsługę danych Big Data na platformie Spark z Microsoft R Server.This solution enables efficient handling of big data on Spark with Microsoft R Server.

ArchitekturaArchitecture

Diagram architektury Pobiera plik SVG z tej architektury.Architecture diagram Download an SVG of this architecture.

OpisDescription

To rozwiązanie spowoduje utworzenie klastra HDInisght Spark z Microsoft R Server.This solution will create an HDInisght Spark cluster with Microsoft R Server. Ten klaster będzie zawierać dwa węzły główne, dwa węzły procesu roboczego i jeden węzeł brzegowy z łączną liczbą rdzeni 32.This cluster will contain two head nodes, two worker nodes, and one edge node with a total of 32 cores. Przybliżony koszt tego klastra usługi HDInsight Spark to $8.29/godzina.The approximate cost for this HDInsight Spark cluster is $8.29/hour. Rozliczanie zaczyna się po utworzeniu klastra i zostaje zatrzymane po usunięciu klastra.Billing starts once a cluster is created and stops when the cluster is deleted. Opłaty są naliczane za minutę, więc jeśli klaster nie jest używany, należy go usunąć.Billing is pro-rated per minute, so you should always delete your cluster when it is no longer in use. Użyj strony wdrożenia, aby usunąć całe rozwiązanie po zakończeniu.Use the Deployments page to delete the entire solution once you are done.

OmówienieOverview

Gdy firma uruchamia kampanię marketingową dla klientów z zainteresowaniami w nowych lub istniejących produktach, często używają zestawu reguł biznesowych do wybierania potencjalnych klientów do celów kampanii.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. Usługi Machine Learning można użyć, aby zwiększyć częstotliwość odpowiedzi od tych potencjalnych klientów.Machine learning can be used to help increase the response rate from these leads. W tym rozwiązaniu pokazano, jak używać modelu do przewidywania działań, które są oczekiwane w celu zmaksymalizowania stawki zakupu potencjalnych klientów objętych kampanią.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. Przewidywania te pełnią rolę dla zaleceń, które mają być używane przez odnowioną kampanię na temat sposobu kontaktowania się (na przykład wiadomości e-mail, wiadomości SMS lub w przypadku połączeń zimnych) oraz czasu kontaktu (dzień tygodnia i dzień).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. Przedstawione tutaj rozwiązanie używa symulowanych danych z branży ubezpieczeniowej do modelowania odpowiedzi potencjalnych klientów do kampanii.The solution presented here uses simulated data from the insurance industry to model responses of the leads to the campaign. Predykcyjne modelu zawierają szczegóły demograficzne potencjalnych klientów, historyczną wydajność kampanii i szczegółowe informacje dotyczące produktów.The model predictors include demographic details of the leads, historical campaign performance, and product-specific details. Model przewiduje prawdopodobieństwo, że każdy potencjalny klient w bazie danych dokonuje zakupu z kanału na każdy dzień tygodnia o różnych porach dnia.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. Zalecenia dotyczące kanału, dnia tygodnia i godziny dnia, które mają być używane podczas określania docelowych użytkowników, są zależne od tego, czy w zależności od kanału i czasu, który model przewiduje, będzie miało największe prawdopodobieństwo dokonania zakupu.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.

Perspektywa biznesowaBusiness Perspective

To rozwiązanie wykorzystuje Uczenie maszynowe, wykorzystując historyczne dane kampanii do przewidywania odpowiedzi od klientów i zalecane, kiedy i jak nawiązać połączenie z potencjalnymi klientami.This solution employs machine learning leveraging historical campaign data to predict customer responses and recommend when and how to connect with your leads. Zalecenia obejmują najlepszy kanał kontaktu z potencjalnym klientem (w tym przykładzie adres e-mail, wiadomość SMS lub połączenie zimne), najlepszy dzień tygodnia i najlepszy dzień, w którym należy się skontaktować.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.

Microsoft R Server w klastrach usługi HDInsight Spark oferuje rozproszone i skalowalne możliwości uczenia maszynowego dla danych Big Data, wykorzystując łączną moc R Server i 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. W tym rozwiązaniu pokazano, jak opracowywać modele uczenia maszynowego na potrzeby optymalizacji kampanii marketingowej (w tym przetwarzanie danych, Inżynieria funkcji, szkolenia i ocenianie modeli), wdrażać modele jako usługę sieci Web (w węźle brzegowym) i korzystać z usługi sieci Web zdalnie za pomocą Microsoft R Server w klastrach 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. Ostateczne przewidywania i tabele rekomendacji są zapisywane w tabeli programu Hive zawierającej zalecenia dotyczące sposobu i czasu kontaktowania się z każdym potencjalnym klientem.The final predictions and recommendation table are saved to a Hive table containing recommendations for how and when to contact each lead. Te dane są następnie wizualizowane w Power BI.This data is then visualized in Power BI.

Power BI również prezentuje wizualne podsumowania skuteczności zaleceń dotyczących kampanii (pokazane tutaj z symulowanymi danymi).Power BI also presents visual summaries of the effectiveness of the campaign recommendations (shown here with simulated data). Możesz wypróbować ten pulpit nawigacyjny, klikając przycisk Wypróbuj teraz po prawej stronie.You can try out this dashboard by clicking the Try it Now button to the right.

Karta zalecenia tego pulpitu nawigacyjnego zawiera Polecane zalecenia.The Recommendations tab of this dashboard shows the predicted recommendations. U góry znajduje się tabela indywidualnych potencjalnych klientów dla nowego wdrożenia.At the top is a table of individual leads for our new deployment. Obejmuje to pola dla identyfikatora potencjalnego klienta, kampanii i produktu uzupełnione o potencjalni klienci, do których mają być stosowane nasze reguły biznesowe.This includes fields for the lead ID, campaign, and product, populated with leads on which our business rules are to be applied. Następuje to w przypadku prognoz dla potencjalnych klientów, co zapewnia optymalny kanał i czas kontaktu z każdym z nich oraz szacowane prawdopodobieństwa zakupu produktu przy użyciu tych zaleceń.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. Te prawdopodobieństwa można wykorzystać w celu zwiększenia wydajności kampanii przez ograniczenie liczby potencjalnych klientów, którzy skontaktowali się z podzbiorem, które najprawdopodobniej kupią.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.

Na karcie zalecenia znajdują się również różne podsumowania zaleceń i informacji demograficznych dotyczących potencjalnych klientów.Also on the Recommendations tab are various summaries of recommendations and demographic information on the leads. Karta Podsumowanie kampanii na pulpicie nawigacyjnym zawiera podsumowanie danych historycznych użytych do utworzenia polecanych zaleceń.The Campaign Summary tab of the dashboard shows summaries of the historical data used to create the predicted recommendations. Na tej karcie wyświetlane są również wartości dnia tygodnia, pory dnia i kanału, te wartości są rzeczywistymi ostatnimi spostrzeżeniami, nie należy mylić z zaleceniami z modelu, które są wyświetlane na karcie zalecenia.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.

Perspektywa Analityka danychData Scientist Perspective

To rozwiązanie przedstawia kompleksowy proces tworzenia i wdrażania modeli uczenia maszynowego na potrzeby optymalizacji kampanii marketingowej.This solution demonstrates the end-to-end process of how to develop and deploy machine learning models for marketing campaign optimization. Zawiera przykładowe dane, kod R dla każdego kroku tworzenia modelu (w tym przetwarzanie danych, Inżynieria funkcji, szkolenia i ocenianie modeli wraz z przykładowymi danymi), Wdrażanie modelu jako usługi sieci Web (w węźle brzegowym) i zdalne używanie usługi sieci Web w Microsoft R Server w klastrach 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.

Analityki danych, którzy testują to rozwiązanie, mogą współdziałać z dostarczonym kodem R z wersji typu open source w przeglądarce RStudio Server uruchomionej w węźle brzegowym klastra 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. Przez ustawienie kontekstu obliczeniowego użytkownik może zdecydować, gdzie będą wykonywane obliczenia: lokalnie w węźle brzegowym lub rozmieszczony w węzłach w klastrze 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. Cały kod R można również znaleźć w publicznym repozytorium GitHub.All the R code can also be found in public GitHub repository. Baw się dobrze!Have fun!