Skip to main content

A/B experiment analysis as declarative YAML + SQL

Project description

ab-analysis-kit

A/B experiment analysis as declarative YAML + SQL — with a chart-first cockpit.

ab-analysis-kit (CLI abk) is an open-source, declarative (dbt / detectkit-style), database-agnostic, numpy-first Python library for analyzing A/B experiments. You define an experiment and its metrics in YAML + SQL; abkit computes per-method effect + confidence interval + p-value + MDE/power cumulatively over the experiment's lifetime (the stabilization chart), writes them to a clean warehouse table any BI can read, and gives you a local cockpit to tune the analysis and a harness to prove your method is actually calibrated.

Status: pre-development. This repo currently holds the project-initiation specs (the development contract). Start with the master plan (RU): docs/ru/project-initiation-spec.md, then the specs index.

What it will do

  • Declarative experimentsexperiments/*.yml (assignment + variants + comparisons) referencing a reusable metrics/*.yml library (YAML + SQL).
  • A rigorous statistical engine — t-test, two-proportion z-test, CUPED, ratio (delta-method), and a vectorised bootstrap family (plain/paired/Poisson/ post-normed), with relative & absolute effects, MDE/power, and multiple-testing correction. Ported from a battle-tested legacy engine and improved deliberately.
  • The cumulative stabilization chart — effect + CI per day from experiment start, so you see the estimate converge and call a winner only once it stabilizes.
  • abk explore — a local, chart-first cockpit to turn method knobs (CUPED, stratification, alpha…) and watch the result recompute live, with A/A calibration always in view. The priority interface.
  • abk validate — an A/A false-positive + power matrix that measures your method's real α (including the honest cumulative-peeking FPR), not the nominal.
  • BI-agnostic — results land in one clean table; connect Grafana, Lightdash, Metabase, or Superset. Orchestrate with Prefect.
  • AI-nativeabk init-claude sets up assistant context + skills so an assistant can scaffold and tune experiments with (or for) you.

Design at a glance

experiment (YAML)  ──▶ load exposures ──▶ SRM gate ──▶ compute (t/z/CUPED/bootstrap) ──▶ readout
  └ references reusable metrics (YAML + SQL)                                          └ _ab_results → your BI

abkit is the sibling of detectkit: same DNA (CLI-first, db-agnostic, numpy-first, self-contained reports, a chart-first cockpit, init-claude), with the anomaly detect stage replaced by a statistical compute stage and the primary entity flipped from metric to experiment.

Documentation

License

MIT (planned).

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

ab_analysis_kit-0.0.1.dev0.tar.gz (261.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ab_analysis_kit-0.0.1.dev0-py3-none-any.whl (321.7 kB view details)

Uploaded Python 3

File details

Details for the file ab_analysis_kit-0.0.1.dev0.tar.gz.

File metadata

  • Download URL: ab_analysis_kit-0.0.1.dev0.tar.gz
  • Upload date:
  • Size: 261.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ab_analysis_kit-0.0.1.dev0.tar.gz
Algorithm Hash digest
SHA256 e2cd33aebff4e0194ea80a238ca1bfec9e6ae7538679e557ba00ad180297c1a9
MD5 df1ea7647e6761fb7dcfd946e942fc63
BLAKE2b-256 6c2c970367dda1123e8480e226818c3aae35925c21fec0441ede22448cce1cee

See more details on using hashes here.

File details

Details for the file ab_analysis_kit-0.0.1.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for ab_analysis_kit-0.0.1.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 35ad8485a5f1314ebc561f088c782c76609e6d613fa686255cd32360caf54218
MD5 a83660f786929e28547edd596b8a72cf
BLAKE2b-256 d1bc333b7fdc11068f84a0803cd2cad1daa4b894c7d29144d8a25de2bab6c8f2

See more details on using hashes here.

Supported by

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