Base Classes
Abstract base classes and core data structures.
BaseTest
BaseTest
Bases: AbobaBase
Base class for AB-tests, providing a structure for fitting and testing data.
Source code in aboba/base/base_test.py
test
Perform statistical test on the provided groups.
| PARAMETER | DESCRIPTION |
|---|---|
groups
|
List of DataFrames representing different groups.
TYPE:
|
artefacts
|
Artifacts from preprocessing pipeline. Can contain metadata needed for test calculation (e.g., CUPED original means).
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
TestResult
|
Object containing test results (p-value, effect, etc.)
TYPE:
|
Source code in aboba/base/base_test.py
TestResult
TestResult
dataclass
Represents the result of a statistical test, including p-value, effect, effect type, and optional effect interval.
Source code in aboba/base/base_test.py
BaseDataProcessor
BaseDataProcessor
Bases: AbobaBase
Base processor class that is applied at full dataframe
Source code in aboba/base/base_processors.py
fit
This called once on all available data
| PARAMETER | DESCRIPTION |
|---|---|
data
|
full data, with all groups
TYPE:
|
transform
Transforms data and returns transformed dataframe. Can generate artefacts that can be used later
| PARAMETER | DESCRIPTION |
|---|---|
data
|
full dataframe to process
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Tuple[DataFrame, Optional[Dict]]
|
Tuple[pd.DataFrame, Optional[Dict]]: tuple with processed row and artefacts dict |
Source code in aboba/base/base_processors.py
fit_transform
Combination of fit and transform
| PARAMETER | DESCRIPTION |
|---|---|
data
|
data to fit on and to transform
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Tuple[DataFrame, Dict]
|
Tuple[pd.DataFrame, Dict]: tuple with processed row and artefacts dict |
Source code in aboba/base/base_processors.py
DataSplitter
DataSplitter
module-attribute
EffectModifier
EffectModifier
module-attribute
BaseDataSource
BaseDataSource
Bases: AbobaBase
Defines source of data
Source code in aboba/base/base_data_source.py
get
is_generated
Tells if data is generated. If it is not generated, then data processing can be cached