Skip to main content

Ambrosia

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:

Metadata

Release files for ambrozia 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ambrozia 0.1.2
File Size Uploaded Provenance Actions
Ambrozia-0.1.2.tar.gz 74.7 kB Without provenance Details for Ambrozia-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ambrozia 0.1.2
File Interpreter ABI Platform Actions
Ambrozia-0.1.2-py3-none-any.whl Python 3 none any Details for Ambrozia-0.1.2-py3-none-any.whl

Total release size: 179.4 kB

Release files / Ambrozia-0.1.2.tar.gz

Download URL Ambrozia-0.1.2.tar.gz
Size 74.7 kB
Tags Source
SHA-256 checksum
How to use checksums
11d564b52251cd44e8e1489f476f9913696d70f647fe9a0a6b5de3360cb80c92
BLAKE2b-256 checksum
How to use checksums
570bd9759911f6b543473d51d2f92e619910aa66b67c1edc9f0d1519b1070c3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.15 CPython/3.8.14 Linux/5.15.0-1022-azure

Release files / Ambrozia-0.1.2-py3-none-any.whl

Download URL Ambrozia-0.1.2-py3-none-any.whl
Size 104.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
658b00b28e3ab09cde16ef2850d24a3a98af785e74a063ce892dc5ed1d6eac4a
BLAKE2b-256 checksum
How to use checksums
645c13181d3b4df36c7712e154d5b992a14f7d03bfa9c7ce42ed1d46bf557b37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.15 CPython/3.8.14 Linux/5.15.0-1022-azure

Security for ambrozia 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page