Kampanjoptimering med Azure HDInsight Spark kluster

HDInsight
Power BI

Lösningsidé

Om du vill att vi utökar den här artikeln med mer information, till exempel potentiella användningsfall, alternativa tjänster, implementeringsöverväganden eller prisvägledning, kan du berätta för oss GitHub Feedback!

Den här lösningsidéen beskriver hur du skapar och distribuerar en maskininlärningsmodell med Microsoft Machine Learning Server på Azure HDInsight Spark-kluster för att rekommendera åtgärder för att maximera köpfrekvensen för leads som är mål för en kampanj. Den här lösningen möjliggör effektiv hantering av stordata på Spark med Machine Learning Server.

Potentiella användningsfall

När ett företag startar en marknadsföringskampanj för att intressera kunder i nya eller befintliga produkter använder de ofta en uppsättning affärsregler för att välja leads som deras kampanj ska rikta in sig på. Maskininlärning kan användas för att öka svarsfrekvensen från dessa leads.

Den här lösningsidéen beskriver hur du använder en modell för att förutsäga åtgärder som förväntas maximera köpfrekvensen för leads som är mål för kampanjen. Dessa förutsägelser utgör grunden för rekommendationer som ska användas av en förnyad kampanj om hur du kontaktar (till exempel e-post, SMS eller kall samtal) och när du ska kontakta (veckodag och tid på dagen) de riktade leadsna.

Arkitektur

Arkitekturdiagram: Optimering av marknadsföringskampanjer med Microsoft Machine Learning Server.Ladda ned en SVG för den här arkitekturen.

Komponenter

Microsoft Machine Learning Server – Företagsprogram för datavetenskap, som tillhandahåller R- och Python-tolkar, basdistributioner av R och Python, andra högpresterande bibliotek från Microsoft och en operationaliseringsfunktion för avancerade distributionsscenarier.

Azure HDInsight – En hanterad analystjänst med fullständigt spektrum med öppen källkod i molnet för företag. Du kan använda ramverk baserade på öppen källkod, till exempel Hadoop, Apache Spark, Apache Hive, LLAP, Apache Kafka, Apache Storm, R med flera.

Affärsperspektiv

Den här lösningen använder maskininlärning med historiska kampanjdata för att förutsäga kundsvar och rekommendera när och hur du ska ansluta till dina leads. Rekommendationerna är den bästa kanalen för att kontakta ett lead (i vårt exempel e-post, SMS eller kallsamtal), den bästa dagen i veckan och den bästa tiden på dagen då kontakten ska kontaktas.

Microsoft Machine Learning Server på HDInsight Spark-kluster ger distribuerade och skalbara maskininlärningsfunktioner för stordata, vilket kombinerar kraften hos Machine Learning Server och Apache Spark. Den här lösningen visar hur du utvecklar maskininlärningsmodeller för optimering av marknadsföringskampanjer (inklusive databearbetning, funktionsutveckling, träning och utvärdering av modeller), distribuerar modellerna som en webbtjänst (på gränsnoden) och använder webbtjänsten via en fjärrlagring med Microsoft Machine Learning Server i Azure HDInsight Spark-kluster. Den slutliga förutsägelse- och rekommendationstabellen sparas i en Hive-tabell som innehåller rekommendationer för hur och när du ska kontakta varje lead. Dessa data visualiseras sedan i Power BI. Power BI ger visuella sammanfattningar av hur effektiva kampanjrekommendationerna är.

Fliken Rekommendationer den här instrumentpanelen visar de förutsagda rekommendationerna. Längst upp på instrumentpanelen finns en tabell med enskilda leads för vår nya distribution. Tabellen innehåller fält för lead-ID, kampanj och produkt, ifyllda med leads som våra affärsregler ska tillämpas på. De här fälten följs av modellförutsägelser för leads, vilket ger optimal kanal och tid att kontakta var och en, tillsammans med de uppskattade sannolikheterna för att leads kommer att köpa vår produkt med hjälp av dessa rekommendationer. Dessa sannolikheter kan användas för att öka effektiviteten i kampanjen genom att begränsa antalet leads som kontaktas till den delmängd som mest sannolikt köper.

På fliken Rekommendationer finns också olika sammanfattningar av rekommendationer och demografisk information om leads. Fliken Kampanjsammanfattning på instrumentpanelen visar sammanfattningar av historiska data som används för att skapa förutsagda rekommendationer. Även om den här fliken även visar värden för Dag i veckan, Tid på dagen och Kanal, är dessa värden faktiska tidigare observationer, som inte ska förväxlas med rekommendationerna från modellen, som visas på fliken Rekommendationer.

Perspektiv för dataforskare

Den här lösningen visar hela processen för hur du utvecklar och distribuerar maskininlärningsmodeller för optimering av marknadsföringskampanjer. Den innehåller exempeldata, R-kod för varje steg för att skapa modellen (inklusive databearbetning, funktionsutveckling, träning och utvärdering av modeller tillsammans med exempeldata), distribution av modellen som en webbtjänst (på gränsnoden) och användning av webbtjänsten via fjärrkörning med Microsoft Machine Learning Server i Azure HDInsight Spark-kluster.

Dataexperter som testar den här lösningen kan arbeta med den tillhandahållna R-koden från den webbläsarbaserade Open Source Edition av RStudio Server som körs på gränsnoden i Azure HDInsight Spark klustret. Genom att ange beräkningskontexten kan användarna bestämma var beräkningen ska utföras: lokalt på gränsnoden eller distribueras mellan noderna i Spark-klustret. All R-kod finns också på den offentliga GitHub lagringsplatsen.

Distribuera det här scenariot

Kampanjoptimeringsdatabasen GitHub är en implementering av den här lösningsidéen. Lagringsplatsens kod använder simulerade data från försäkringsbranschen för att modellera svar från leads till kampanjen. Modellfördiktorerna innehåller demografisk information om leads, historiska kampanjresultat och produktspecifik information. Modellen förutsäger sannolikheten att varje lead i databasen gör ett köp från en kanal, på varje dag i veckan vid olika tidpunkter på dagen. Rekommendationer vilken kanal, veckodag och tid på dagen som användarna ska använda baserat på kanalen och tidskombinationen som modellen förutsäger har den högsta sannolikheten att ett köp görs.

Prissättning

Den här lösningen skapar ett HDInsight Spark-kluster med Microsoft Machine Learning Server. Det här klustret innehåller två huvudnoder, två arbetsnoder och en kantnod med totalt 32 kärnor. Den ungefärliga kostnaden för det här HDInsight Spark-klustret kan beräknas med Priskalkylatorn för Azure. Faktureringen startar när ett kluster har skapats och stoppas när klustret tas bort. Debiteringen görs i förväg per minut, så du ska alltid ta bort ditt kluster när det inte används. Använd sidan Distributioner för att ta bort hela lösningen när du är klar.

Nästa steg

Läs andra Azure Architecture Center artiklar:

Läs mer och prova lite kod: