Sample Size and DQO validation
Free sample size and Data Quality Objective (DQO) calculator for environmental monitoring: mean-vs-standard, two-sample and compliance-proportion decisions with a power curve.
- Scenarios
- 7
- Values agreeing
- 12
- Values differing
- 0
- Validated against
- USEPA ProUCL, R EnvStats / nortest
Sample sizes are compared against USEPA ProUCL and R EnvStats, and agree exactly across confidence, power, detectable difference, standard deviation and tail. A sample size is a count, so it is compared exactly rather than to a tolerance. Two designs are taken from the NSW EPA sampling design guidelines rather than from EPA QA/G-9; neither reference package offers them.
Scenarios
- Mean versus a standard, one-sidedTypical use
- Proportion exceeding a criterionTypical use
- The same design, two-sidedTypical use
- Two-sample comparison, per groupTypical use
- Two-sample comparison, two-sidedTypical use
- A difference much smaller than the spreadBoundary case
- A proportion difference smaller than the baselineBoundary case
Mean versus a standard, one-sided
Typical useInput
Settings: decision = meanVsStandard, tail = oneSided, confidence = 0.95, power = 0.8, delta = 2, standardDeviation = 3
Against USEPA ProUCL (ProUCL 5.2.0)
| Value | USEPA ProUCL | EnviroAutomate | Difference | Agreement band | Verdict |
|---|---|---|---|---|---|
| Sample size required sampleSize | 16 | 16 | 0 | exact match | Agree |
Against R EnvStats / nortest (EnvStats 3.1.0, nortest 1.0-4, R 4.6.1)
| Value | R EnvStats / nortest | EnviroAutomate | Difference | Agreement band | Verdict |
|---|---|---|---|---|---|
| Sample size required sampleSize | 16 | 16 | 0 | exact match | Agree |
Proportion exceeding a criterion
Typical useInput
Settings: decision = complianceProportion, tail = oneSided, confidence = 0.95, power = 0.8, baselineProportion = 0.1, proportionDelta = 0.05
Against USEPA ProUCL (ProUCL 5.2.0)
| Value | USEPA ProUCL | EnviroAutomate | Difference | Agreement band | Verdict |
|---|---|---|---|---|---|
| Sample size required sampleSize | 253 | 253 | 0 | exact match | Agree |
Not run for this scenario
- R EnvStats / nortest - EnvStats does not offer this sampling design, so there is nothing to compare it against here.
The same design, two-sided
Typical useInput
Settings: decision = meanVsStandard, tail = twoSided, confidence = 0.95, power = 0.8, delta = 2, standardDeviation = 3
Against USEPA ProUCL (ProUCL 5.2.0)
| Value | USEPA ProUCL | EnviroAutomate | Difference | Agreement band | Verdict |
|---|---|---|---|---|---|
| Sample size required sampleSize | 20 | 20 | 0 | exact match | Agree |
Against R EnvStats / nortest (EnvStats 3.1.0, nortest 1.0-4, R 4.6.1)
| Value | R EnvStats / nortest | EnviroAutomate | Difference | Agreement band | Verdict |
|---|---|---|---|---|---|
| Sample size required sampleSize | 20 | 20 | 0 | exact match | Agree |
Two-sample comparison, per group
Typical useInput
Settings: decision = twoSampleComparison, tail = oneSided, confidence = 0.95, power = 0.9, delta = 5, standardDeviation = 4
Against USEPA ProUCL (ProUCL 5.2.0)
| Value | USEPA ProUCL | EnviroAutomate | Difference | Agreement band | Verdict |
|---|---|---|---|---|---|
| Sample size required sampleSize | 12 | 12 | 0 | exact match | Agree |
Against R EnvStats / nortest (EnvStats 3.1.0, nortest 1.0-4, R 4.6.1)
| Value | R EnvStats / nortest | EnviroAutomate | Difference | Agreement band | Verdict |
|---|---|---|---|---|---|
| Sample size required sampleSize | 12 | 12 | 0 | exact match | Agree |
Two-sample comparison, two-sided
Typical useInput
Settings: decision = twoSampleComparison, tail = twoSided, confidence = 0.9, power = 0.8, delta = 2, standardDeviation = 3
Against USEPA ProUCL (ProUCL 5.2.0)
| Value | USEPA ProUCL | EnviroAutomate | Difference | Agreement band | Verdict |
|---|---|---|---|---|---|
| Sample size required sampleSize | 29 | 29 | 0 | exact match | Agree |
Against R EnvStats / nortest (EnvStats 3.1.0, nortest 1.0-4, R 4.6.1)
| Value | R EnvStats / nortest | EnviroAutomate | Difference | Agreement band | Verdict |
|---|---|---|---|---|---|
| Sample size required sampleSize | 29 | 29 | 0 | exact match | Agree |
A difference much smaller than the spread
Boundary caseInput
Settings: decision = meanVsStandard, tail = oneSided, confidence = 0.99, power = 0.95, delta = 1, standardDeviation = 10
Against USEPA ProUCL (ProUCL 5.2.0)
| Value | USEPA ProUCL | EnviroAutomate | Difference | Agreement band | Verdict |
|---|---|---|---|---|---|
| Sample size required sampleSize | 1580 | 1580 | 0 | exact match | Agree |
Against R EnvStats / nortest (EnvStats 3.1.0, nortest 1.0-4, R 4.6.1)
| Value | R EnvStats / nortest | EnviroAutomate | Difference | Agreement band | Verdict |
|---|---|---|---|---|---|
| Sample size required sampleSize | 1580 | 1580 | 0 | exact match | Agree |
A proportion difference smaller than the baseline
Boundary caseInput
Settings: decision = complianceProportion, tail = oneSided, confidence = 0.95, power = 0.9, baselineProportion = 0.05, proportionDelta = 0.05
Against USEPA ProUCL (ProUCL 5.2.0)
| Value | USEPA ProUCL | EnviroAutomate | Difference | Agreement band | Verdict |
|---|---|---|---|---|---|
| Sample size required sampleSize | 221 | 221 | 0 | exact match | Agree |
Not run for this scenario
- R EnvStats / nortest - EnvStats does not offer this sampling design, so there is nothing to compare it against here.
Evidence generated 2026-08-26 from a full comparison run against the versions named above.
