This is the foundation beneath Fleet-Scale Root-Cause Analysis and the posts that follow it. Those posts built the method of diagnosing a population — de-mix the mixture, draw the cohort boundary, fit the hazard, run the surveillance. Every one of them opens with the same silent assumption: that you already hold a clean, joined, trustworthy table, one row per car. You almost never do. That table is the output of a long, dull pipeline nobody writes about, and when the pipeline is wrong the analysis on top is confidently wrong — a plumbing artifact wearing the costume of a finding.
This post is how the table actually gets built from the raw. It takes the same 6,000-car EV fleet throwing the P0AE0 charging code — firmware regression and bad connector lot — and assembles its one-row-per-car table from five messy, disagreeing sources. The theme throughout: garbage in, confident-garbage out.
What it covers
Ten sections, about twenty-one minutes, in plain language with the arithmetic and decisions shown.
Part A · Joining the sources
§ 2 — The entities and the spine. VIN as the join key; the five sources — build records, telemetry, warranty claims, service notes, DTC logs — reduced to one row per car, with the build_vehicle_summary algorithm.
§ 3 — Record-linkage pitfalls. VIN typos and OCR errors, duplicate claims, many-to-one rows, remanufactured parts, and fuzzy matching in the Fellegi–Sunter sense when the key is dirty.
Part B · Making it analyzable
§ 4 — Time alignment. Build, in-service, event, and report dates disagree; align everything to time-in-service so onset curves and survival models are valid.
§ 5 — Missingness & data quality. Why the gaps are not random, how missingness ties to selection and survivorship, validation rules, and provenance per field.
§ 6 — Schema & semantics. Harmonizing units, drifting DTC dictionaries, and supplier-lot encodings into one canonical data model.
Part C · The platform
§ 7 — Architecture. Ingestion → canonical store → per-vehicle summary → analysis; batch vs streaming; lineage and reproducibility.
§ 8 — Worked example. Assembling the 6,000-car table: join by VIN, dedupe claims, align to in-service date, flag the 4% missing connector-temperature, and emit the table the fleet de-mix consumes.
§ 9 — Practical notes. Field rules for the data plumbing.
§ 10 — References & further reading. Databases, warehousing, record linkage, and data quality, with pointers.
Read it
The monograph lives at its own URL in the warm-paper layout of the series, with an entity/spine diagram, a record-linkage pitfalls panel, a multi-clock alignment timeline, a cars-by-fields missingness map, a canonical-semantics table, a pipeline architecture diagram, two algorithms, a worked assembly of the 6,000-car table, practical notes, and references.
Where it sits
The diagnosis series, in order:
I · The core method
- Root-Cause Analysis Under Uncertain, Heterogeneous Evidence
- When Is the Evidence Enough?
- Harder Cases in Diagnosis
II · At fleet scale
III · Proof, foundations & prevention
- Proving Cause with Experiments
- Diagnosis on the Vehicle
- The Data Plumbing Behind Fleet Diagnosis — (this post)
- From Root Cause to No Cause
Full map: The Diagnosis Series index.
← Back to Autonomy