Optymalizowanie kampanii przy użyciu programu SQL Server

Maszyny wirtualne Data Science Virtual Machine
Virtual Machines

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 z SQL Server 2016 przy użyciu usług R Services w celu zaproponowania działań w celu zmaksymalizowania stawki zakupu potencjalnych klientów będących celem kampanii.This solution demonstrates how to build and deploy a machine learning model with SQL Server 2016 with R Services to recommend actions to maximize the purchase rate of leads targeted by a campaign.

ArchitekturaArchitecture

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

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.

Rozwiązanie do optymalizacji kampanii marketingowej firmy Microsoft to kombinacja modelu przewidywania uczenia maszynowego i interaktywnego narzędzia do wizualizacji usługi Power BI.The Microsoft Marketing Campaign Optimization solution is a combination of a Machine learning prediction model and an interactive visualization tool, PowerBI. To rozwiązanie służy do zwiększenia współczynnika reakcji do kampanii przez zaproponowanie kanału do kontaktu (na przykład wiadomości e-mail, wiadomości SMS lub w przypadku połączeń zimnych), a także czasu, w którym należy się skontaktować (dzień tygodnia i dzień dnia) potencjalni klienci do użycia w nowej kampanii.The solution is used to increase the response rate to a campaign by recommending the channel to contact (for example, e-mail, SMS, or cold call) as well as when to contact (day of week and time of day) targeted leads for use in a new campaign. Rozwiązanie korzysta z symulowanych danych, które można łatwo skonfigurować do używania danych organizacji w celu modelowania odpowiedzi na kampanię pozyskiwania.The solution uses simulated data, which can easily be configured to use your own organization's data, to model the acquisition campaign response. Model używa predykcyjnych, takich jak demograficzne, historyczna wydajność kampanii i szczegółowe informacje o produkcie.The model uses predictors such as demographics, historical campaign performance and product details. Rozwiązanie przewiduje prawdopodobieństwo konwersji potencjalnych klientów z każdego kanału, w różnych porach dnia i dni tygodnia, dla każdego potencjalnego klienta w bazie danych.The solution predicts the probability of a lead conversion from each channel, at various times of the day and days of the week, for every lead in the database. Ostateczne zalecenie dla każdego potencjalnego klienta jest określane na podstawie kombinacji kanału, dnia tygodnia i godziny dnia z największym prawdopodobieństwem konwersji.The final recommendation for targeting each lead is decided based upon the combination of channel, day of week and time of day with the highest probability of conversion. Rozwiązanie zostało modelowane po ustandaryzowanym procesie nauki o danych, w którym Przygotowywanie danych, szkolenia i ocenianie modeli mogą być łatwo wykonywane przez analityka danych, a informacje wizualizowane i skorelowane ze wskaźnikami KPI przez marketing za pośrednictwem wizualizacji Power BI.The solution has been modeled after a standardized data science process, where the data preparation, model training and evaluation can be easily done by a data scientist and the insights visualized and correlated to KPIs by marketing via Power BI visualization.

Perspektywa programu Business ManagerBusiness Manager Perspective

Ten szablon rozwiązania używa (symulowanych) danych historycznych do przewidywania, jak i kiedy należy skontaktować się z potencjalnymi klientami w ramach kampanii.This solution template uses (simulated) historical data to predict how and when to contact leads for your campaign. 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.

SQL Server R Services umożliwia wykonywanie obliczeń na danych przez umożliwienie języka R do uruchamiania na tym samym komputerze, na którym znajduje się baza danych.SQL Server R Services brings the compute to the data by allowing R to run on the same computer as the database. Obejmuje ona usługę bazy danych, która uruchamia proces outside'the SQL Server i komunikuje się bezpiecznie ze środowiskiem uruchomieniowym języka R.It includes a database service that runs outside'the SQL Server process and communicates securely with the R runtime.

Ten pakiet rozwiązania pokazuje, jak tworzyć i ulepszać dane, uczeniować modele języka R oraz przeprowadzać przewidywania na maszynie SQL Serverowej.This solution packet shows how to create and refine data, train R models, and perform predictions on the SQL Server machine. Tabela przewidywania końcowe w SQL Server zawiera zalecenia dotyczące sposobu i czasu kontaktowania się z każdym potencjalnym klientem.The final predictions table in SQL Server provides 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 link Wypróbuj teraz.You can try out this dashboard by clicking the Try it Now link.

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 Identyfikator potencjalnego klienta, kampanię i produkt 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, zapewniając optymalny kanał i czas, aby skontaktować się z każdym z nich, a następnie szacowane prawdopodobieństwa, że potencjalni klienci kupią produkt 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, and then 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 podanymi 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 shown on the Recommendations tab.

Perspektywa Analityka danychData Scientist Perspective

SQL Server R Services przeniesie obliczenia do danych przez uruchomienie języka R na komputerze hostującym bazę danych.SQL Server R Services brings the compute to the data by running R on the computer that hosts the database. Obejmuje ona usługę bazy danych, która działa poza procesem SQL Server i komunikuje się bezpiecznie ze środowiskiem uruchomieniowym języka R.It includes a database service that runs outside the SQL Server process and communicates securely with the R runtime.

W tym rozwiązaniu przedstawiono kroki umożliwiające tworzenie i udoskonalanie danych, uczenie modeli R i wykonywanie oceniania na maszynie SQL Serverowej.This solution walks through the steps to create and refine data, train R models, and perform scoring on the SQL Server machine. Końcowa tabela bazy danych z ocenami w SQL Server zawiera zalecenia dotyczące sposobu i czasu kontaktowania się z każdym potencjalnym klientem.The final scored database table in SQL Server gives the recommendations for how and when to contact each lead. Te dane są następnie wizualizowane w usłudze Power BI, która zawiera również podsumowanie sukcesu zaleceń użytych w nowej kampanii po jej zakończeniu.This data is then visualized in PowerBI, which also contains a summary of the success of the recommendations used in your new campaign after it has completed. (W tym szablonie pokazano symulowane dane w celu zilustrowania tej funkcji).(Simulated data is shown in this template to illustrate the feature.)

Analityki danych, którzy są testami i opracowują rozwiązania, mogą współpracować z wygodą swojego środowiska IDE języka R na komputerze klienckim, podczas wypychania obliczeń do maszyny SQL Server.Data scientists who are testing and developing solutions can work from the convenience of their R IDE on their client machine, while pushing the compute to the SQL Server machine. Ukończone rozwiązania są wdrażane w SQL Server 2016 przez osadzenie wywołań do języka R w procedurach składowanych.The completed solutions are deployed to SQL Server 2016 by embedding calls to R in stored procedures. Rozwiązania te można następnie zautomatyzować za pomocą SQL Server Integration Services i SQL Server agenta.These solutions can then be further automated with SQL Server Integration Services and SQL Server agent.

Kliknij przycisk Wdróż, aby przetestować automatyzację, a całe rozwiązanie zostanie udostępnione w ramach subskrypcji platformy Azure.Click on the Deploy button to test the automation and the entire solution will be made available in your Azure subscription.

CennikPricing

W ramach subskrypcji platformy Azure używanej w ramach wdrożenia będą naliczane opłaty za użycie usług używanych w tym rozwiązaniu, około $1.15/godzinę dla domyślnej maszyny wirtualnej.Your Azure subscription used for the deployment will incur consumption charges on the services used in this solution, approximately $1.15/hour for the default VM.

Upewnij się, że wystąpienie maszyny wirtualnej zostało zatrzymane, gdy nie korzystasz aktywnie z rozwiązania.Please ensure that you stop your VM instance when not actively using the solution. Uruchomienie maszyny wirtualnej spowoduje naliczenie wyższych kosztów.Running the VM will incur higher costs.

Usuń rozwiązanie, jeśli nie jest używane.Please delete the solution if you are not using it.