A paper I have been coauthoring and co-developing with Jules Kruijswijk, Petri Parvinen and Maurits Kaptein has just been accepted at the Journal of Statistical Software. The paper, “StreamingBandit: Experimenting with Bandit Policies” describes one of two contextual Multi-Armed Bandit (cMAB) software packages our group is developing – with the Python based StreamingBandit focusing on online, and the upcoming R package contextual focusing on offline cMAB evaluation.
A large number of statistical decision problems in the social sciences and beyond can be framed as a (contextual) multi-armed bandit problem. However, it is notoriously hard to develop and evaluate policies that tackle these types of problem, and to use such policies in applied studies. To address this issue, this paper introduces StreamingBandit, a Python web application for developing and testing bandit policies in field studies. StreamingBandit can sequentially select treatments using (online) policies in real time. Once StreamingBandit is implemented in an applied context, different policies can be tested, altered, nested, and compared. StreamingBandit makes it easy to apply a multitude of bandit policies for sequential allocation in field experiments, and allows for the quick development and re-use of novel policies. In this article, we detail the implementation logic of StreamingBandit and provide several examples of its use.