At Emarsys our goal is to make marketing communication truly personal. A significant part of this is sending messages at the right time. With the help of R and shiny we developed a machine learning algorithm resulting in increased open rates and shorter times between sending and opening messages. The algorithm is based on the multi-armed Bayesian bandit method and continuously learns from incoming user behaviour data. In this talk I want to highlight the most important milestones of this journey.
First we proved the significance of sending times with a simulation in shiny. After that we prototyped several algorithms to assess their expected performances, scalability properties and implementation costs. Later we measured the performance of the algorithm already running in production with several pilot clients and assessed the impact of our previous choices. We had as many different scenarios as pilot clients, either the set-up was different, or their users’ behaviour. We will show what we learned during this process about the algorithm, about our assumptions and how we should ease the feature’s usage for our clients. Examples include modification of the priors of the Bayesian bandit and assisting clients in setting up correct A/B tests.