StreamingBandit; Experimenting with Bandit Policies
This tool addresses the problem of implementing and experimenting with bandit policies for researchers and practitioners in social sciences and related fields, though it is incremental as it builds on existing bandit methods.
The paper tackles the difficulty of developing and evaluating bandit policies in applied studies by introducing StreamingBandit, a Python web application that enables real-time sequential treatment selection and easy testing, alteration, and comparison of policies in field experiments.
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.