The city collection · Nairobi & Lagos
Two cities.
More perspective.
Explore two synthetic cities through the same connected model. Compare what is available, follow the records, and find the right starting point for your work.
One collection. Two perspectives.
Scope & sources ↗
01 / Compare
Find what matters to you.
Choose a domain, compare the published metrics, or explore how the models change through time.
Domain coverage
| Domain | Nairobi Kenya | Lagos Nigeria |
|---|
Source field counts describe each original download. Samples from different domains are independently selected.
Matching definitions from the published synthetic city snapshot of 2 September 2026.
How to read these metrics
Values come from one dated extract. Older domain guides may show different figures. Counts can cover different histories; they are not population rates, observed city statistics or a ranking of city performance. Unpublished counts remain unavailable.
Inspect the original metrics JSON ↗Historical model + current snapshot
Watch two cities grow.
Explore the historical population model, ending with the same published resident totals shown on each City Twin.
Both bars use one scale: 0–30 million. Historical values through 2025 retain the supplied population model. The 2026 endpoint uses the 2 September 2026 snapshot: 5,083,540 Nairobi and 26,387,378 Lagos synthetic resident records. This change of basis is not an annual growth estimate; neither series represents observed city populations.
03 / Take it with you
Both cities.
One free download.
40 original CSV files, comparison metrics, model timelines and runnable Python + SQL.
Run the comparison in Python & SQL
Extract the ZIP and run this command in its folder. Python 3 is the only prerequisite; no packages, account or network connection are needed.
python compare.pyThe script verifies hashes and source values, then runs the supplied SQLite queries. It writes no files. Samples remain separate by city and domain.
SELECT domain, metric,
MAX(CASE WHEN city = 'nairobi' THEN value END) AS nairobi,
MAX(CASE WHEN city = 'lagos' THEN value END) AS lagos
FROM metrics
WHERE status = 'published'
GROUP BY domain, metric;Scope, sources & evidence
Nairobi and Lagos are the only cities included; they do not represent all of Africa or their countries. Source dates and original schemas travel with the downloads. The row total spans different record types and is not a count of people.
City IDs must remain distinct. Independently selected domain samples do not form a single connected population. Insurance's unavailable source zero is marked unavailable in the comparison. Record counts and structural checks do not establish empirical accuracy.

