Difference
+10.0 pts
INSTRUMENT | Eval statistics
5 cited sources
Compare two pass rates measured on different case sets: a pooled two-proportion z test, Fisher exact when an arm is small, and an interval on the difference.
Two systems scored on different case sets. This page tests whether the gap between their pass rates beats sampling noise. Rates with overlapping per-arm intervals can still differ significantly.
Same cases under both? McNemar handles pass or fail, the paired comparator handles scores.
Both case sets must be comparable and each case counted once per arm; counts cannot show either, and a suite built otherwise needs case-level analysis. Built on our eval significance walkthrough; confidence interval defines the bounds.
Showing your last valid result. Update the inputs above to recompute.
Two-sided p-value
0.0477
Smallest expected cell 15.0, at or above 5, so the pooled z is the reading.
Difference
+10.0 pts
Interval (Newcombe)
[+0.01, +19.9] pts
Evidence line pooled z, 90/100 vs 80/100, 95% two-sided, p = 0.0476704
Expected counts under the pooled null: 85.0, 15.0, 85.0, 15.0. Smallest 15.0, against a cutoff of 5.
| Test | Statistic | Two-sided p |
|---|---|---|
| pooled z | recommended | z = 1.98 | 0.0477 |
| Fisher exact | cross-check, not the reading | exact, 31 tables | 0.0734 |
Each arm on its own, with a 95% Wilson interval on its rate.
| Arm | Passed | Rate | Interval on the rate |
|---|---|---|---|
| Arm A | 90 of 100 | 90.0% | [82.6, 94.5]% |
| Arm B | 80 of 100 | 80.0% | [71.1, 86.7]% |
The two per-arm intervals overlap, and the difference is resolved anyway. That is the whole reason to run a test: overlap does not settle the comparison, and the test above does.
95% interval on the difference (Arm A minus Arm B), in percentage points. A negative bound is a real regression and is never clamped.
| Method | Lower | Upper |
|---|---|---|
| Newcombe (1998) | recommended | +0.01 | +19.9 |
| Wald (unpooled) | contrast only | +0.2 | +19.8 |
z = (p1 − p2) / √(p̄(1 − p̄)(1/n1 + 1/n2))How?
Two arms, each entered as cases passed out of cases run. Under the null hypothesis that both arms have the same true rate, the best estimate of that shared rate is the pooled proportion p̄ = (x₁ + x₂) / (n₁ + n₂), and the standard error of the difference is √(p̄(1 − p̄)(1/n₁ + 1/n₂)). Pooling is what makes this a test rather than a description: an unpooled standard error estimates each arm separately and answers a different question. On the default example the two differ in the second decimal place, 1.98 against 2.00, and both clear 0.05, so a wrong denominator here is invisible in the verdict.
The two-sided p-value is erfc(|z| / √2), evaluated directly. The algebraically identical 2 × (1 − Φ(|z|)) is a different number in floating point: at z = 10 the subtraction returns exactly 0, so a real result would print as an impossible one.
Which test runs. The normal approximation needs enough expected cases in every cell. This page prints all four expected counts under the pooled null, n₁p̄, n₁(1 − p̄), n₂p̄ and n₂(1 − p̄), and applies Cochran's rule: run the pooled z when the smallest is 5 or more, and Fisher's exact test otherwise. Fisher's exact conditions on both margins and sums the hypergeometric probability of every table at least as extreme as the one you have, in the two-sided sense of every table whose probability does not exceed the observed table's. The rule is on the page so you can see which side of it your counts fall on.
The interval on the difference. The recommended bound is Newcombe's square-and-add construction on the two Wilson intervals: with (l₁, u₁) and (l₂, u₂) the per-arm bounds and θ = p₁ − p₂, the interval runs from θ − √((p₁ − l₁)² + (u₂ − p₂)²) to θ + √((u₁ − p₁)² + (p₂ − l₂)²). It holds up at small counts and at rates near 0 or 1, where the textbook Wald interval does not. The Wald interval, θ ± z√(p₁(1 − p₁)/n₁ + p₂(1 − p₂)/n₂) clipped to the possible range, is shown because you can reproduce it by hand, never as the reported bound. The field has not settled this question; Miettinen and Nurminen's score interval is the live alternative, and moving to it would want the paired page's ranking revisited at the same time.
Reading several comparisons. Setting the comparison count above 1 divides the threshold by that count, the Bonferroni correction. It moves the bar and nothing else: the p-value is unchanged, the test is unchanged, and the interval keeps its full stated confidence level.
Worked example A, the default: 90 of 100 against 80 of 100 at 95%.
Worked example B, the small-arm switch: 9 of 10 against 4 of 10 at 95%.
Formula: z = (p1 − p2) / √(p̄(1 − p̄)(1/n1 + 1/n2))
No, and this is the most common way a comparison goes wrong. Two 95% intervals on separate rates can overlap while the difference between those rates is resolved at the same level. Under a true null, 95% intervals overlap about 99% of the time, so an overlap check at that width is a far more conservative test than the one you meant to run. Roughly 84% intervals are what an overlap check would need to match a 5% test. Read the p-value and the interval on the difference; the per-arm intervals on this page are here to show you each rate's own precision.
They answer different questions. The test asks how surprising this gap would be if both arms had one shared rate, so it estimates that shared rate by pooling and measures the gap against it. The interval asks how large the difference plausibly is, which assumes no shared rate at all, so it uses each arm's own estimate. Pooling inside an interval would build in the very assumption the interval is there to relax.
When the smallest of the four expected counts under the pooled null falls below 5. That is Cochran's rule, and the page prints all four counts and names the one that decided, so you can see the switch happen. Below that cutoff the normal approximation behind the z is unreliable, and the exact test conditions on the margins instead of approximating anything.
The one the selection rule picked, which the page marks recommended. An exact test is conservative: it holds the error rate at or below the nominal level rather than at it, so its p tends to be larger. That difference is a property of the method and not evidence about your systems, so picking whichever p is smaller turns a method choice into a result. The other row is on the page as a cross-check, labeled as one.
Both readings stay on the page and the tool says so in a note. Fisher's exact test is conservative and the Newcombe interval is score-based rather than the exact test's dual, so the two are not guaranteed to agree at small counts. Neither one is wrong. What the pair is telling you is that you are at the edge of what your case counts can settle, which is a more useful reading than either figure alone.
If both systems were scored on the same cases, item for item, your data are paired and this is the wrong page. Pairing removes the case-to-case difficulty that both arms share, which is a free halving of the variance of the difference at a correlation of 0.5, or about 29% off the standard error. Use the McNemar calculator for pass or fail and the paired comparator for scores. If you have not run anything yet, the design chooser prices both designs before you commit.
Counts cannot tell you, and neither can this page. The test assumes both arms drew from the same population of cases and that each case is counted once. An arm that happened to draw easier cases, a case mix that shifted between the two runs, or one case scored several times with every score counted will all move the p-value with no model changing. If any of those is a live risk, the comparison needs case-level analysis rather than two counts, and clustering at the case level is the usual fix.
The evidence line beside the result. It carries the test that ran, both counts, the confidence level and the p-value at full precision, which matters because the displayed p stops at four decimals and a real result can sit far below that. Paste it, and the difference in points, into the release gate designer as the evidence behind a rule. This page emits no verdict of its own about shipping: it reports what the numbers support and stops there.