Your data never leaves your infrastructure
Runner is a Docker container that runs inside your servers, processes experiment CSV files locally, and sends only aggregated statistical results to AB-Labz — no user IDs, no raw data.
Compute stays on your side
The Runner polls the cloud for tasks, reads your local CSV files, runs the statistical engine, and returns only the numbers — never the source data.
Managed from the same interface
Once connected, the Runner appears in the workbench alongside your experiments. Key status, last activity, discovered files — all visible without touching the server.
Self-hosted Runner
Old key will stop working after regeneration
No experiments found
Place CSV files in the experiments folder
What crosses the boundary
The Runner sends only derived numbers to the cloud. Raw data, user identifiers, and individual records never leave your servers.
Four steps to connect
You get a zip archive with the Docker image, compose file, and config. Point it at your CSV folder and start.
runner-client-v1.x.x.zip with the Docker image, compose file, and config..env and point docker-compose.yml at your CSV folder.docker load the image, then docker-compose up -d. Status appears in the workbench immediately.docker-compose.yml + .env
Update the file — results follow
Runner watches the CSV folder every 5 minutes. The moment it sees a file change, it queues a re-analysis — everything stays current without any manual work.
Live monitoring on the dashboard
Experiments processed by Runner appear on the dashboard with live monitoring — updated automatically every time Runner re-analyses the file.
- SRM check — traffic split correctness verified on every run
- Sample accumulation — see how far you are from the target sample size
- Win probability forecast — Bayesian estimate updated with each new dataset
One data mart — all experiments
The recommended pattern: build a single wide mart in your own infrastructure, then automate the slice-and-deliver step. AB-Labz receives clean per-experiment CSV files — whether via Runner folder or API push.
One wide table in your DWH — all experiments, all metrics, all segments, updated daily.
A nightly job queries the mart for each active experiment and exports the full dataset from day one to today.
API: POST the CSV file.
Runner: drop it into the watched folder.
AB-Labz picks it up, runs the analysis, and updates the dashboard.
All experiments share the same metric definitions — conversions, revenue, segments calculated once, consistently.
New experiment_id in the mart → next run delivers it. Just add the ID to the hypothesis card in AB-Labz.
Store orders and revenue, not aov. The engine aggregates ratios correctly.
Available on Corporate Self-hosted
Includes Runner, API integration, and the full team workspace. Write to us if you'd like to learn more.