Choosing an estimand¶
An estimand states which population quantity the estimate targets. Counts can produce means, totals, or ratios. The input type does not determine the target.
Mean¶
sample.mean("n_people") estimates the average value per population unit. A
mean of a binary indicator is a population proportion.
Population total¶
sample.total("n_people", population_size=N) estimates N times the sample
mean. N must count the same row-level population units represented by the
sample. The method requires N because observed counts alone do not identify a
population total.
The current variance estimator uses a with-replacement approximation. It does not apply a finite population correction, even when the sample is a large part of the population.
Ratio of totals¶
sample.ratio("n_women", "n_people") estimates:
sum(n_women) / sum(n_people)
Rows with larger denominators contribute more to the result. This is the usual aggregate proportion when each row records a category count and a total count.
Mean of row-level ratios¶
sample.mean_of_ratios("n_women", "n_people") estimates:
mean(n_women / n_people)
Every row contributes equally. The method requires a positive denominator in every row. It does not silently remove rows because doing so changes the target population. Filter the DataFrame first when the intended population excludes zero-denominator rows.
The ratio of totals and the mean of ratios answer different questions. They are equal only in special cases, such as a constant denominator.