A package for streamlining the design, analysis, and decision-making of A/B tests
Project description
ablisk
This package aims to make it easier for data scientists, analysts, and engineers to conduct statistically sound experiments. At its core is the ABLisk class. This class provides tools for designing, analyzing, and simulating A/B tests.
Features
- Sample Size Calculation: Calculate the minimum required sample size.
- Result Analysis: Retrieve and visualize experiment results with support for confidence intervals and kernel density estimates (KDEs).
- Recommendation: Generate results summary and recommendations based os results.
Class Overview
ABLisk
The main class provides the following methods and attributes:
Initialization
ABLisk(bcr, mde, alpha = 0.05, power = 0.8, is_absolute_variation: bool = True, is_two_tailed: bool = True)
- bcr: Baseline Conversion Rate (0 <= mde < 1).
- mde: Minimum Detectable Effect (absolute or relative) (0 < mde < 1).
- alpha: Significance level (default: 0.05).
- power: Statistical power (default: 0.8).
- is_absolute_variation: Whether
mdeis absolute (default: True). - ** is_two_tailed**: Use two-tailed tests (default: True).
Methods
-
get_sample_size()- Calculates the minimum required sample size.
-
get_experiment_results(n_ctrl, p_ctrl, n_trmt, p_trmt, plot, full_summary, from_dataset, dataset)- Analyzes and visualizes results.
- Parameters:
n_ctrl,n_trmt: Sample sizes of the control and treatment groups.p_ctrl,p_trmt: Conversion rates for control and treatment groups.plot: for visualization('KDE'or'Confidence Intervals') or results summary and recommendations (None).full_summary: whether to pass the results summary as a string (to be printed) or as a tuple containing pieces of this same summary.from_dataset: whether to get sample size and proportions from an experiment dataset or bay manually inserting in their respective arguments.dataset: the csv file path or DataFrame with three arbitrary named columns describing the user ID, the variants ("treatment" or "control"), and whether the user as converted ({"yes", "no"} case-insensitive, 1, 0)
Usage
Installation
pip install ablisk
Importing the module
from ablisk.core import ABLisk
Example: Calculate Sample Size
ab_test = ABLisk(bcr = 0.1, mde = 0.02, alpha = 0.05, power = 0.8)
sample_size = ab_test.get_sample_size()
print(f"Required Sample Size: {sample_size}")
Example: Visualize Experiment Results
ab_test.get_experiment_results(n_ctrl = 500, p_ctrl = 0.1, n_trmt = 500, p_trmt = 0.12, plot_type = 'Error Bars')
💡 A more detailed example regarding the implementation of this tool is available on its respective notebook. You can view the notebook using nbviewer due to GitHub rendering limitations here.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contribution
Contributions are welcome! Please fork the repository, create a feature branch, and submit a pull request.
References
- FÁVERO, L. P.; BELFIORE, P. Manual de Análise de Dados: estatística e modelagem multivariada com Excel®, SPSS® e Stata®. Rio de Janeiro: Elsevier, 2017.
- GRAVETTER, F. J.; WALLNAU, L. B. Statistics for the Behavioral Sciences. 10th ed. Boston: Cengage Learning, 2015.
- SAINANI K. Stanford University. Introduction to Sample Size and Power Calculations. Last accessed on Dec 28 2024.
- UDACITY. A/B Testing. Last accessed on Dec 28 2024.
Acknowledgments
This project would not be possible without the massive contribution of Evan Miller regarding A/B testing methodologies and tools. Refer to his A/B Testing Sample Size Calculator for further details.
Explore the Web App 🌐🚀
ablisk is the statistical engine of xplendid – the AI-assisted web application version for this module.
Networking
Connect with me:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ablisk-0.2.4.tar.gz.
File metadata
- Download URL: ablisk-0.2.4.tar.gz
- Upload date:
- Size: 12.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
814aa79de3585a726e4f12f43c164da68c5902cf9f2dd92ea7b25d27bde0d252
|
|
| MD5 |
7eb95bfa9f1a43fc3e2f4e9672573cd9
|
|
| BLAKE2b-256 |
175447d8ea97225dbe26ac4f53fcd18adffc26e73abcf226b96a55ea0e4a519a
|
File details
Details for the file ablisk-0.2.4-py3-none-any.whl.
File metadata
- Download URL: ablisk-0.2.4-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9169a7822fc568df3347eef4af6f4bacea46b17df522b8bb966b640be614965c
|
|
| MD5 |
91e4f9f8362f5ed659fd179db8d8a9e1
|
|
| BLAKE2b-256 |
28e651096a62e71e95a01eb33c9879ac58558a6d8c7413505f38615eeda881a0
|