At this very moment, Indeed is running more than one hundred A/B experiments. These experiments are controlled by a system we built called Proctor. We’re excited to announce that Proctor is now open source.
We built Proctor here at Indeed, applying the lessons learned from many years of running experiments. The design and features of Proctor were focused on these key goals:
- Easy, rapid, and safe adjustment of experiments
- Finely-targeted segmentation of traffic
- Separation of experiment management from behavior
- Supporting experiments in all of our different types of applications, services, and tools
- Synchronizing experiments across multiple applications
We’ve integrated Proctor with a large number of our products, giving us powerful capabilities throughout Indeed’s systems. In addition, Proctor has grown beyond its initial focus on experimentation to allow us to carefully manage overall system behavior through dynamic “feature toggle” functionality. This allows us to safely and gradually apply changes to our production systems.
Proctor is written in the Java language and can be used from any language hosted on the Java Virtual Machine. The Proctor source code is now hosted on GitHub (github.com/indeedeng/proctor).
We also have documentation and a reference implementation that illustrate how you can use Proctor on your own applications, and we have a Google Group where you can discuss Proctor and ask questions.
As a part of our ongoing @IndeedEng series, we gave a tech talk on “Managing Experiments and Behavior Dynamically with Proctor.” We hope that Proctor will be as useful to you as it has been to us.