Skip to main content

A Python package for statistical analysis of A/B tests.

Project description

tea-tasting: statistical analysis of A/B tests

CI Coverage License Version Package Status PyPI Python Versions

tea-tasting is a Python package for the statistical analysis of A/B tests featuring:

  • Student's t-test, Z-test, Bootstrap, and quantile metrics out of the box.
  • Extensible API: define and use statistical tests of your choice.
  • Delta method for ratio metrics.
  • Variance reduction with CUPED/CUPAC (also in combination with the delta method for ratio metrics).
  • Confidence intervals for both absolute and percentage change.
  • Sample ratio mismatch check.
  • Power analysis.

tea-tasting calculates statistics directly within data backends such as BigQuery, ClickHouse, PostgreSQL, Snowflake, Spark, and 20+ other backends supported by Ibis. This approach eliminates the need to import granular data into a Python environment, though Pandas DataFrames are also supported.

Check out the blog post explaining the advantages of using tea-tasting for the analysis of A/B tests.

Installation

pip install tea-tasting

Basic example

import tea_tasting as tt


data = tt.make_users_data(seed=42)

experiment = tt.Experiment(
    sessions_per_user=tt.Mean("sessions"),
    orders_per_session=tt.RatioOfMeans("orders", "sessions"),
    orders_per_user=tt.Mean("orders"),
    revenue_per_user=tt.Mean("revenue"),
)

result = experiment.analyze(data)
print(result)
#>             metric control treatment rel_effect_size rel_effect_size_ci pvalue
#>  sessions_per_user    2.00      1.98          -0.66%      [-3.7%, 2.5%]  0.674
#> orders_per_session   0.266     0.289            8.8%      [-0.89%, 19%] 0.0762
#>    orders_per_user   0.530     0.573            8.0%       [-2.0%, 19%]  0.118
#>   revenue_per_user    5.24      5.73            9.3%       [-2.4%, 22%]  0.123

Learn more in the detailed user guide. Additionally, see the guides on data backends and custom metrics.

Roadmap

  • A/A tests and simulations.
  • More statistical tests:
    • Asymptotic and exact tests for frequency data.
    • Mann–Whitney U test.

Package name

The package name "tea-tasting" is a play on words that refers to two subjects:

  • Lady tasting tea is a famous experiment which was devised by Ronald Fisher. In this experiment, Fisher developed the null hypothesis significance testing framework to analyze a lady's claim that she could discern whether the tea or the milk was added first to the cup.
  • "tea-tasting" phonetically resembles "t-testing" or Student's t-test, a statistical test developed by William Gosset.

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

tea_tasting-0.1.0.tar.gz (41.3 kB view details)

Uploaded Source

Built Distribution

tea_tasting-0.1.0-py3-none-any.whl (35.0 kB view details)

Uploaded Python 3

File details

Details for the file tea_tasting-0.1.0.tar.gz.

File metadata

  • Download URL: tea_tasting-0.1.0.tar.gz
  • Upload date:
  • Size: 41.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.17.1 CPython/3.10.12 Linux/6.5.0-1024-azure

File hashes

Hashes for tea_tasting-0.1.0.tar.gz
Algorithm Hash digest
SHA256 db047764ddc7769491816786eb67f201d71b8ba6c5b50c068b056b28bc495339
MD5 915290ecd1a61ab3c26a1eb68c3602b2
BLAKE2b-256 3078f91da4ee8c26311c17533ffffc65b554ad7227af0ec1bafbc8d91da33a6f

See more details on using hashes here.

File details

Details for the file tea_tasting-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tea_tasting-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 35.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.17.1 CPython/3.10.12 Linux/6.5.0-1024-azure

File hashes

Hashes for tea_tasting-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a12392b6ec168f53e3d6668de07fa9363c6ba110577ed6355c2b0a64041399a
MD5 cf7024dd2667f24043ecb59a3a234567
BLAKE2b-256 d1eeb96b56fc6fd6d512647dee7b6473f05f88c6113d3bfe73a400458a4d99c3

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