ID fals > Articole > Why Address Generators Produce Implausible Cities

Acest articol nu a fost încă tradus în Română — citești originalul în English. Disponibil și în:Deutsch, English, Українська

Why Address Generators Produce Implausible Cities

Until 18 July 2026, our address generator picked Ukrainian cities uniformly. There are 54 cities in the Ukrainian locale list, so each one — Kyiv, and also Kamianets-Podilskyi — had a 1 in 54 chance of appearing on any generated card. Kyiv holds about 16.4% of the population covered by that list. It was being drawn 1.9% of the time.

Nothing about any individual card looked wrong. Every city was real, correctly spelled, correctly paired with its oblast and a valid postal code. The defect was only visible in aggregate, and in aggregate it was enormous.

What uniform selection actually does

The measurement is simple. Take the locale's city list, compute the top-10 cities' share of the total under uniform selection (which is just 10/N), and compare it against their share of the actual population covered by the list.

LocaleCitiesTop-10 share, uniformTop-10 share, population-weighted
uk_UA5418.5%56.5%
ja_JP6016.7%54.0%
de_DE5717.5%49.8%

Uniform selection understates the top of every one of these distributions by a factor of about three. Put the other way: under uniform selection, more than 80% of generated addresses land outside the ten cities where roughly half the listed population lives.

At the level of a single city the distortion is larger still. In 300 generated cards drawn from the Ukrainian list:

CityPopulationObserved, uniformObserved, weightedWeighted expectation
Kyiv2,952,301124649.1
Kharkiv1,421,125123123.6
Odesa1,010,537111416.8

Under uniform selection each of the 54 cities averages 5.6 draws per 300 cards, and Kyiv duly got 12 — not because it is the capital, but because something has to come out on top of 54 noisy cells, and 12 is about what the top of that pile looks like. After weighting, Kyiv gets 46 against an expectation of 49.1, and all three cities land within 1.6 standard deviations of their weighted expectations.

A caution we walked into ourselves. Our first reading of the uniform run was that 12/12/11 was too high to be chance — each cell expects 5.6 with a standard deviation of 2.3, so 12 looks like a +2.8σ result, three times over. That reasoning is wrong, and it is wrong in an instructive way: 12 is not a randomly chosen cell, it is the largest of 54, and the maximum of many cells sits in the tail by construction. Simulating 200,000 uniform runs of 300 draws over 54 cities gives a mean maximum of 11.58, a median of 11, and a 95th percentile of 14. The probability of the top three cells reaching at least 12, 12 and 11 is 0.060 — uncommon, but nowhere near impossible, and exactly the shape a uniform draw produces. Before calling an observed number impossible, check that you are comparing it against the right distribution. We were comparing an order statistic against the distribution of a single cell.

This also means a 300-card tally cannot be read straight off the 18.5% in the table above. That 18.5% is the selection probability of a fixed set of ten cities; the ten cities that happen to come out on top of one noisy run will always cover more than that — about 30% empirically. The two columns in the previous table are both probabilities, and comparable to each other; a tally of observed winners is a third thing.

The harder problem: what is a city?

Weighting by population requires a population. That turns out to be the difficult part, because "the population of a city" is not one quantity.

CitySmall definitionLarge definitionRatio
Sydney~200,000 (City of Sydney LGA)5.3M (Greater Sydney)~26×
Chongqing~9M (urban core)32M (municipality)~3.5×
Tokyo9,733,276 (23 special wards)~14M (Tokyo Metropolis)~1.4×
Frankfurt760,656 (Gemeinde)~2.3M (Rhein-Main)~3×

Sydney is the extreme case: the City of Sydney local government area is a small central council covering a fraction of what anyone means by "Sydney." Chongqing's municipality is an administrative region the size of Austria, most of it rural. And Tokyo has no legal city at all — the City of Tokyo was abolished in 1943. What exists is 23 special wards, each a municipality in its own right, inside Tokyo Metropolis. We use the 23-ward figure, 9,733,276, because it is the closest thing to the entity people mean.

None of these choices is correct in the abstract. What matters is that the choice is made consistently within a locale, because the weights are relative. Mixing a metropolitan figure for one city with a municipal figure for another silently multiplies one city's draw probability by three or more against its neighbour — the same defect described for Argentina in Four Surnames That Do Not Exist, where municipio and localidad figures sit in one column.

The locale we left unweighted

Saudi Arabia's ar_SA list has 39 cities, and it still ships without population weights.

GASTAT, the Saudi statistics authority, publishes population by governorate. For 25 of the 39 cities a defensible urban figure can be assembled; for the remaining 14 it cannot — the city-level number simply does not exist in the published statistics. The options were to weight 25 cities and leave 14 at an arbitrary default, to substitute governorate populations for city populations (which would badly overstate small cities in large governorates), or to leave the locale uniform.

We left it uniform. A uniformly-drawn Saudi address is a known, documented approximation; a list where two thirds of the cities are weighted from one kind of unit and one third from another is a defect that would be invisible to everyone including us. Where the source does not support the metric, not computing it is the correct answer — an argument developed at length in How to Audit a Name-Frequency Dataset.

Of 64 locality files, 44 are population-weighted as of this writing and 20 remain uniform. The uniform 20 are not a backlog we have not got to; each is a case where the source does not support the metric, ar_SA above being the worked example. They stay uniform until the underlying statistics change, and the documented approximation is the correct output in the meantime.

The other tell: postal codes that cannot be right

City frequency is the distortion people notice least. Postal codes are the one they notice first, and Ireland is where naive generators fail most visibly.

An Irish Eircode is seven characters in two parts:

A65 F4E2
└┬┘ └─┬─┘
 │    └── unique identifier for ONE property
 └─────── routing key (geographic area)

The first three characters are a routing key covering a broad area. The last four identify an individual building. Two neighbouring houses on the same street have different Eircodes; there is no such thing as "the Eircode for Galway."

A generator that assigns every card in a city the same postal code is producing something that, for Ireland, is not a slightly-wrong address but a structurally impossible one — and it is spotted instantly by anyone who lives there. The same class of problem appears wherever postal codes go finer than the settlement: UK postcodes reach roughly 15 addresses, and Dutch postcodes plus house number identify a single address.

Our Irish list carries 72 entries against a 3-column schema, the largest of any locale relative to country size, precisely because routing keys do not map onto cities one-to-one.

What to check in any address generator

  1. Compare the top-10 city share against the real population share. If the generator is uniform, the first number is 10/N and it will be roughly a third of the second. This is one line of arithmetic and it is the whole diagnosis.
  2. Ask which population figure each city uses. Municipal, urban agglomeration, metropolitan, administrative region. Consistency inside a locale matters more than which one you pick.
  3. Check whether the country's statistics office publishes city-level figures at all. Several do not. That is a reason to leave a locale unweighted, not a reason to improvise.
  4. Check the postal code granularity. If the country's code identifies a building or a small cluster, one code per city is a visible defect.
  5. Generate a few hundred cards and count. Nearly every defect in this article is invisible on a single card and obvious in a tally of 300.

The underlying point is that plausibility in generated data is a distributional property. Each individual Ukrainian card was flawless. The set of them described a country where the capital is no more likely than a district town, and no amount of inspecting individual records would ever have revealed it.


Data as of 2026-07-18

City shares were computed on 18 July 2026 directly from the shipped locality files. Uniform shares are 10/N on the same file, so both columns describe the same city list and differ only in selection rule. Population figures are those embedded in the locality files; where a figure required a choice of boundary, the choice is stated in the text.

Sources and notes:

  • Locality files — 64 locales, of which 44 carry population weights and 20 are uniform, re-counted 22 July 2026. The three worked through above: uk_UA (54 cities, 18,033,518 covered population), de_DE (57 cities, 23,909,828), ja_JP (60 cities, 51,046,822). The covered population is the sum over listed cities, not the national population.
  • Japan — Statistics Bureau. Tokyo is represented by the 23 special wards, 9,733,276. The City of Tokyo was abolished in 1943 and has no legal successor as a single municipality. <stat.go.jp/english/&gt;
  • Germany — Destatis / Länder statistical offices. Municipal (Gemeinde) populations; Frankfurt am Main 760,656. <destatis.de/&gt;
  • Ukraine — Derzhstat. City populations; Kyiv 2,952,301. Figures predate current administrative disruption and are used as list weights, not as current demographic estimates. <ukrstat.gov.ua/&gt;
  • Saudi Arabia — GASTAT. Publishes by governorate; city-level urban figures unavailable for 14 of our 39 listed cities, so ar_SA remains unweighted. <stats.gov.sa/&gt;
  • Ireland — Eircode. Seven-character code: 3-character routing key plus 4-character unique property identifier. <eircode.ie/&gt;
  • Australia — ABS; City of Sydney LGA against Greater Sydney GCCSA. <abs.gov.au/&gt;

On the draw counts. The uniform (12/12/11) and population-weighted (46/31/14) counts are both measured from 300-card runs against the shipped 54-city Ukrainian file. The extreme-value figures used to interpret them — mean maximum 11.58, median 11, 95th percentile 14, and P(top three ≥ 12, 12, 11) = 0.060 — come from 200,000 simulated uniform runs of 300 draws over 54 equiprobable cities.

← Articole