Chapter 7. Bandits in the Real World: Complexity and Complications
So far we’ve just given you a taste of how bandit algorithms work by showing you three standard algorithms that you can try deploying on your website. In this chapter, we want to give you some tips about ways in which the real world is likely to be more complex than the simplified examples we’ve used to test the algorithms we’ve implemented. We think that bandit algorithms are a very powerful set of tools for building better websites. But they are not a panacea. Bandit algorithms can break if the world you’re exploring is more complicated than the world we’ve used in testing algorithms. Let’s list some questions you should ask yourself when deploying bandit algorithms in the wild:
- How sure are you that you won’t subtly corrupt your deployment code?
- How many different tests are you planning to run simultaneously? Will these tests interfere with each other? Will starting a new test while another one is already running corrupt its results?
- How long do you plan to run your tests?
- How many users are you willing to expose to non-preferred versions of your site?
- How well-chosen is your metric of success?
- How are the arms you’re measuring related to one another?
- What additional information about context do you have when choosing arms? Do you have demographics based on browser information? Does your site have access to external information about people’s tastes in products you might advertise to them?
- How much traffic ...