Optimalisatie van campagnes met Azure HDInsight Spark clusters

HDInsight
Power BI

Oplossingsidee

Als u wilt dat we dit artikel uitbreiden met meer informatie, zoals mogelijke use cases, alternatieve services, implementatieoverwegingen of prijsinformatie, laat het ons dan weten met GitHub Feedback!

In dit oplossingsidee wordt beschreven hoe u een machine learning-model met Microsoft Machine Learning Server op Azure HDInsight Spark-clusters bouwt en implementeert om acties aan te bevelen om het aankooppercentage te maximaliseren van leads waarop een campagne is gericht. Deze oplossing maakt een efficiënte verwerking van big data in Spark met Machine Learning Server.

Wanneer een bedrijf een marketingcampagne start om klanten te interesseren voor nieuwe of bestaande producten, gebruiken ze vaak een set bedrijfsregels om leads te selecteren voor hun campagne. Machine learning kan worden gebruikt om de reactiesnelheid van deze leads te verhogen. In dit oplossingsidee wordt beschreven hoe u een model gebruikt om acties te voorspellen die naar verwachting het aankooppercentage maximaliseren van leads waarop de campagne is gericht. Deze voorspellingen fungeren als basis voor aanbevelingen die door een vernieuwde campagne moeten worden gebruikt voor het contact opnemen met de beoogde leads (bijvoorbeeld via e-mail, sms of koude oproep) en wanneer contact moet worden opgenomen (dag van de week en tijdstip van de dag).

De optimalisatie van GitHub is een implementatie van dit oplossingsidee. De code van de repo maakt gebruik van gesimuleerde gegevens van de verzekeringsbranche om reacties van de leads naar de campagne te modelleren. De modelvoorspellers bevatten demografische gegevens van de leads, historische campagneprestaties en productspecifieke details. Het model voorspelt de waarschijnlijkheid dat elke lead in de database een aankoop doet vanuit een kanaal, op elke dag van de week op verschillende tijdstippen van de dag. Aanbevelingen op welk kanaal, de dag van de week en het tijdstip van de dag dat moet worden gebruikt bij het targeten van gebruikers, worden gebaseerd op de combinatie van kanaal en timing die het model voorspelt, heeft de hoogste waarschijnlijkheid dat een aankoop wordt gedaan.

Architectuur

Architectuurdiagram: Optimalisatie van marketingcampagne met Microsoft Machine Learning Server. Download een SVG van deze architectuur.

Onderdelen

Microsoft Machine Learning Server: bedrijfssoftware voor gegevenswetenschap, met R- en Python-interpreters, basisdistributies van R en Python, andere krachtige bibliotheken van Microsoft en een functionaliteit voor operationele implementatie voor geavanceerde implementatiescenario's.

Azure HDInsight: een beheerde, zeer spectrum aan opensource-analyseservice in de cloud voor ondernemingen. U kunt populaire opensourcekaders zoals Hadoop, Apache Spark, Apache Hive, LLAP, Apache Kafka, Apache Storm, R, enzovoort gebruiken.

Bedrijfsperspectief

Deze oplossing maakt gebruik machine learning met historische campagnegegevens om reacties van klanten te voorspellen en aan te bevelen wanneer en hoe u verbinding kunt maken met uw leads. De aanbevelingen omvatten het beste kanaal om contact op te nemen met een lead (in ons voorbeeld e-mail, sms of koude oproep), de beste dag van de week en het beste tijdstip waarop de contactpersoon moet worden opgenomen.

Microsoft Machine Learning Server in HDInsight Spark-clusters biedt gedistribueerde en schaalbare machine learning-mogelijkheden voor big data, waarbij de kracht van Machine Learning Server en Apache Spark. Deze oplossing laat zien hoe u machine learning-modellen ontwikkelt voor optimalisatie van marketingcampagne (inclusief gegevensverwerking, feature engineering, trainen en evalueren van modellen), de modellen implementeert als een webservice (op het edge-knooppunt) en de webservice op afstand gebruikt met Microsoft Machine Learning Server op Azure HDInsight Spark-clusters. De uiteindelijke voorspellings- en aanbevelingstabel worden opgeslagen in een Hive-tabel met aanbevelingen voor hoe en wanneer contact moet worden opgenomen met elke lead. Deze gegevens worden vervolgens gevisualiseerd in Power BI. Power BI geeft visuele samenvattingen van de effectiviteit van de aanbevelingen voor campagnes.

Op Aanbevelingen tabblad Van dit dashboard worden de voorspelde aanbevelingen weergegeven. Bovenaan het dashboard ziet u een tabel met afzonderlijke leads voor onze nieuwe implementatie. De tabel bevat velden voor de lead-id, campagne en product, gevuld met leads waarop onze bedrijfsregels moeten worden toegepast. Deze velden worden gevolgd door de modelvoorspellingen voor de leads, waardoor het optimale kanaal en de tijd worden gegeven om contact met elke leads op te nemen, samen met de geschatte waarschijnlijkheid dat de leads ons product kopen met behulp van deze aanbevelingen. Deze waarschijnlijkheden kunnen worden gebruikt om de efficiëntie van de campagne te verhogen door het aantal leads waarmee contact wordt opgenomen te beperken tot de subset die het meest waarschijnlijk zal kopen.

Op het tabblad Aanbevelingen vindt u ook verschillende samenvattingen van aanbevelingen en demografische informatie over de leads. Op het tabblad Campagneoverzicht van het dashboard worden samenvattingen weergegeven van de historische gegevens die zijn gebruikt om de voorspelde aanbevelingen te maken. Hoewel dit tabblad ook waarden bevat voor Dag van de week, Tijd van de dag en Kanaal, zijn deze waarden werkelijke eerdere waarnemingen, niet te verwarrend met de aanbevelingen van het model, die worden weergegeven op het Aanbevelingen tabblad.

Data scientist-perspectief

Deze oplossing demonstreert het end-to-end-proces van het ontwikkelen en implementeren van machine learning voor optimalisatie van marketingcampagne. Het bevat voorbeeldgegevens, R-code voor elke stap van het bouwen van het model (inclusief gegevensverwerking, feature engineering, het trainen en evalueren van modellen samen met voorbeeldgegevens), het implementeren van het model als een webservice (op het edge-knooppunt) en het op afstand gebruiken van de webservice met Microsoft Machine Learning Server op Azure HDInsight Spark-clusters.

Gegevenswetenschappers die deze oplossing testen, kunnen werken met de opgegeven R-code van de op de browser gebaseerde Open Source Edition van RStudio Server die wordt uitgevoerd op het Edge-knooppunt van het Azure HDInsight Spark cluster. Door de compute-context in te stellen, kunnen gebruikers bepalen waar de berekening wordt uitgevoerd: lokaal op het edge-knooppunt of gedistribueerd over de knooppunten in het Spark-cluster. Alle R-code is ook te vinden in de openbare GitHub opslagplaats. Veel plezier!

Kostenoverwegingen

Met deze oplossing wordt een HDInsight Spark-cluster met Microsoft Machine Learning Server. Dit cluster bevat twee hoofdknooppunten, twee werkknooppunten en één edge-knooppunt met in totaal 32 kernen. De geschatte kosten voor dit HDInsight Spark-cluster kunnen worden geschat met de Azure-prijscalculator. Facturering begint zodra een cluster is gemaakt en stopt wanneer het cluster wordt verwijderd. De facturering wordt pro-rato per minuut berekend, dus u moet altijd uw cluster verwijderen wanneer het niet meer wordt gebruikt. Gebruik de pagina Implementaties om de hele oplossing te verwijderen zodra u klaar bent.

Volgende stappen

Lees andere Azure Architecture Center artikelen:

Meer informatie en code uitproberen: