W3BS A/B TESTING · OPENABTEST 0.2 DRAFT
A/B tests that do not lie to you.
Define variants here, ask w3bs.org which one each participant gets, and report what they saw and did. Assignments are sticky and decided on the server; results count unique participants per variant, show a 95% interval and never crown a winner for you. Everything exports as an OpenABTest manifest and event stream, so the experiment is yours to take anywhere.
HOW IT WORKS
Three calls from your server.
# 1. Your server asks which variant this participant gets (sticky: same answer every time)
curl -s https://w3bs.org/api/ab/assign \
-H "Authorization: Bearer $W3BS_AB_KEY" -H 'Content-Type: application/json' \
-d '{"experiment":"checkout-button","participant":"user-1842"}'
# {"variant":"control","parameters":{...},"assignmentId":"a_...","new":true,...}
# 2. You showed it
curl -s https://w3bs.org/api/ab/exposure -H "Authorization: Bearer $W3BS_AB_KEY" \
-H 'Content-Type: application/json' -d '{"experiment":"checkout-button","participant":"user-1842","surface":"checkout"}'
# 3. The goal happened (once per participant unless you send distinct conversionIds)
curl -s https://w3bs.org/api/ab/conversion -H "Authorization: Bearer $W3BS_AB_KEY" \
-H 'Content-Type: application/json' -d '{"experiment":"checkout-button","participant":"user-1842","valueMinor":4900,"currency":"USD"}'Free for up to 50 experiments and 8 variants each. Participant ids are opaque: send an internal id or a hash, never an email.
WHAT IT WILL NOT DO
Honest by default.
- No client-side coin flips: the first assignment is stored and every later call returns it, so a reload never switches someone's variant.
- Assigned, exposed and converted are separate counts. A conversion without a recorded exposure is shown as such, not dropped.
- Zero participants reads no data, not 0%.
- No automatic winner. Meeting the sample floors is not significance, and a person makes the call.
- A started experiment cannot be edited. Change the test, make a new experiment.