ForHosting KIT · Developer Utilities

Check A/B test sample size adequacy and conversion significance

This A/B test significance checker turns visitor and conversion totals for two landing-page variants into observed conversion rates, their difference, and a pooled two-proportion z-score.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

It also checks whether both variants contain enough conversions and non-conversions for the normal approximation to be reasonably supported. Use it for a quick, transparent signal before making a landing-page decision, while remembering that statistical notation does not replace experiment design, traffic-quality checks, or a preselected stopping rule.

Enter clean totals from the same experiment

Provide the number of visitors and conversions for variant A and variant B. A visitor count represents the people or eligible sessions assigned to that version, while a conversion count represents those that completed the same predefined goal. Keep the attribution window, audience rules, bot filtering, and conversion definition identical across both variants. The calculator rejects a variant with zero visitors because no conversion rate can be observed, and it rejects conversions greater than visitors because that would not describe a one-conversion-per-visitor binomial outcome. If your metric allows repeat purchases or several events per visitor, aggregate it into a visitor-level converted-or-not outcome before using this test. Do not mix totals from different dates, campaigns, devices, or allocation rules unless those differences were part of the planned experiment. Random assignment and simultaneous exposure matter: a mathematically precise z-score cannot repair weekday effects, a broken split, duplicated visitors, or tracking that fires differently between versions. Confirm those basics before treating the result as evidence about the landing page itself.

Read the rates, difference, and z-score together

The observed rate for each variant is conversions divided by visitors. The absolute difference is variant B's rate minus variant A's rate, so a positive result favors B and a negative result favors A. The percentage-point difference expresses the same gap on a familiar 0-to-100 scale; it is not relative uplift. The calculator then pools conversions across both groups to estimate the standard error expected under the null hypothesis that the underlying rates are equal. Dividing the observed difference by that standard error produces the z-score. A result is flagged as statistically notable when its absolute z-score is at least 1.96, the familiar two-sided 5% threshold. This is a simple screening rule, not a promise that the winning page will reproduce the same uplift. It does not return a Bayesian probability, correct for repeated checking, adjust for multiple variants, or incorporate revenue value. Read direction, practical size, and statistical flag together instead of promoting whichever single number looks most favorable.

Respect the sample adequacy caveat before deciding

The two-proportion z procedure relies on a normal approximation. This checker marks the sample as adequate only when each variant has at least five conversions and at least five non-conversions. That rule is a practical minimum, not a guarantee of strong power. When it fails, the z-score is still displayed for transparency, but its threshold flag should be interpreted cautiously; an exact method or more observations may be more appropriate. Even when the check passes, decide whether the experiment could detect the smallest effect that matters commercially. A tiny but statistically notable gain may not pay for implementation, while a promising large observed gap may remain uncertain when traffic is limited. Avoid stopping the moment the score crosses 1.96, because repeated peeking increases false positives unless the experiment uses a sequential design. Set the target metric, minimum detectable effect, duration, exclusions, and stopping rule before launch. Finally, inspect guardrail metrics and segment balance. This calculator summarizes one binary outcome; it cannot reveal slower pages, refund changes, sample-ratio mismatch, or an uplift isolated to suspicious traffic.

Screen a landing-page winner

Compare sign-up totals after a planned test and see whether the observed gap clears a familiar two-sided z threshold.

Check whether early data is too sparse

Spot variants that lack enough conversions or non-conversions for the normal approximation before presenting a result.

Audit a reported experiment

Recalculate rates and the pooled z-score from raw totals to verify a dashboard summary or stakeholder claim.

What does statistically notable mean here?

It means the absolute pooled two-proportion z-score is at least 1.96, corresponding to a simple two-sided 5% threshold under the test assumptions.

How is sample-size adequacy checked?

Each variant must contain at least five conversions and five non-conversions. This supports the approximation but does not prove the test has enough power for your business target.

Does a notable result prove variant B is better?

No. It is evidence under a specific statistical model, not proof of causation or future performance. Random assignment, reliable tracking, and a planned stopping rule still matter.

Can conversions be greater than visitors?

No. This calculator models a binary visitor-level outcome. Convert repeat-event data into the number of unique visitors who converted before submitting it.

What does the calculator cost?

It is free to run in the browser on this page. API requests cost $0.002 each.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/ecom/landing-page-ab-test-significance

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/ecom/landing-page-ab-test-significance \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"variant_a_visitors":5000,"variant_a_conversions":500,"variant_b_visitors":5000,"variant_b_conversions":600}'
{
  "variant_a_visitors": 5000,
  "variant_a_conversions": 500,
  "variant_b_visitors": 5000,
  "variant_b_conversions": 600
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "ecom.landing_page_ab_test_significance",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →