ABexp is a Python
library which aims to support users along the entire end-to-end A/B test experiment flow
(see picture below). It contains A/B testing modules which use both frequentist and bayesian statistical approaches
including bayesian generalized linear model (GLM).
This library is distributed on PyPI and
can be installed with pip
. The latest release is version 0.0.1
.
$ pip install abexp
The command above will automatically install all the dependencies listed in requirements.txt
. Please visit the
installation
page for more details.
A short example, illustrating it use:
import abexp
Compute the minimum sample size needed for an A/B test experiment with two variants, so called control and treatment groups.
from abexp.core.design import SampleSize
c = 0.33 # conversion rate control group
t = 0.31 # conversion rate treatment group
sample_size = SampleSize.ssd_prop(prop_contr=c, prop_treat=t) # minimum sample size per each group
For more information please read the full documentation and tutorials.
The source code of the project is available on GitHub.
$ git clone https://github.com/PlaytikaOSS/abexp.git
You can install the library and the dependencies with one of the following commands:
$ pip install . # install library + dependencies
$ pip install .[develop] # install library + dependencies + developer-dependencies
$ pip install -r requirements.txt # install dependencies
$ pip install -r requirements-dev.txt # install developer-dependencies
As suggested by the authors of pymc3
and pandoc
, we highly recommend to install these dependencies with
conda
:
$ conda install -c conda-forge pandoc
$ conda install -c conda-forge pymc3
To create the file abexp.whl
for the installation with pip
run the following command:
$ python setup.py sdist bdist_wheel
To create the HTML documentation run the following commands:
$ cd docs
$ make html
Tests can be executed with pytest
running the following commands:
$ cd tests
$ pytest # run all tests
$ pytest test_testmodule.py # run all tests within a module
$ pytest test_testmodule.py -k test_testname # run only 1 test