Every map you have seen of a ZIP Code is a guess. Not a rough guess, not a simplification: a constructed object that stands in for a thing with no shape at all. I knew this vaguely. Then I read the Census Bureau’s own description of why it had to invent the stand-in, and the sentence that does the work is four words long.
That is the Census Bureau’s phrasing, not mine. From its documentation of the 2011 geography changes, still published:
ZIP Codes and ZIP Code Tabulation Areas, or ZCTAs, are not the same concepts. ZIP Codes are linear, as they are a collection of postal delivery routes, while ZCTAs are approximate area representations of U.S. Postal Service (USPS) 5-digit ZIP Code service areas.
Linear. A ZIP Code is a set of routes a carrier walks or drives. The Bureau’s current ZCTA page is more specific about what that means in a database:
Each delivery route is composed of street networks, and/or individual units with high mail volumes, such as high-rise buildings or individual business locations. Within the Census Bureau’s MAF/TIGER System, ZIP Codes are stored as one component of discrete addresses tied to delivery points, including specific housing unit locations. The result is a point-based dataset unsuitable for mapping and many analysis applications.
So the underlying object is a pile of delivery points, each tagged with a five-digit code. There is no boundary in there. A boundary is something you draw afterwards, by deciding which empty space between the points belongs to which pile.
Which is exactly what a ZCTA is. The Bureau builds them by taking census blocks and assigning each one wholesale:
ZCTAs are defined by allocating each block that contains addresses to a single ZCTA, usually to the ZCTA that reflects the most frequently occurring ZIP Code for the addresses within that tabulation block.
A majority vote, block by block. If a block’s addresses are split between two ZIP Codes, the minority disappears into the winner. That is not an error in the method, it is the method, and it is the only honest way to get an area out of a point set when you are forbidden from publishing the points.
Here is the part I had never thought about, and it reframes the whole thing from a data-quality story into something stranger. The Bureau explains why it cannot simply give you the points:
The Census Bureau is restricted by Title 13 from releasing individual housing unit addresses or location information to the public, so point-based ZIP Code data are unsuitable for distribution and publication. However, by aggregating the points and extrapolating them to a polygonal-based unit (census tabulation blocks), disclosure concerns can be addressed
So the polygon serves as a privacy mechanism, which is a long way from the convenience I had assumed it was. The reason American ZIP Code maps are made of blocky census-block mosaics is that the precise thing is legally unpublishable, and aggregating it into areas is what makes it releasable at all.
Which means the familiar ZIP Code map is doing two jobs that nobody separates: approximating a shape that does not exist, and obscuring a point set that cannot be shown. Every time someone joins household income to a ZIP boundary and colours it in, they are using an artifact built to protect the addresses it was derived from.
And the Bureau is blunt about the limits of its own product, in the same breath as releasing it:
data users should not use ZCTAs to identify the official USPS ZIP Code for mail delivery
A geography whose own publisher tells you not to use it for the purpose its name implies. It is updated decennially, while USPS changes ZIP Codes continuously.
Which brings me to why I went looking. USPS now sells ZIP Code boundary polygons, and its one-pager says what they are computed from:
~40,000 polygons, refreshed quarterly.
Put that next to the Census description and something clicks. For sixty years the areal version of a ZIP Code was an inference from a static point set, constrained by a disclosure law, voted on block by block, refreshed every ten years. The new version is an inference from motion. Nobody drew it and nobody voted on it. It is where the vehicles went, at one-second resolution, six or seven days a week.
That is the first genuinely new thing to happen to this data in my lifetime of it, and it is easy to miss because the announcement reads like a product launch. The shape still does not exist in the sense a county boundary exists. But for the first time the stand-in is traced rather than estimated, and the tracing instrument is the delivery fleet itself.
I want to be careful about what that is worth. A traced boundary is still a boundary around a linear object, so none of the old category errors go away. A ZIP Code still has no interior in any meaningful sense: the “area” is the convex-ish envelope of a walking pattern, and a household inside the envelope may be served by a different code. Joining demographics to a USPS polygon is the same category error as joining them to a ZCTA, performed against a better approximation. Precision is not the thing that was wrong.
Two things are true at once and they point in opposite directions.
The authoritative version is now a paid annual subscription, offered in three tiers that differ by how far you may pass it on, with a licence agreement and an order form, closing with “All Rights Reserved”. The free version remains the decennial approximation whose publisher advises against using it for mail delivery.
So the better object exists and the public still has the worse one. That is not a scandal and USPS is self-funding by statute, so a data product is an unsurprising thing for it to make. But it does mean the sixty-year gap in open ZIP geography did not close last month. It got a commercial alternative, which is a different event, and the maps in journalism and public health and lending analysis will keep being built on the block-vote mosaic for the foreseeable future.
The thing I will actually carry from this is smaller and more useful than any of that. When a dataset has no natural shape and you need one anyway, the shape you get encodes whatever constraint forced the choice. ZCTAs are blocky because census blocks were the releasable unit under a disclosure statute. The USPS polygons are smooth because GPS breadcrumbs are dense. Neither is the ZIP Code. Both are portraits of the instrument that made them, and the instrument is usually invisible by the time the file reaches you as zcb_full.geojson or tl_2020_us_zcta520.shp.
Potential follow-up, and it is checkable. The USPS product ships a clipped and an unclipped variant, with the clip produced against a coastline shapefile. For any coastal ZIP Code, the difference between those two layers is pure cartographic judgement with no delivery data behind it at all. Comparing clipped against unclipped against the ZCTA for one coastal code would show, in a single picture, how much of a “ZIP Code boundary” is measurement and how much is a decision about where the sea starts.