Data lake
Every question in this portfolio requires several datasets at once, so the lake reconciles 220 of them onto one federal crosswalk and treats standardization as a product in its own right.
The problem
Connecting datasets from across the labor market requires a crosswalk onto the federal taxonomy, because federal statistics, commercial postings, training records, credential rosters and employer files differ in units, level of detail, vintage and license, and each names occupations its own way. The most valuable data comes from employers, and it can only be added if the system protects their anonymity.
How it works
01Crosswalk map
Crosswalks through the federal taxonomy connect industry, program and skill classifications. Controlled vocabularies and the Canon, a set of naming and calculation conventions I wrote, standardize ambiguous fields such as termination reasons, employment status and facility types, so tenant data and public data match up.
02Registry as a product
Every dataset is tagged by readiness, lifecycle stage, geographic and time resolution, and provenance. The catalog is queryable and versioned, and new work starts from it, as it is the reference for what data exists, how good it is and how it was built.
03Contribution without exposure
Employer data joins under k-anonymity floors and row-level tenant isolation, with opaque identifiers throughout. The detailed panel is the reference, and benchmarks are aggregated views of it.
04Constantly checked
Each change is checked against the documentation, and row counts are regenerated and committed daily. Missing or orphaned tables get flagged automatically, which keeps the registry in line with the database it describes.
The full inventory of 220 datasets, by domain and readiness.
I wrote the Canon as a naming and calculation convention for the whole system. Everything ingested is standardized to it, and a metric is only shown with its definition and source attached.
You can ask the lake a question in plain words, and it picks out the concepts and geography using a controlled vocabulary before pointing to the datasets that can answer it, with live row counts. It uses no embeddings and generates no answers, so a query can only ever land on datasets that exist. The catalog metadata is the index, and any computation is handed to a separate analyst agent.
Tools used
Final state
The lake holds 220 datasets from dozens of providers, covering over a million contributing institutions and respondents and millions of records, and users can explore their own data next to everything related to it.