Relevant met behulp van machine learning

Relevant met behulp van machine learning

22 oktober 2018 - 5 minuten
Gekleurde balk

Als je aandacht wilt krijgen van een consument dan is relevantie noodzakelijk. Dat gaat zeker op bij e-mailmarketing. Innovaties kunnen daarbij goede diensten bewijzen. Wat zijn de mogelijkheden van machine learning voor e-mailmarketingcampagnes en op welke manier kun je ermee starten? Hoe ga je het toepassen en wat zijn de randvoorwaarden?

Relevantie is steeds belangrijker bij marketingcampagnes en al helemaal in het geval van e-mailmarketing. Want als e-mails onvoldoende relevant zijn, schrijven mensen zichzelf uit, openen ze aparte e-mailaccounts voor nieuwsbrieven of negeren ze ongelezen mails in hun inbox. Wees daarom relevant in je e-mails. Verstuur minder berichten, maar zorg dat de e-mails je verstuurt aansluiten bij de wens van de klant. Innovatieve technieken als machine learning kunnen daarbij behulpzaam zijn.

Als technologiebedrijf moet je onderzoek doen naar nieuwe ontwikkelingen. Daarom werken we bij Basedriver aan de manier waarop je campagnes kunt verbeteren met machine learning. We hebben gegevens van zo’n 100.000.000 verzonden e-mailberichten en we geloven dat het met behulp van deze gegevens en machine learning algoritmes mogelijk is om marketeers te helpen betere campagnes te maken.

De aanpak
Het plan in het kort: we zetten een machine learning server neer die we voeden met historie van campagnes, abonnementen, producten, gedrag en profielen. Aan dit systeem kunnen we vervolgens vragen stellen in de vorm van machine learning algoritmes. De antwoorden leveren we terug, zodat marketeers ze kunnen gebruiken bij het maken van campagnes.

De volgende stap is het definiëren van de vragen die we het systeem gaan stellen. Hierbij hebben we vooral gekeken naar praktische toepassingen die direct invloed hebben op het resultaat. Op basis van dit onderzoek zijn we uitgekomen op drie relevante vragen.

1. Wat is voor een ontvanger het beste moment om een e-mail te krijgen?

Elke campagne heeft een verzendmoment. Op een bepaald moment kies je er als marketeer voor om je campagne te versturen. Vaak wordt er goed nagedacht over het beste moment, maar we zien ook dat het verzendmoment bepaald wordt door de dagelijkse praktijk; de trein die verlaat is of de teammeeting die uitloopt. Al eerder hebben we testen gedaan waarbij we klanten een e-mail verzonden op ongeveer hetzelfde tijdstip als dat waarop ze de vorige e-mail geopend hebben. Dit leverde al zo’n 10 procent meer geopende mails op. Met machine learning willen we nog wat verder gaan. We vragen het algoritme te berekenen wat per persoon per campagne het beste verzendmoment is. Als marketeer geef je een eerste en een laatste verzendmoment aan, het systeem bepaalt vervolgens welk moment daarbinnen voor de ontvanger het beste past.

2. Welk volgend product of abonnement kun je het beste aanbieden?

Veel organisaties hebben al methoden om klanten een volgend product of abonnement aan te bieden. Met name abonnementsbedrijven zijn heel ver in het berekenen van next best offers. Het bepalen van het beste volgende aanbod is echter zeer kennisintensief en daarom moeilijk bij te houden. Bij veel bedrijven blijft het daarom beperkt tot handmatige lijstjes, producten uit een aanpalende categorie of lijsten die periodiek bijgewerkt worden. Een goed machine learning algoritme kan automatisch bepalen wat op een bepaald moment het meest kansrijke volgende product is, gebaseerd op aankoophistorie, wederom klikgedrag en natuurlijk het aankoopgedrag van de andere profielen in de database.

3. In welke content is iemand geïnteresseerd?

Als je een nieuwsbrief ontvangt over fietsen, ben je dan meer geïnteresseerd in racefietsen of in mountainbiken? Hoe herken je dat en blijft die interesse gedurende lange tijd hetzelfde? Vaak blijken systemen voor contentinteresse gebaseerd op vrij simpele regels. Meer dan vijf keer klikken op een artikel over racefietsen en je ontvangt nooit meer iets anders. Met machine learning kan het antwoord op een dergelijke vraag veel intelligenter beantwoord worden. Misschien hangt de contentinteresse ook wel af van de woonplaats. Of heeft het te maken met het abonnement dat je eerder hebt afgesloten. Misschien is leeftijd wel relevant? Als het lukt om een betere voorspelling te doen over de interesse van een klant, dan kun je dus ook veel relevantere aanbiedingen versturen.

Randvoorwaarden
Het klinkt natuurlijk te mooi om waar te zijn, volledig geautomatiseerde inzichten die direct tot jouw beschikking staan. Misschien is het dat ook wel. Er is namelijk wel een aantal randvoorwaarden waaraan voldaan moet worden om succesvol te zijn.

Performance
Ten eerste moet het systeem een beetje snel zijn. We verwerken enorme hoeveelheden data en die moeten makkelijk toegankelijk zijn voor marketeers.

Privacy
Alle data in de machine learning applicatie zijn anoniem. We willen inzichten verzame- len, echter de meest persoonlijke informatie houden we zoveel mogelijk op één plek.

Bruikbaarheid
De inzichten moeten aan bestaande systemen toegevoegd kunnen worden, zonder dat die systemen helemaal op de schop moeten. Anders heb je wel inzichten, maar worden ze niet gebruikt.

Resultaat
Dit is de belangrijkste randvoorwaarde. Campagnes die gebaseerd zijn op inzichten uit machine learning, moeten aantoonbaar beter resultaat opleveren
in de vorm van openen/clicks/verkopen of klanttevredenheid. Om dat te onderbouwen gaan we begin volgend jaar een aantal A/B-testen uitvoeren op basis van inzicht.

Conclusie

Het klinkt wellicht als ver weg, maar voor veel marketingteams zijn bovenstaande oplossingen dichterbij dan je zou denken. Ik hoop dat dit je inspireert om zelf met deze technologie aan de slag te gaan, want hoe relevanter we marketing maken, hoe waardevoller onze campagnes worden.

Over Basedriver

Gekleurde balk

Basedriver is een digitaal marketing platform waarin content, data en campagnes bij elkaar komen. We zorgen ervoor dat B2B en B2C bedrijven hun content aan de juiste klant aanbieden door middel van persoonlijke nieuwsbrieven en e-mail marketing campagnes.

Basedriver staat voor:

  • Een eenvoudige user interface met geautomatiseerde business ruling die zorgt dat marketeers zelfstandig kunnen werken met content, campagnes en data;
  • Kwalitatieve marketing data door automatisch bounce management, actieve checks op datakwaliteit en koppelingen met meer dan 2.000 apps en sites;
  • Een persoonlijke contact- en content planning die het mogelijk maakt om automatisch de juiste content aan de juiste ontvanger aan te bieden.

Met Basedriver vergroot je je marketing database, verstuur je relevantere campagnes, haal je meer rendement uit content én genereer je meer klanten.

 

[fluentform id="19"]
<div class='fluentform fluentform_wrapper_19'> <style id="fluentform_custom_css_19" type="text/css"> /*input style*/ .fluent_form_17 frm-fluent-form{ margin-bottom: 10px; } .fluent_form_17 .ff-el-input--content{ padding: 6px 12px; /*change padding*/ background-color: #fff; /*change background color*/ border: 1px solid #ced4da; /*change border width and color*/ border-radius: 10px; /*change corner round/ border radius*/ margin-bottom: 10px; } .fluent_form_17 .ff-el-form-control{ padding: 6px 12px; /*change padding*/ background-color: #fff; /*change background color*/ border: 1px solid #ced4da; /*change border width and color*/ border-radius: 10px; /*change corner round/ border radius*/ margin-bottom: 10px; } </style> <style id="fluentform_styler_css_19" type="text/css"> .fluentform_wrapper_19{ margin: px; } .fluentform_wrapper_19{ padding: px; } .fluentform_wrapper_19 .ff-el-input--content input, .fluentform_wrapper_19 .ff-el-input--content textarea, .fluentform_wrapper_19 .ff-el-input--content select, .fluentform_wrapper_19 .choices__list--single, .fluentform_wrapper_19 .choices[data-type*='select-multiple'] { color: rgba(21, 49, 88, 1);border-style: solid;border-color: rgba(245, 137, 68, 1);border-width: 1px;border-radius: 10px; } .fluentform_wrapper_19 .frm-fluent-form .choices__list--dropdown { border-style: solid;border-color: rgba(245, 137, 68, 1);border-width: 1px;border-radius: 10px; } .fluentform_wrapper_19 .ff_submit_btn_wrapper .ff-btn-submit { background-color: rgba(245, 137, 68, 1);color: rgba(21, 49, 88, 1);padding: px;margin: px; } </style> <form data-form_id="19" id="fluentform_19" class="frm-fluent-form fluent_form_19 ff-el-form-top ff_form_instance_19_2 ff-form-loading" data-form_instance="ff_form_instance_19_2" method="POST" > <span style="display: none !important;"><input type="checkbox" name="item__19__fluent_checkme_" value="1" style="display:none !important;" tabindex="-1"></span> <input type='hidden' name='__fluent_form_embded_post_id' value='288' /><input type="hidden" id="_fluentform_19_fluentformnonce" name="_fluentform_19_fluentformnonce" value="54171810f3" /><input type="hidden" name="_wp_http_referer" value="/ontwikkeling/relevant-met-behulp-van-machine-learning/" /><div data-type="name-element" data-name="FirstName" class=" ff-field_container ff-name-field-wrapper" ><div class='ff-t-container'><div class='ff-t-cell '><div class='ff-el-group ff-el-form-hide_label'><div class='ff-el-input--label ff-el-is-required asterisk-right'><label for='ff_19_FirstName_last_name_'>Voornaam</label> </div><div class='ff-el-input--content'><input type="text" name="FirstName[last_name]" id="ff_19_FirstName_last_name_" class="ff-el-form-control" placeholder="Voornaam" ></div></div></div></div></div><div class='ff-el-group' data-name="custom_html-19_1" ><br /></div><div data-type="name-element" data-name="LastName" class=" ff-field_container ff-name-field-wrapper" ><div class='ff-t-container'><div class='ff-t-cell '><div class='ff-el-group ff-el-form-hide_label'><div class='ff-el-input--label ff-el-is-required asterisk-right'><label for='ff_19_LastName_last_name_'>Achternaam</label> </div><div class='ff-el-input--content'><input type="text" name="LastName[last_name]" id="ff_19_LastName_last_name_" class="ff-el-form-control" placeholder="Achternaam" ></div></div></div></div></div><div class='ff-el-group' data-name="custom_html-19_2" ><br /></div><div class='ff-el-group ff-el-form-hide_label'><div class='ff-el-input--label ff-el-is-required asterisk-right'><label for='ff_19_Mailaddress'>E-mail</label> </div><div class='ff-el-input--content'><input type="email" name="Mailaddress" id="ff_19_Mailaddress" class="ff-el-form-control" placeholder="E-mail Adres" data-name="Mailaddress" ></div></div><div class='ff-el-group' data-name="custom_html-19_3" ><br /></div><div class='ff-el-group ff-el-form-hide_label'><div class='ff-el-input--label asterisk-right'><label for='ff_19_Company'>Bedrijfsnaam</label> </div><div class='ff-el-input--content'><input type="text" name="Company" class="ff-el-form-control" placeholder="Bedrijfsnaam" data-name="Company" id="ff_19_Company" ></div></div><div class='ff-el-group' data-name="custom_html-19_4" ><br /></div><div class='ff-el-group ff-el-form-hide_label'><div class='ff-el-input--content'><div class='ff-el-form-check ff-el-form-check-'><label class='ff-el-form-check-label' for=input_checkbox_m0tavp_1_63a46785deb6bf644449c2d5baa140cf><input type="checkbox" name="input_checkbox_m0tavp_1[]" data-name="input_checkbox_m0tavp_1" class="ff-el-form-check-input ff-el-form-check-checkbox" value="Ja, ik wil wil meer weten over Basedriver en geef toestemming mijn gegevens veilig op te slaan, conform onze &lt;a href=&quot;https://basedriver.com/privacyverklaring/&quot;&gt;Privacy verklaring&lt;/a&gt;." id='input_checkbox_m0tavp_1_63a46785deb6bf644449c2d5baa140cf'> <span>Ja, ik wil wil meer weten over Basedriver en geef toestemming mijn gegevens veilig op te slaan, conform onze <a href="https://basedriver.com/privacyverklaring/">Privacy verklaring</a>.</span></label></div></div></div><div class='ff-el-group' data-name="custom_html-19_5" ><br /></div><div class='ff-el-group' data-name="custom_html-19_6" ><br /></div><input type="hidden" name="optRouteToAdd" value="SubscriptionFormNewsLetterAPI" data-name="optRouteToAdd" ><input type="hidden" name="attribute" value="2021 webinar omzetkansen" data-name="attribute" ><input type="hidden" name="campaignId" value="52" data-name="campaignId" ><input type="hidden" name="contactmomentId" value="11" data-name="contactmomentId" ><input type="hidden" name="FormName" value="OptinMonster_webinar_omzetkansen" data-name="FormName" ><input type="hidden" name="marketingLabelShortCode" value="BD" data-name="marketingLabelShortCode" ><input type="hidden" name="okForOptCodes" value="N" data-name="okForOptCodes" ><input type="hidden" name="conditions" value="Ja, ik wil wil meer weten over Basedriver en geef toestemming mijn gegevens veilig op te slaan, conform onze privacy verklaring." data-name="conditions" ><div class='ff-el-group ff-text-right ff_submit_btn_wrapper'><button type="submit" class="ff-btn ff-btn-submit ff-btn-md ff_btn_style" >Nu verzenden</button><style>form.fluent_form_19 .ff-btn-submit { background-color: #409EFF; color: #ffffff; }</style></div></form><div id='fluentform_19_errors' class='ff-errors-in-stack ff_form_instance_19_2 ff-form-loading_errors ff_form_instance_19_2_errors'></div></div> <script type="text/javascript"> window.fluent_form_ff_form_instance_19_2 = {"id":"19","settings":{"layout":{"labelPlacement":"top","helpMessagePlacement":"with_label","errorMessagePlacement":"inline"},"id":"95","restrictions":{"denyEmptySubmission":{"enabled":false}}},"form_instance":"ff_form_instance_19_2","form_id_selector":"fluentform_19","rules":{"FirstName[last_name]":{"required":{"value":true,"message":"Dit veld is verplicht"}},"LastName[last_name]":{"required":{"value":true,"message":"Dit veld is verplicht"}},"Mailaddress":{"required":{"value":true,"message":"Dit veld is verplicht!"},"email":{"value":true,"message":"Dit veld moet een geldig e-mailadres bevatten"}},"Company":{"required":{"value":false,"message":"Dit veld is verplicht"}},"input_checkbox_m0tavp_1":{"required":{"value":true,"message":"This field is required"}}}}; </script>
[fluentform id="17"]
<div class='fluentform fluentform_wrapper_17'> <style id="fluentform_custom_css_17" type="text/css"> /*input style*/ .fluent_form_17 frm-fluent-form{ margin-bottom: 10px; } .fluent_form_17 .ff-el-input--content{ padding: 6px 12px; /*change padding*/ background-color: #fff; /*change background color*/ border: 1px solid #ced4da; /*change border width and color*/ border-radius: 10px; /*change corner round/ border radius*/ margin-bottom: 10px; } .fluent_form_17 .ff-el-form-control{ padding: 6px 12px; /*change padding*/ background-color: #fff; /*change background color*/ border: 1px solid #ced4da; /*change border width and color*/ border-radius: 10px; /*change corner round/ border radius*/ margin-bottom: 10px; } </style> <style id="fluentform_styler_css_17" type="text/css"> .fluentform_wrapper_17{ margin: px; } .fluentform_wrapper_17{ padding: px; } .fluentform_wrapper_17 .ff-el-input--content input, .fluentform_wrapper_17 .ff-el-input--content textarea, .fluentform_wrapper_17 .ff-el-input--content select, .fluentform_wrapper_17 .choices__list--single, .fluentform_wrapper_17 .choices[data-type*='select-multiple'] { color: rgba(21, 49, 88, 1);border-style: solid;border-color: rgba(245, 137, 68, 1);border-width: 1px;border-radius: 10px; } .fluentform_wrapper_17 .frm-fluent-form .choices__list--dropdown { border-style: solid;border-color: rgba(245, 137, 68, 1);border-width: 1px;border-radius: 10px; } .fluentform_wrapper_17 .ff_submit_btn_wrapper .ff-btn-submit { background-color: rgba(245, 137, 68, 1);color: rgba(21, 49, 88, 1);padding: px;margin: px; } </style> <form data-form_id="17" id="fluentform_17" class="frm-fluent-form fluent_form_17 ff-el-form-top ff_form_instance_17_3 ff-form-loading" data-form_instance="ff_form_instance_17_3" method="POST" > <span style="display: none !important;"><input type="checkbox" name="item__17__fluent_checkme_" value="1" style="display:none !important;" tabindex="-1"></span> <input type='hidden' name='__fluent_form_embded_post_id' value='288' /><input type="hidden" id="_fluentform_17_fluentformnonce" name="_fluentform_17_fluentformnonce" value="54171810f3" /><input type="hidden" name="_wp_http_referer" value="/ontwikkeling/relevant-met-behulp-van-machine-learning/" /><div data-type="name-element" data-name="LastName" class=" ff-field_container ff-name-field-wrapper" ><div class='ff-t-container'><div class='ff-t-cell '><div class='ff-el-group ff-el-form-hide_label'><div class='ff-el-input--label ff-el-is-required asterisk-right'><label for='ff_17_LastName_last_name_'>Naam</label> </div><div class='ff-el-input--content'><input type="text" name="LastName[last_name]" id="ff_17_LastName_last_name_" class="ff-el-form-control" placeholder="Naam" ></div></div></div></div></div><div class='ff-el-group' data-name="custom_html-17_1" ><br /></div><div class='ff-el-group ff-el-form-hide_label'><div class='ff-el-input--label ff-el-is-required asterisk-right'><label for='ff_17_Mailaddress'>E-mail</label> </div><div class='ff-el-input--content'><input type="email" name="Mailaddress" id="ff_17_Mailaddress" class="ff-el-form-control" placeholder="E-mail Adres" data-name="Mailaddress" ></div></div><div class='ff-el-group' data-name="custom_html-17_2" ><br /></div><div class='ff-el-group ff-el-form-hide_label'><div class='ff-el-input--label asterisk-right'><label for='ff_17_Company'>LinkedIn profiel</label> </div><div class='ff-el-input--content'><input type="text" name="Company" class="ff-el-form-control" placeholder="LinkedIn profiel" data-name="Company" id="ff_17_Company" ></div></div><div class='ff-el-group' data-name="custom_html-17_3" ><br /></div><div class='ff-el-group ff-el-form-hide_label'><div class='ff-el-input--content'><div class='ff-el-form-check ff-el-form-check-'><label class='ff-el-form-check-label' for=input_checkbox_m0tavp_1_e5bd1299971f44bc630bafc5459efacb><input type="checkbox" name="input_checkbox_m0tavp_1[]" data-name="input_checkbox_m0tavp_1" class="ff-el-form-check-input ff-el-form-check-checkbox" value="Ja, ik wil wil meer weten over Basedriver en geef toestemming mijn gegevens veilig op te slaan, conform onze privacy verklaring." id='input_checkbox_m0tavp_1_e5bd1299971f44bc630bafc5459efacb'> <span>Ja, ik wil wil meer weten over Basedriver en geef toestemming mijn gegevens veilig op te slaan, conform onze privacy verklaring.</span></label></div></div></div><div class='ff-el-group' data-name="custom_html-17_4" ><br /></div><input type="hidden" name="optRouteToAdd" value="SubscriptionFormNewsLetterAPI" data-name="optRouteToAdd" ><input type="hidden" name="attribute" value="Sollicitant" data-name="attribute" ><input type="hidden" name="campaignId" value="65" data-name="campaignId" ><input type="hidden" name="contactmomentId" value="1" data-name="contactmomentId" ><input type="hidden" name="FormName" value="OptinMonster_Sollicitatie_popup" data-name="FormName" ><input type="hidden" name="marketingLabelShortCode" value="BD" data-name="marketingLabelShortCode" ><input type="hidden" name="okForOptCodes" value="N" data-name="okForOptCodes" ><input type="hidden" name="conditions" value="Ja, ik wil wil meer weten over Basedriver en geef toestemming mijn gegevens veilig op te slaan, conform onze privacy verklaring." data-name="conditions" ><div class='ff-el-group ff-text-right ff_submit_btn_wrapper'><button type="submit" class="ff-btn ff-btn-submit ff-btn-md ff_btn_style" >Nu verzenden</button><style>form.fluent_form_17 .ff-btn-submit { background-color: #409EFF; color: #ffffff; }</style></div></form><div id='fluentform_17_errors' class='ff-errors-in-stack ff_form_instance_17_3 ff-form-loading_errors ff_form_instance_17_3_errors'></div></div> <script type="text/javascript"> window.fluent_form_ff_form_instance_17_3 = {"id":"17","settings":{"layout":{"labelPlacement":"top","helpMessagePlacement":"with_label","errorMessagePlacement":"inline"},"id":"95","restrictions":{"denyEmptySubmission":{"enabled":false}}},"form_instance":"ff_form_instance_17_3","form_id_selector":"fluentform_17","rules":{"LastName[last_name]":{"required":{"value":true,"message":"Dit veld is verplicht"}},"Mailaddress":{"required":{"value":true,"message":"Dit veld is verplicht!"},"email":{"value":true,"message":"Dit veld moet een geldig e-mailadres bevatten"}},"Company":{"required":{"value":false,"message":"Dit veld is verplicht"}},"input_checkbox_m0tavp_1":{"required":{"value":true,"message":"This field is required"}}}}; </script>