Reads one conversion experiment two ways at once
Reads one conversion experiment two ways at once. Frequentist: two-proportion test, p value, confidence interval on the absolute lift, and the sample size the requested minimum detectable effect needs at the requested power. Bayesian: Beta-Binomial posteriors, probability the variant is better, expected loss either way, credible intervals - closed form, not sampled, so the numbers repeat exactly. looks_taken carries the adjusted threshold and the rate you actually ran at.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://tools.halowerk.com/v1/abtest/evaluate
| Category | Everything else |
|---|---|
| Provider host | tools.halowerk.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 3 from 3 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-10 | valid payment request | 402 | $0.002 | 1262 ms |
Example input (from the provider)
{
"body": {
"confidence_level": 0.95,
"control": {
"conversions": 241,
"visitors": 4820
},
"looks_taken": 3,
"minimum_detectable_effect_rel": 0.1,
"variant": {
"conversions": 302,
"visitors": 4790
}
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"alternative": {
"default": "two_sided",
"description": "two_sided asks whether the groups differ, greater whether the variant is above the control.",
"enum": [
"two_sided",
"greater"
],
"type": "string"
},
"confidence_level": {
"default": 0.95,
"maximum": 0.9999,
"minimum": 0.5,
"type": "number"
},
"control": {
"description": "Baseline group. conversions may not exceed visitors.",
"properties": {
"conversions": {
"minimum": 0,
"type": "integer"
},
"visitors": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"visitors",
"conversions"
],
"type": "object"
},
"looks_taken": {
"default": 1,
"description": "How often the running test has been evaluated. Above 1 the threshold is adjusted and the real false positive rate is reported.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"minimum_detectable_effect_rel": {
"default": 0.1,
"description": "Relative effect the test should be able to find, e.g. 0.1 for ten percent above the control rate.",
"maximum": 5,
"minimum": 0.001,
"type": "number"
},
"power": {
"default": 0.8,
"description": "Probability of finding that effect if it is there.",
"maximum": 0.999,
"minimum": 0.5,
"type": "number"
},
"prior_alpha": {
"default": 1,
"description": "Beta prior, successes. 1 with prior_beta 1 is uniform.",
"maximum": 1000,
"minimum": 0.0001,
"type": "number"
},
"prior_beta": {
"default": 1,
"description": "Beta prior, failures.",
"maximum": 1000,
"minimum": 0.0001,
"type": "number"
},
"variant": {
"description": "Group under test. conversions may not exceed visitors.",
"properties": {
"conversions": {
"minimum": 0,
"type": "integer"
},
"visitors": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"visitors",
"conversions"
],
"type": "object"
}
},
"required": [
"control",
"variant"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}