■ METHOD & GAPS
How this is built,
and what it is missing
A research artifact that admits its edges is more credible than one that pretends completeness. This page is the admission: the sources, the definitions, the numbers that describe what is missing, and the mechanism for fixing it.
The gaps, up front
The partnership gap skews toward the famous: operators and their immediate suppliers disclose, everyone else does not. Defence and agricultural autonomy are researched thinly and say so on Beyond Roads. The funding timeline knows of three possible missing events and lists them on Economics. Every one of these gaps is an invitation: if you work in this industry and can close one, write to me and I will.
Sources, and how conflicts are handled
Preferred sources, in order: company investor-relations releases and securities filings, NHTSA recall filings and Federal Register notices, UNECE and IMO press releases, national regulators' registers, and the major outlets that reported them. Aggregator and SEO-driven statistics sites I treat with suspicion, since several recompute figures from each other; I dropped one entirely after it cited regulatory actions dated in the future.
Where credible sources genuinely disagree, I show the spread rather than silently choosing: Waymo's weekly rides appear as "about 500k (mid-2026)" with the 400,000 to 500,000 range noted, their fleet as the 3,067 of their own December 2025 filing with press estimates of 3,000 to 4,000 alongside, and their comparative safety claim in all three published forms with dates. A map that resolves conflicts invisibly is asserting an authority it has not earned.
Every dated figure carries its date in the text. A fact with no date does not go on the site.
The financial comparison on the Economics page makes that grading explicit per cell. Each figure carries one of six markers: disclosed, stated by the company or in a filing; reported, carried by a major outlet but not company-confirmed when I checked; estimated, derived or modelled here rather than observed; carried, taken from my own company dataset; not disclosed, never published by the company; parent-funded, where the company is wholly owned and the figure does not exist separately; and unverified, where figures circulate but none could be tied to a source. A blank cell always states which of these it is, because "Zoox has raised nothing" and "Zoox is owned by Amazon and does not raise" are different facts and a shared blank would flatten them into one.
The quarterly charts on the same page run on a separate event file with a $50M floor reaching back to 2021, a superset of the $200M timeline. Only the portion at or above $200M from August 2023 is intended to be complete; everything earlier or smaller is partial, is shaded as such in every chart, and is listed in that file's known gaps. The unit-economics comparison is different in kind again: no operator publishes fully-loaded cost per mile, so every input there is an estimate I assembled, labelled as one on the page and in any image exported from it.
The taxonomy
Eleven layers, assigned by an organisation's primary role: AV Driver / Autonomy Software · Sensing & Compute Hardware · Data, Maps & Simulation · AV Middleware & Tooling · Vehicle Platform & Manufacturing · Demand & Commercial Platforms · Fleet Operations & Depot · Connectivity & Infrastructure · Capital, Insurance & Risk · Governance: Regulators & Government · Governance: Standards, Safety & Advocacy. Multi-layer membership is shown as pips on a company's single chip, never as duplicate tiles, so counting by eye stays honest. AV Middleware & Tooling holds three organisations and renders inside the autonomy district on the ecosystem map; it remains a real layer in the data.
The four stages of the loop map onto the layers: the Request is the demand platforms, the Driver is autonomy software plus sensing, data, middleware and connectivity, the Vehicle is platform and manufacturing, the Pitlane is fleet operations. Capital and both governance layers sit across every stage, because that is true of them and of no other layer. That grouping is how the home page tells the ride; the ecosystem map no longer draws it, because a company's layer is the thing a reader actually looks up and the stage is not.
On the chart itself the organisations whose driver a member of the public can meet sit inside a wide rectangle at the centre. Membership is a test rather than a fixed list the driver carries the public today, or is verifiably about to argued in full on Passenger Autonomy. The ten remaining layers tile the frame around it as rooms of a single plate, sharing their borders with their neighbours: four across the top, one tall room down each side, four along the bottom, running clockwise in the order a ride passes through them. Every room is axis-aligned and every label is horizontal.
Company logos are fetched by the browser, not committed: each candidate source is measured before it is shown, and a mark under 64 pixels is passed over for a better one rather than enlarged. Pictures come from Wikipedia's summary API, which is why they appear only for organisations with an article. Share prices need a quote provider with cross-origin access, so they are configured rather than assumed; where none is set the price is simply absent. Leadership names link to a checked profile where I have one, and otherwise to a LinkedIn people search: a guessed profile is worse than a search, so where two people share a name and employer the search stays.
The status field distinguishes what "exited" used to blur: active, acquired (absorbed, brand retired), wound-down (orderly shutdown), and bankrupt (insolvency proceedings). Struck-through chips on the chart carry one of the last three. Confidence is a three-value enum: Confirmed means multiple strong sources or primary filings; Reported means credible but single-sourced or pending; Historical means the record describes a past state kept for context.
The tools, and the update cadence
Everything derived is frozen at build time by scripts in the repository's tools/
directory: validate-data.py asserts the invariants every page depends on and fails
the build otherwise; build-poster-layout.py freezes the ecosystem map's geometry and
verifies all 562 organisations placed; build-indexes.py derives partner lists,
counts and the search index; fetch-logos.py is an optional upgrade that commits real logo assets for print and export, since the chart otherwise loads marks at runtime from a public favicon service and falls back to a monogram tile where none resolves;
make-csv.py exports the flat file. The browser renders; it does not solve.
Records carry a lastVerified date where a claim has been re-checked. The intended
cadence is a monthly data pass and a quarterly logo refresh, and the two fastest-aging subjects,
Chinese permit policy and Waymo's freeway operations, are flagged where they appear. The full
dataset is downloadable: JSON ·
CSV · partnerships ·
funding timeline.
Corrections
A company that should be listed, a partnership I have not mapped, a figure that has aged, a description your organisation would put differently: write to YOUR-EMAIL@example.com. I apply corrections with the same sourcing rules as everything else, and the list of companies I have spoken with directly grows exactly this way.
I am [YOUR NAME]: [one line on your background and why this exists]. Corrections and additions are welcome at the same inbox.