People Data Warehouse: A Blueprint That Actually Gets Used
A people data warehouse is the difference between answering questions in days and answering them in minutes. Here is the blueprint — sources, models…
On this page▾
- Start with four sources: HRIS, ATS, payroll, performance/engagement.
- Use a three-layer model: raw → conformed → mart. Don't let analysts touch raw tables.
- Define metrics once in a dbt layer or equivalent; never let the same metric have two definitions.
- Governance is 50% of the work: privacy, access tiers, retention, masking.
If your CHRO can't answer 'what's our regretted attrition by tenure band by function for the last 12 months' in under 5 minutes, you have a data architecture problem dressed up as a reporting problem. A well-built people data warehouse turns that question into a Looker dashboard refresh. The infrastructure is well-understood at this point; the hard part is governance, definitions, and political alignment.
Why a dedicated warehouse
Pulling reports directly from operational systems works at small scale and falls apart somewhere around 1,000 employees and 4+ source systems. Reasons: operational systems are optimised for transactions not analytics, performance suffers when analysts run heavy queries, historical states are rarely preserved, and joining data across systems requires a layer those systems don't have. The warehouse solves all four.
The four foundational sources
| Source | What it brings | Update cadence |
|---|---|---|
| HRIS | Employee master, org structure, employment events, comp history | Daily, with effective-dating |
| ATS | Pipeline, source-of-hire, time-to-fill, candidate funnel | Daily |
| Payroll | Actual paid amounts, tax classifications, cost-centre allocation | Per pay cycle |
| Performance + engagement | Ratings, calibration, pulse scores, eNPS | Per cycle |
These four cover ~85% of People-analytics use cases. Add learning, recognition, and helpdesk later as use cases demand.
Three-layer data model
- 1Raw layerDirect copies of source data. No transformation. Analysts cannot query this directly. Engineers use it to recover from upstream changes.
- 2Conformed layerCleaned, deduplicated, joined on employee_id. Effective-dated. This is where 'who was a manager on March 1' becomes a queryable answer.
- 3Mart layerUse-case-specific views: attrition mart, comp mart, pipeline mart. Pre-aggregated where helpful. Dashboards query here.
Metric definitions as code
The single biggest source of HR-data dysfunction is the same metric having multiple definitions across reports. The fix is to define each metric exactly once, in a versioned semantic layer (dbt's metric layer, Cube, LookML), and let every dashboard pull from that definition. When the CFO and CHRO see different attrition numbers in the same week, the cost is enormous and the root cause is always undefined or inconsistent definitions.
- Headcount: as-of date logic documented (point-in-time vs end-of-period).
- Attrition: numerator and denominator both defined; regretted vs all separately.
- Tenure: from hire date or from current-role date — pick one, document it.
- Manager: from HRIS reporting line as of date X.
- Compensation: base only vs base + bonus + equity — separate metrics, not one fuzzy one.
Privacy and access governance
People data is the most sensitive data in most companies. The warehouse exposes it more efficiently than any other system, which is both the point and the risk. Governance is at least 50% of a serious build.
| Tier | Audience | What they see |
|---|---|---|
| Public dashboards | All employees | Aggregate company metrics (headcount, hiring, eNPS — no demographics) |
| Manager dashboards | People managers | Their team only; comp visible per policy |
| HRBP layer | HRBPs | Their client groups; full comp; performance |
| People analytics | Named analysts | Cross-org; demographics where lawful and necessary; audit-logged |
| Restricted | Specific named roles | Investigation data, salary history, sensitive HR cases |
Personal data in a warehouse is still personal data. Retention policies need to apply. Pseudonymisation should be used where analytical purposes don't require identification. Access audits must run at least quarterly. Build privacy into the architecture, not as a memo after deployment.
A well-built warehouse takes 9–18 months and $400k–$1.5M to stand up depending on starting state. Payoff is permanent: hours to minutes on every recurring report, defensible numbers in board meetings, the ability to do real people analytics (not just descriptive reporting), and a foundation every future HR tool integrates into instead of around.
Read next
All playbooksMost HRIS selections are won by the slickest demo and lost in year two of implementation. Here is the selection framework that weights what actually matters…
The reason your HR tools don't talk to each other is rarely the tools — it's the missing architecture. Here is a reference pattern that scales from 200 to…
Every category of HR software, what it actually does, where the boundaries blur, and how to think about a stack that grows with you.