This project provides functionality for generating experimentation benchmark data for a variety of common use cases. Examples include general user level randomization and metrics, experiments that are randomized on an anonymous ID but measured using user ID-level metrics, and clustered experiments (e.g., experiments randomized by company, but measured using user-level metrics).
Specific use cases are defined in yaml. You can find several examples in the use-cases
directory.
Currently, the project supports writing data to a Snowflake account. If you'd like to use a different warehouse, you'll simply need to implement a connector similar to the one defined in src/snowflake_connector.py
.
Create a file local/profile.yml
:
account: ...
user: ...
password: ...
role: ...
database: ...
warehouse: ...
schema: ...
Next, install dependencies (ideally in a virtual environment):
pip install -r requirements.txt
Run main.py
and pass in the use case file you'd like to use:
python main.py use-cases/anonymous_users.yml
You should now see data in the Snowflake warehouse specified in local/profile.yml
!