← Back to country index
Synthestat · Netherlands · population QA

NL 1:1 population synthesis QA cycle

Country-specific layer for synthetic people in households, dwellings, real building stock where available, hidden-population overlays, and work/school assignment evidence.

Board: synthestat-population-qa · Tenant: synthestat · Country: NL · Overall status: running

Ideal-country quality criteria: impossible 1:1 benchmark

This is the common gold-standard benchmark for an ideal country. It is intentionally impossible to fully satisfy: complete success would mean a 1:1 replica of the real population where every person, household, dwelling, attribute, and assignment is exactly represented. The QA page uses it as an asymptote and gap taxonomy, not as a release promise.

Apply this same rubric to this country’s latest run, then report which needs are measured, constrained, modelled, unavailable, or blocked.

NeedUnachievable idealQA evidence we require insteadWhy perfection cannot be achieved
Complete de jure resident coverageEvery real resident represented exactly once in the right country, municipality, small area, household, and dwelling.Synthetic person count equals official population at all enforced geographies; no unexplained duplicate, missing, or out-of-universe people.A true 1:1 resident list is a confidential population register and changes continuously; Synthestat can only match official aggregates and declared source universes.
Complete attribute truthEach synthetic person has the same age, sex, household role, education, occupation, industry, origin, health proxy, income proxy, and lifecycle state as the corresponding real person.Published marginal and cross-tab constraints pass within HARD/FIRM/SOFT tolerances; modelled fields carry uncertainty and measured/constrained/modelled provenance.Official releases do not expose a complete individual joint distribution, and many attributes are survey-derived, lagged, suppressed, or unavailable at fine geography.
Perfect household and family structureEvery household contains the exact real members and relationships, including multi-generation, partnership, child, shared, institutional, and edge-case arrangements.Household totals, household-type distributions, age/sex/role consistency, fertility/child constraints, and structural invariants pass with explicit residuals.Household membership is sensitive microdata; public sources usually expose only aggregate household/family tables and partial cross-tabs.
Exact dwelling and building groundingEvery household is assigned to its real dwelling and building with exact occupancy, vacancy, dwelling type, floor area, tenure, and address-level geography.Dwelling/building capacity checks pass; vacancy/second-home/institutional dwellings are represented or explicitly unavailable; building links have source provenance.Many countries lack open address-level registers; dwelling occupancy is confidential and time-varying.
Complete de facto and hidden-population overlaysHomeless, undocumented, refugees, students away from home, seasonal, institutional, tourists, and daytime populations are all represented with exact location and timing.Overlay layers use interval estimates, source-specific quality flags, and never silently modify de jure HARD constraints.Hidden populations are partly unobserved by definition; ethical/privacy constraints forbid exact person-level labels.
Exact school, workplace, facility, and mobility assignmentEvery person is assigned to the real school, workplace, care provider, commute, and daily activity chain they use.Assignment layers use official registers/OD flows where available; modelled assignments are flagged and validated only against aggregate flows/capacities.Operational assignments are usually protected registers or dynamic behavioural data; Phase 1 must not imply they are known.
Full joint-distribution realismThe full multivariate joint distribution is identical to reality across all attributes, households, geography, and rare subgroups.High-priority marginals/cross-tabs pass; sparse zones and prior-dominated attributes are clearly marked with quality tiers and credible intervals.The joint distribution is non-identifiable from published marginals; IPF/BN/hierarchical pooling choose plausible distributions, not truth.
Zero uncertainty and zero lagAll values are current today and known without error.Every output records reference period, retrieval timestamp, lag, confidence, uncertainty bounds, and degradation decisions.Official statistics are lagged, revised, sampled, suppressed, and harmonized after collection.
Privacy-safe yet maximally detailed releaseThe system releases maximum useful detail while creating zero re-identification risk.Release mode, k-anonymity/cell safeguards, perturbation/aggregation policy, and sensitive-field treatment are explicit.Fine-area synthetic microdata can still create structurally unique records; synthetic does not mean anonymous.
Perfect reproducibility and auditabilityAny user can trace every output record to exact source snapshots, transformations, constraints, relaxations, seeds, and code versions.Run manifests, source provenance, checksums, frozen extracts, seeds, versioned crosswalks, validation reports, and relaxation logs are complete.This is approachable but never final: source portals, classifications, geography, and code keep changing, so audits must be continuously renewed.

Population output status

PeopleTarget populationNational coverageAbsolute shortfallHouseholdsDwellingsHouses/buildingsMax marginal deviationHARD statusRun
55540.00%pass_exactnl_population_review_cycle1_fa78aabf_seed420987

Deviation is the maximum absolute relative error across collected HARD/FIRM/SOFT marginal constraints in the latest review bundle. GUIDE/INFORMATIONAL priors are excluded. National target/coverage are read from build_manifest.json when available and override any visual impression of completion.

running
1
todo
2
done
5

Datasets and distributions

Lists come from the latest run bundle: source_provenance.json, distribution_diagnostics.json, and build_manifest.json.

Summary

Datasets used7
Distributions available39
Constraints/distributions used in synthesis27
Constraint typesFIRM: 7, GUIDE: 18, HARD: 3, SOFT: 11
Dataset variantscurrent: 1, literature: 11, robust: 27
Finest-geography statusconstrained: 27, measured: 1, modelled: 11

Source gaps

  • The current Netherlands live path is sample-download capable, but it is still a probe-and-normalization bridge rather than a full-country CBS extraction pipeline.
  • Open BAG/PDOK building geometry and dwelling records are still handled through the seeded slice rather than a full bulk XML-GML ingestion path.
  • Occupation and industry detail still need deeper registry and model integration beyond the current CBS demographic bridge.

Datasets used

Dataset/source ID
NL_BAG_buildings
NL_CBS_BUURT_POPULATION
NL_CBS_DEMOGRAPHICS_MARITAL
NL_CBS_HOUSEHOLDS
NL_CBS_INCOME
NL_CBS_ORIGIN
NL_PDOK_buurt_boundaries

Best source by distribution family

Distribution familyDataset/source ID
D01_demographics_finestNL_CBS_BUURT_POPULATION
D02_marital_statusNL_CBS_DEMOGRAPHICS_MARITAL
D12_household_typeNL_CBS_HOUSEHOLDS
building_stockNL_BAG_buildings
geography_boundariesNL_PDOK_buurt_boundaries
incomeNL_CBS_INCOME
origin_distributionNL_CBS_ORIGIN

Available distributions / priors in registry

SpecLabelTypeGeoStatusVariantConfidenceData URI
C01_education_occupation_couplingEducation-occupation coupling strengthGUIDEnationalmodelledliterature0.64data/literature/seeded_occupation_priors.yaml
C02_assortative_mating_educationAssortative mating by educationGUIDEmunicipalitymodelledliterature0.65data/literature/seeded_occupation_priors.yaml
C03_assortative_mating_ageAssortative mating by ageGUIDEmunicipalitymodelledliterature0.72data/literature/seeded_occupation_priors.yaml
C04_assortative_mating_originAssortative mating by originGUIDEmunicipalitymodelledliterature0.66data/literature/seeded_occupation_priors.yaml
C05_spatial_sorting_educationSpatial sorting by educationGUIDEnationalmodelledliterature0.74data/literature/seeded_occupation_priors.yaml
C06_spatial_sorting_incomeSpatial sorting by incomeGUIDEnationalmodelledliterature0.74data/literature/seeded_occupation_priors.yaml
C07_spatial_sorting_originSpatial sorting by originGUIDEnationalmodelledliterature0.76data/literature/seeded_occupation_priors.yaml
C08_intergenerational_income_elasticityIntergenerational income elasticityGUIDEnationalmodelledliterature0.62data/literature/seeded_occupation_priors.yaml
C09_intergenerational_occupation_transmissionIntergenerational occupation transmissionGUIDEnationalmodelledliterature0.62data/literature/seeded_occupation_priors.yaml
C10_commuting_mode_distanceCommuting mode × distance × occupation × regionGUIDEmunicipalitymodelledliterature0.68data/literature/seeded_occupation_priors.yaml
C11_health_age_sex_educationHealth × age × sex × educationGUIDEnationalmodelledliterature0.66data/literature/seeded_occupation_priors.yaml
D01_age_sex_nuts3Age × sex at NUTS-3HARDNUTS-3constrainedrobust0.74docs/wiki/compiled/D01_age_sex_nuts3.md
D01_census_age_sex_nuts3Census age × sex at NUTS-3HARDNUTS-3constrainedrobust0.74docs/wiki/compiled/D01_census_age_sex_nuts3.md
D01_nl_buurtAge × sex at buurt levelHARDbuurtmeasuredrobust0.99docs/wiki/compiled/D01_nl_buurt.md
D02_marital_nuts3Marital status × age × sex at NUTS-3FIRMNUTS-3constrainedrobust0.73docs/wiki/compiled/D02_marital_nuts3.md
D03_origin_age_sexOrigin group × age × sexFIRMNUTS-3constrainedrobust0.73docs/wiki/compiled/D03_origin_age_sex.md
D04_religion_age_sex_regionReligion × age × sex × regionGUIDENUTS-3constrainedrobust0.71docs/wiki/compiled/D04_religion_age_sex_region.md
D05_census_education_nuts3Census education at NUTS-3FIRMNUTS-3constrainedrobust0.73docs/wiki/compiled/D05_census_education_nuts3.md
D05_education_nuts2Education at NUTS-2FIRMNUTS-2constrainedcurrent0.7docs/wiki/compiled/D05_education_nuts2.md
D06_employment_age_sex_educationEmployment status × age × sex × educationFIRMunknownconstrainedrobust0.73docs/wiki/compiled/D06_employment_age_sex_education.md
D07_occupation_isco3Occupation ISCO-3 distributionSOFTunknownconstrainedrobust0.71docs/wiki/compiled/D07_occupation_isco3.md
D08_occupation_educationOccupation × educationSOFTunknownconstrainedrobust0.71docs/wiki/compiled/D08_occupation_education.md
D09_industry_nace2Industry NACE-2 distributionSOFTunknownconstrainedrobust0.71docs/wiki/compiled/D09_industry_nace2.md
D10_income_education_occupationIncome × education × occupationSOFTunknownconstrainedrobust0.71docs/wiki/compiled/D10_income_education_occupation.md
D11_income_household_type_regionIncome × household type × regionSOFTNUTS-3constrainedrobust0.71docs/wiki/compiled/D11_income_household_type_region.md
D12_household_type_size_regionHousehold type × size × regionFIRMNUTS-3constrainedrobust0.73docs/wiki/compiled/D12_household_type_size_region.md
D13_children_mother_age_educationChildren × mother age × educationSOFTNUTS-3constrainedrobust0.71docs/wiki/compiled/D13_children_mother_age_education.md
D14_partner_age_gap_homogamyPartner age gap × homogamySOFTNUTS-3constrainedrobust0.71docs/wiki/compiled/D14_partner_age_gap_homogamy.md
D15_coresidence_structureCo-residence structureSOFTNUTS-3constrainedrobust0.71docs/wiki/compiled/D15_coresidence_structure.md
D16_household_income_type_regionHousehold income × type × regionSOFTNUTS-3constrainedrobust0.71docs/wiki/compiled/D16_household_income_type_region.md
D17_education_mobilityEducation mobilityGUIDEunknownconstrainedrobust0.71docs/wiki/compiled/D17_education_mobility.md
D18_occupation_given_educationOccupation | educationSOFTunknownconstrainedrobust0.71docs/wiki/compiled/D18_occupation_given_education.md
D19_employment_given_demographicsEmployment | demographicsSOFTunknownconstrainedrobust0.71docs/wiki/compiled/D19_employment_given_demographics.md
D20_birth_intervalsBirth intervalsGUIDEunknownconstrainedrobust0.71docs/wiki/compiled/D20_birth_intervals.md
D21_age_first_birthAge at first birth × education × cohortGUIDEunknownconstrainedrobust0.71docs/wiki/compiled/D21_age_first_birth.md
D22_age_leaving_homeAge leaving homeGUIDEunknownconstrainedrobust0.71docs/wiki/compiled/D22_age_leaving_home.md
D23_divorce_duration_children_educationDivorce × duration × children × educationGUIDENUTS-3constrainedrobust0.71docs/wiki/compiled/D23_divorce_duration_children_education.md
D24_age_marriage_sex_educationAge at marriage × sex × educationGUIDENUTS-3constrainedrobust0.71docs/wiki/compiled/D24_age_marriage_sex_education.md
D25_internal_migrationInternal migrationFIRMunknownconstrainedrobust0.73docs/wiki/compiled/D25_internal_migration.md

Constraints/distributions used in synthesis manifest

Constraint or distribution ID
CORR_OCC_EMPLOYMENT
D01
D12
EMPLOYMENT_CODE_LINK
FIRM
GUIDE
HARD
HARMONIZATION
HH_CHILD_ADULT
HH_COUPLE_TWO_ADULTS
HH_SINGLE_SIZE_ONE
HH_SIZE_PLAUSIBLE
HMN_EDUCATION
HMN_HOUSEHOLD_TYPE
HMN_INDUSTRY
HMN_MARITAL
HMN_OCCUPATION
HMN_ORIGIN
HMN_SEX
INFORMATIONAL
MODEL_FALLBACK_RATE
SPATIAL
SPT_BUILDING_COORDS
SPT_DWELLING_BUILDING_REF
SPT_HH_DWELLING_REF
STRUCTURAL
XCN_COMPARABILITY

Current country tasks

IDTitleAssigneeStatusCreatedLatest summary
t_32fe9356NL cycle 1 downloader freeze after source follow-upssynth-downloaderrunning2026-05-19 19:59:22 CEST
t_1fd4394cNL cycle 2 review after source-upgraded model rerunsynth-reviewertodo2026-05-19 20:00:12 CEST
t_ae1817dbNL cycle 2 model rerun after source/download follow-upssynth-modelertodo2026-05-19 19:59:52 CEST
t_5944a28fNL cycle 1 distribution-source follow-up after NEEDS_MORE_SOURCESsynth-distributions-researcherdone2026-05-19 19:59:07 CESTCompleted NL cycle-1 distribution-source follow-up after NEEDS_MORE_SOURCES. Wrote findings, downloader-ready extraction specs, refreshed the distribution evidence board, and appended a manager update; NL is not evidence-exhausted, with CBS/Eurostat source IDs identified for household/dwelling, inst
t_b9950d6cNL cycle 1 marginal/source follow-up after NEEDS_MORE_SOURCESsynth-marginals-researcherdone2026-05-19 19:59:06 CESTCompleted NL cycle-1 marginal/source follow-up after NEEDS_MORE_SOURCES and wrote the required handoffs under /home/synthestat/workspace/manager_handoffs/marginals/. Identified concrete official CBS/PDOK/Kadaster/DUO/COA/Rijksoverheid source queue for downloader, with explicit EVIDENCE_EXHAUSTED_PUB
t_40840a5cReview NL population synthesis bundle (cycle 1)synth-reviewerdone2026-05-19 18:35:28 CESTReviewed the NL cycle-1 population bundle at /home/synthestat/output/runs/NL/nl_population_review_cycle1_fa78aabf_seed420987 and wrote the reviewer report at /home/synthestat/workspace/manager_handoffs/reviewer/2026-05-19_164411Z_NL_population_review_cycle1.md. Verdict NEEDS_MORE_SOURCES: bundle is
t_8187172cNL population synthesis review bundle build (cycle 1)synth-modelerdone2026-05-19 18:35:12 CESTBuilt and verified the NL population QA cycle-1 review bundle at /home/synthestat/output/runs/NL/nl_population_review_cycle1_fa78aabf_seed420987. The bundle is contract-complete for internal review, HARD residuals pass exactly (59 pass / 3 skip across 62 validation rows), with explicit unavailable m
t_c692bc83orchestrate NL population synthesis QA loopsynth-managerdone2026-05-19 18:34:06 CESTRouted NL population synthesis QA cycle 1: created synth-modeler bundle-build task t_8187172c and dependent synth-reviewer bundle-review task t_40840a5c. Updated /home/synthestat/workspace/manager_handoffs/manager_updates.md with bottleneck summary, routing decisions, blockers, and next branch instr

Process

Manager kickoff

synth-manager creates and controls the country loop.

Model build

synth-modeler generates the review bundle: people, households, dwellings/buildings or unavailable markers, overlays, assignments, manifests, residuals, diagnostics, uncertainty, provenance.

Reviewer gate

synth-reviewer audits constraints, marginals, household/family realism, hidden populations, dwelling/building grounding, work/school assignment, uncertainty, provenance, and privacy.

Branch

PASS finalizes; NEEDS_MODEL_FIX routes back to modeler; NEEDS_MORE_SOURCES routes to marginal/distribution researchers then downloader; exhausted evidence/model plateau stops for human decision.

Quality gates and stop conditions