Skip to main content

A Python library for working with A/B tests.

Project description

PyPI PyPI License ReadTheDocs Tests Coverage Black Python Versions

https://github.com/MobileTeleSystems/Ambrosia/blob/main/docs/source/_static/ambrosia.png?sanitize=true

Ambrosia is a Python library for A/B tests design, split and effect measurement. It provides rich set of methods for conducting full A/B test pipeline.

An experiment design stage is performed using metrics historical data which could be processed in both forms of pandas and spark dataframes with either theoretical or empirical approach.

Group split methods support different strategies and multi-group split, which allows to quickly create control and test groups of interest.

Final effect measurement stage is conducted via testing tools that are able to return relative and absolute effects and construct corresponding confidence intervalsfor continious and binary variables. Testing tools as well as design ones support significant number of statistical criteria, like t-test, non-parametric, and bootstrap.

For additional A/B tests support library provides features and tools for data preproccesing and experiment acceleration.

Key functionality

  • Pilots design ✈

  • Multi-group split 🎳

  • Matching of new control group to the existing pilot 🎏

  • Getting the experiments result evaluation as p-value, point estimate of effect and confidence interval 🎞

  • Experiments acceleration 🎢

Documentation

For more details, see the Documentation and Tutorials.

Installation

Stable version is released on every tag to main branch.

pip install ambrozia

Ambrosia requires Python 3.7+

Usage

Designer

from ambrozia.designer import Designer
designer = Designer(dataframe=df, effects=1.2, metrics='portfel_clc') # 20% effect, and loaded data frame df
designer.run('size')

Splitter

from ambrozia.splitter import Splitter
splitter = Splitter(dataframe=df, id_column='id') # loaded data frame df with column with id - 'id'
splitter.run(groups_size=500, method='simple')

Tester

from ambrozia.tester import Tester
tester = Tester(dataframe=df, column_groups='group') # loaded data frame df with groups info 'group'
tester.run(metrics='retention', method='theory', criterion='ttest')

Development

To install all requirements run

make install

You must have python3 and poetry installed.

For autoformatting run

make autoformat

For linters check run

make lint

For tests run

make test

For coverage run

make coverage

To remove virtual environment run

make clean

Communication

Developers and evangelists:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Ambrozia-0.1.2.tar.gz (74.7 kB view details)

Uploaded Source

Built Distribution

Ambrozia-0.1.2-py3-none-any.whl (104.6 kB view details)

Uploaded Python 3

File details

Details for the file Ambrozia-0.1.2.tar.gz.

File metadata

  • Download URL: Ambrozia-0.1.2.tar.gz
  • Upload date:
  • Size: 74.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.15 CPython/3.8.14 Linux/5.15.0-1022-azure

File hashes

Hashes for Ambrozia-0.1.2.tar.gz
Algorithm Hash digest
SHA256 11d564b52251cd44e8e1489f476f9913696d70f647fe9a0a6b5de3360cb80c92
MD5 7bb726490952e5755c1976ffd61ce64e
BLAKE2b-256 570bd9759911f6b543473d51d2f92e619910aa66b67c1edc9f0d1519b1070c3a

See more details on using hashes here.

File details

Details for the file Ambrozia-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: Ambrozia-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 104.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.15 CPython/3.8.14 Linux/5.15.0-1022-azure

File hashes

Hashes for Ambrozia-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 658b00b28e3ab09cde16ef2850d24a3a98af785e74a063ce892dc5ed1d6eac4a
MD5 621d18f91c39ebcd452cdfbe40e4c634
BLAKE2b-256 645c13181d3b4df36c7712e154d5b992a14f7d03bfa9c7ce42ed1d46bf557b37

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page