
Aboba
Python-библиотека для A/B-тестирования с упором на простоту
Инструмент для проведения надёжных A/B-тестов: помогает правильно разделить пользователей, провести статистический анализ, уменьшить дисперсию и визуализировать результаты — всё с простым API и модульной архитектурой.
Зачем нужна Aboba
- Упрощает запуск и анализ экспериментов с помощью понятного API.
- Обеспечивает статистическую достоверность результатов автоматически.
- Уменьшает влияние случайных колебаний с помощью CUPED и стратификации.
- Визуализирует результаты для быстрого принятия решений.
- Расширяется под любые потребности благодаря модульной архитектуре.
Быстрый старт
pip install abobaimport numpy as np
import pandas as pd
import scipy.stats as sps
from aboba import tests, samplers, effect_modifiers, experiment, pipeline
# Генерация данных
n = 1000
data = pd.DataFrame({
"value": np.r_[sps.norm.rvs(size=n), sps.norm.rvs(size=n)],
"b_group": np.r_[np.zeros(n), np.ones(n)],
})
# Pipeline
data_pipeline = pipeline.Pipeline([
("GroupSampler", samplers.GroupSampler(size=100, column="b_group")),
])
# Тест
test = tests.AbsoluteIndependentTTest(value_column="value")
# Эксперимент
exp = experiment.AbobaExperiment()
# AA тест
exp.group(
"AA Test",
test=test,
data=data,
data_pipeline=data_pipeline,
n_iter=100,
).run()
# AB тест с синтетическим эффектом
exp.group(
"AB Test (effect=0.3)",
test=test,
data=data,
data_pipeline=data_pipeline,
synthetic_effect=effect_modifiers.GroupModifier(
effects={1: 0.3},
value_column="value",
group_column="b_group",
),
n_iter=100,
).run()
# Визуализация
exp.draw()Подробный tutorial, CUPED, кастомные тесты и пайплайны — официальная документация Aboba
Архитектура библиотеки
Ключевые особенности
Простой API
Интуитивно понятный интерфейс для быстрого старта без глубоких знаний статистики.
Разнообразие тестов
Поддержка t-тестов, ANOVA и непараметрических тестов для разных типов данных.
Уменьшение дисперсии
Встроенные методы CUPED и стратификации для повышения точности измерений.
Анализ мощности
Симуляция эффектов для определения оптимального размера выборки до запуска теста.
Визуализация
Готовые графики и таблицы для наглядного представления результатов экспериментов.
Расширяемость
Модульная архитектура позволяет добавлять собственные компоненты и тесты.
