ForHosting KIT · Math

Cohen's h calculator

Success rates of 0.70 and 0.30 give a Cohen's h above 0.80, a large effect. Enter two proportions to get the signed and absolute h, both transformed values and the size band from negligible to large. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
P1
0.7
P2
0.3
You get
Phi1
1.9823131729
Phi2
1.1592794807
H
0.8230336921
Abs h
0.8230336921

When two groups show different success rates—conversion, pass rate, cure rate, click-through, or any binomial proportion—the raw difference p1 minus p2 is easy to quote but hard to compare across baselines near zero versus near one-half. Cohen's h is the classical effect size for that setting: transform each proportion with the arcsine (angular) map φ(p) equals two times arcsin of the square root of p, then subtract the transformed values. Equal steps in h correspond more closely to equal detectability on the proportion scale than equal raw differences do. This calculator accepts two finite proportions in the closed unit interval, rejects values outside zero to one with a clear validation error, and returns signed h, absolute h, the intermediate transforms, and a conventional magnitude band (negligible, small, medium, or large).

How Cohen's h is defined for two proportions

Start with two sample proportions p1 and p2, each a finite number in the closed interval from zero to one inclusive. The arcsine transform used by Cohen is φ(p) equals two times the inverse sine of the square root of p. Cohen's h is simply the signed difference h equals φ(p1) minus φ(p2).

A positive h means the first group sits higher on the transformed scale than the second; a negative h reverses the comparison. The absolute value |h| is what textbooks map to magnitude labels: values near 0.20 are conventionally small, near 0.50 medium, and near 0.80 large, with anything below 0.20 often treated as negligible for planning purposes.

The transform matters because a jump from 0.01 to 0.11 is not the same detection problem as a jump from 0.45 to 0.55 even though both raw differences equal 0.10; after the arcsine map those two gaps produce different h values that better reflect the unequal binomial variances near the edges of the unit interval. The procedure is fully deterministic: no random seeds, no wall-clock timestamps, and no network calls.

Where Cohen's h shows up in real work

Product and growth teams comparing conversion or click rates between variants often report h next to a significance test so stakeholders see both whether a lift is distinguishable from noise and how large it is on a scale comparable across baselines. Clinical and public-health analysts summarize differences in cure, response, or adherence rates with h when continuous-mean effect sizes such as Cohen's d or Hedges' g would misrepresent binary outcomes.

Survey and psychometrics research reports changes in item endorsement rates or pass rates with a formal effect size so curriculum and policy readers can judge practical importance beyond p-values alone. Data-science notebooks need a dependency-free Cohen's h when validating simulation output or checking that a published magnitude matches the intended arcsine difference for two rates.

If you later need a continuous-mean effect size, a two-proportion confidence interval, or a full hypothesis test for equality of rates, treat those as separate search intents and landings rather than overloading this Cohen's h calculator page.

A/B conversion and pass-rate comparisons

Product and education teams turn two observed rates into a signed Cohen's h and a magnitude band without installing a statistics package.

What is the formula for Cohen's h?

Transform each proportion with φ(p)=2·arcsin(√p), then h=φ(p1)−φ(p2). The sign shows which group is higher on the transformed scale; |h| is used for magnitude bands.

What values are accepted for p1 and p2?

Finite numbers in the closed unit interval [0, 1].

How are small, medium, and large |h| defined here?

Conventional cutoffs: |h|<0.20 negligible, 0.20–0.50 small, 0.50–0.80 medium, and |h|≥0.80 large. These match common textbook planning rules of thumb for Cohen's h.

How is this different from Cohen's d or Hedges' g?

Cohen's h is for two proportions (binary rates). Cohen's d and Hedges' g standardize mean differences for continuous outcomes; use those landings when your data are means and SDs, not rates.

What does it cost?

The browser tool is free and runs locally.

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/stat/cohens-h

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/stat/cohens-h \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"p1":0.7,"p2":0.3}'
{
  "p1": 0.7,
  "p2": 0.3
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "stat.cohens_h",
  "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.

Pricing for successful API calls is the published base of $0.002 per item; invalid input is not charged.

How Cohen's h is defined for two proportions

At the endpoints the transform is exact in ordinary floating-point arithmetic: φ(0) is zero and φ(1) is π.

What you send and what you get back

Send two required fields: p1 for the first group's sample proportion and p2 for the second group's sample proportion. Classic checks include a large gap such as 0.70 versus 0.30, a small gap such as 0.55 versus 0.45, equal proportions that force h to zero, and a deliberate out-of-range rate such as 1.2 that must fail. Each must be a finite number between zero and one inclusive; percentages such as seventy must be converted to 0.70 before calling the API. The engine also accepts classroom aliases proportion1 and proportion2, prop1 and prop2, and short names a and b for the two rates. Missing fields, empty strings, NaN, Infinity, and any value strictly outside the unit interval fail with invalid_input and are not charged—the error message states that a proportion in the closed interval from zero to one is required. Wire the free browser form for homework and demos, then call the identical contract from scripts when you need bulk effect sizes for many A/B rate pairs under one JSON shape. API pricing for successful calls is the published base of $0.002 per item; validation failures do not consume balance and never invent proportions to force a result.

Where Cohen's h shows up in real work

Secondary-school and college statistics courses constantly assign two-proportion effect-size drills alongside chi-square or z tests for independence; a single trusted oracle that returns cleaned JSON speeds grading without hand-looking arcsine tables. Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.

Homework and textbook effect-size keys

Students and graders verify φ(p1)−φ(p2) for classroom proportion pairs and pin the same JSON in automated quiz checkers.

Binary clinical and survey endpoints

Analysts report practical importance of differences in cure, response, or endorsement rates on the classical arcsine effect-size scale.

Read the full KIT documentation →