Data lake
Every question in this portfolio needs several datasets at once. 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. Federal statistics, commercial postings, training records, credential rosters and employer files differ in units, level of detail, vintage and license, and they name occupations differently. The most valuable data, from employers, 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 it is the reference for what data exists, its quality, and how it was built. New work starts from it.
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
Every change is checked against the documentation, and row counts are regenerated and committed daily. Missing or orphaned tables are flagged automatically, so the registry stays 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. It picks out the concepts and geography using a controlled vocabulary, then points to the datasets that can answer it, with live row counts. It uses no embeddings and generates no answers, so a query can only point to datasets that exist. The catalog metadata serves as 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. Users can explore their own data alongside everything related to it.