Janus is an A/B Test Engine to be used in a variety use cases, especially to measure conversion, ticket and ARPU difference between variants, i.e, typical metrics for tests in marketplaces. The engine name is an analogy to Janus, the god of changes and transitions.
This library came as an ideia of separate the statistical calculations in A/B Tests from other code that is typically used to manage tests and execute queries over the company's database, and hence usually carry proprietary code and even business logic, which should not be open sourced. There was the bud to build this library and get it open sourced.
Checkout the streamlit app from this repo.
Open a terminal, clone this repository into your machine and stay into the project directory.
Using a virtual environment is a good practice, but it is optional. If you enjoy it, go ahead and create a virtual environment by typing:
python3 -m venv venv -r requirements.txt
Once it is created, you must now activate the environment by using:
source venv/bin/activate
Now, you can install our lib (if you are not using virtual env, go straight to this command):
make install
And that's it! Now, inside our environment, we can import the janus
lib inside our scripts with plain import janus
etc. Try to test using the same code on experiment_example.ipynb
notebook here or in a plain terminal.
You can use janus as a streamlit product. Just run make run
and an streamlit app will launch.
- What is A/B Testing
- The bayesian calculations were implemented based on this VWO white paper
- VWO Website
- Agile A/B testing with Bayesian Statistics and Python
- Understanding Bayesian A/B testing (using baseball statistics)
- It’s time to re-think A/B testing
- Conjugate Priors
- Curso de Teste A/B Bayesiano do Lazy Programmer
- Binomial Distributions
- Bayes theorem
- The quick proof of Bayes Theorem