Margin of Error: Technical Details
How district-level MOEs are computed from ACS tract and block group data
What the ACS Publishes
For every estimate it releases, the ACS also publishes a margin of error (MOE) at the 90% confidence level. This applies to estimates at every geography the ACS reports — including census tracts and block groups. If the survey were repeated many times with independent samples, the true population value would fall within ±MOE of the published estimate approximately 90% of the time.
As with the main estimates, the ACS does not publish district-level margins of error directly. Computing them requires aggregating tract and block group estimates, and propagating their individual MOEs into a combined district-level MOE. Our methodology for doing so is explained below.
MOE Propagation — Count Variables
Interior tracts only
When calculating the MOE for an estimate composed of multiple tracts, we take the square root of the sum of squared component MOEs:
\[\text{MOE}_\text{district} = \sqrt{\sum_i \text{MOE}_i^2}\]
This follows the Census Bureau’s standard formula for aggregating estimates across geographies. The formula assumes independence across units, which will not necessarily hold. For instance, if two bordering Census tracts undercount the share of renters living there for similar underlying reasons, the margin of error will be an underestimate of the true error. However, the Census Bureau treats it as the appropriate method for geographic aggregation.
Split tracts
When a tract straddles the district boundary, we scale the MOE proportionally with the weight of the tract.
\[\text{MOE}_\text{district} = \sqrt{\sum_i \left(w_i \cdot \text{MOE}_i\right)^2}\]
For interior tracts \(w_i = 1\) and this reduces to the simple case above. For split tracts \(w_i < 1\), the contribution to the sum is reduced: a split tract with weight 0.4 and MOE of ±2,000 contributes (0.4 × 2,000)² = 640,000 to the sum, versus 4,000,000 for an interior tract with the same MOE.
MOE Propagation — Rate Variables
Most percentage and rate variables — share of renters, share foreign-born, poverty rate, etc. — are not published by the ACS as rates at the tract level. Instead, the ACS publishes the underlying count variables separately: a numerator count (e.g., renter-occupied units) and a denominator count (e.g., total occupied units), each with its own MOE. The district rate is computed by aggregating both counts to the district level and then dividing.
The numerator and denominator are each aggregated using the count formula (with split-tract weights where applicable):
\[\text{MOE}_N = \sqrt{\sum_i \left(w_i \cdot \text{MOE}_{n,i}\right)^2} \qquad \text{MOE}_D = \sqrt{\sum_i \left(w_i \cdot \text{MOE}_{d,i}\right)^2}\]
The district rate \(\hat{R} = N/D\) is then a ratio of two uncertain quantities. The Census Bureau’s ratio formula gives the combined MOE:
\[\text{MOE}_{\hat{R}} = \frac{1}{D}\sqrt{\text{MOE}_N^2 + \hat{R}^2 \cdot \text{MOE}_D^2}\]
If the expression under the radical is negative (which can occur at extreme proportions), the Census Bureau prescribes a conservative fallback using addition rather than subtraction.
MOE Propagation — Median Variables
Medians cannot be aggregated algebraically — the median of a union of tracts is not recoverable from tract-level medians alone. The principled approach would be to aggregate the underlying bracket distributions across tracts and re-interpolate, but this requires pulling dozens of additional ACS variables per median. As a practical approximation, district medians are estimated as a population-weighted average of tract medians:
\[\hat{M} = \frac{\sum_i u_i m_i}{\sum_i u_i}\]
where \(m_i\) is the tract-level median and \(u_i\) is the tract universe count (e.g., households for income, renter-occupied units for gross rent).
MOE for the weighted average
The district median estimate is a ratio \(\hat{M} = N/D\) where both the numerator \(N = \sum_i u_i m_i\) and denominator \(D = \sum_i u_i\) are uncertain — \(m_i\) because it is a survey estimate, and \(u_i\) because universe counts also carry sampling error. Since \(N\) and \(D\) share the \(u_i\) terms, they are correlated. Applying the delta method and resolving the covariance, the cross-terms cancel to give:
\[\text{MOE}_{\hat{M}} = \frac{1}{D}\sqrt{\sum_i \left[u_i^2 \cdot \text{MOE}_{m,i}^2 + \left(m_i - \hat{M}\right)^2 \cdot \text{MOE}_{u,i}^2\right]}\]
The two terms have distinct interpretations:
- \(u_i^2 \cdot \text{MOE}_{m,i}^2\) — uncertainty in the tract median, scaled by tract size. Large tracts with imprecise medians dominate this term.
- \((m_i - \hat{M})^2 \cdot \text{MOE}_{u,i}^2\) — uncertainty in the population weights, scaled by how far each tract’s median is from the district average. A tract whose median equals the district average contributes zero regardless of its universe MOE; tracts at the tails of the income distribution contribute most.
In practice the second term is small relative to the first, since universe counts are measured more precisely than medians. But it is included for correctness and is computable from the same variables already pulled for the point estimates.
Split tracts are handled by scaling both \(u_i\) and \(\text{MOE}_{u,i}\) by the tract weight \(w_i\) before applying the formula.