PT 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: PT · 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.
| Need | Unachievable ideal | QA evidence we require instead | Why perfection cannot be achieved |
|---|---|---|---|
| Complete de jure resident coverage | Every 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 truth | Each 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 structure | Every 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 grounding | Every 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 overlays | Homeless, 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 assignment | Every 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 realism | The 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 lag | All 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 release | The 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 auditability | Any 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
| People | Target population | National coverage | Absolute shortfall | Households | Dwellings | Houses/buildings | Max marginal deviation | HARD status | Run |
|---|---|---|---|---|---|---|---|---|---|
| 8 | — | — | — | 8 | 8 | 3 | 0.00% | pass_exact | pt_population_review_cycle1_d828fc79_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.
Datasets and distributions
Lists come from the latest run bundle: source_provenance.json, distribution_diagnostics.json, and build_manifest.json.
Summary
| Datasets used | 7 |
|---|---|
| Distributions available | 38 |
| Constraints/distributions used in synthesis | 43 |
| Constraint types | FIRM: 7, GUIDE: 18, HARD: 2, SOFT: 11 |
| Dataset variants | comparable_country: 11, current: 1, robust: 26 |
| Finest-geography status | constrained: 27, modelled: 11 |
Source gaps
- Live PT INE probe/download is disabled for this run; no endpoint reachability claims are made.
- Building/context fixtures still require dwelling inference; no live Cadastro dwelling integration exists in this repo.
- Current Portugal implementation is still a seeded source-inventory slice and not yet a production nationwide extraction pipeline.
Datasets used
| Dataset/source ID |
|---|
PT_CADASTRO_seeded_buildings |
PT_INE_education |
PT_INE_employment |
PT_INE_households |
PT_INE_income |
PT_INE_population |
PT_INE_section_reference |
Best source by distribution family
| Distribution family | Dataset/source ID |
|---|---|
D01_demographics_finest | PT_INE_population |
D05_education | PT_INE_education |
D12_household_type | PT_INE_households |
building_stock | PT_CADASTRO_seeded_buildings |
employment_occupation_industry | PT_INE_employment |
geography_boundaries | PT_INE_section_reference |
income | PT_INE_income |
Available distributions / priors in registry
| Spec | Label | Type | Geo | Status | Variant | Confidence | Data URI |
|---|---|---|---|---|---|---|---|
C01_education_occupation_coupling | Education-occupation coupling strength | GUIDE | national | modelled | comparable_country | 0.595 | data/literature/seeded_occupation_priors.yaml |
C02_assortative_mating_education | Assortative mating by education | GUIDE | commune | modelled | comparable_country | 0.605 | data/literature/seeded_occupation_priors.yaml |
C03_assortative_mating_age | Assortative mating by age | GUIDE | commune | modelled | comparable_country | 0.675 | data/literature/seeded_occupation_priors.yaml |
C04_assortative_mating_origin | Assortative mating by origin | GUIDE | commune | modelled | comparable_country | 0.615 | data/literature/seeded_occupation_priors.yaml |
C05_spatial_sorting_education | Spatial sorting by education | GUIDE | national | modelled | comparable_country | 0.695 | data/literature/seeded_occupation_priors.yaml |
C06_spatial_sorting_income | Spatial sorting by income | GUIDE | national | modelled | comparable_country | 0.695 | data/literature/seeded_occupation_priors.yaml |
C07_spatial_sorting_origin | Spatial sorting by origin | GUIDE | national | modelled | comparable_country | 0.715 | data/literature/seeded_occupation_priors.yaml |
C08_intergenerational_income_elasticity | Intergenerational income elasticity | GUIDE | national | modelled | comparable_country | 0.575 | data/literature/seeded_occupation_priors.yaml |
C09_intergenerational_occupation_transmission | Intergenerational occupation transmission | GUIDE | national | modelled | comparable_country | 0.575 | data/literature/seeded_occupation_priors.yaml |
C10_commuting_mode_distance | Commuting mode × distance × occupation × region | GUIDE | commune | modelled | comparable_country | 0.635 | data/literature/seeded_occupation_priors.yaml |
C11_health_age_sex_education | Health × age × sex × education | GUIDE | national | modelled | comparable_country | 0.615 | data/literature/seeded_occupation_priors.yaml |
D01_age_sex_nuts3 | Age × sex at NUTS-3 | HARD | NUTS-3 | constrained | robust | 0.74 | docs/wiki/compiled/D01_age_sex_nuts3.md |
D01_census_age_sex_nuts3 | Census age × sex at NUTS-3 | HARD | NUTS-3 | constrained | robust | 0.74 | docs/wiki/compiled/D01_census_age_sex_nuts3.md |
D02_marital_nuts3 | Marital status × age × sex at NUTS-3 | FIRM | NUTS-3 | constrained | robust | 0.73 | docs/wiki/compiled/D02_marital_nuts3.md |
D03_origin_age_sex | Origin group × age × sex | FIRM | NUTS-3 | constrained | robust | 0.73 | docs/wiki/compiled/D03_origin_age_sex.md |
D04_religion_age_sex_region | Religion × age × sex × region | GUIDE | NUTS-3 | constrained | robust | 0.71 | docs/wiki/compiled/D04_religion_age_sex_region.md |
D05_census_education_nuts3 | Census education at NUTS-3 | FIRM | NUTS-3 | constrained | robust | 0.73 | docs/wiki/compiled/D05_census_education_nuts3.md |
D05_education_nuts2 | Education at NUTS-2 | FIRM | NUTS-2 | constrained | current | 0.7 | docs/wiki/compiled/D05_education_nuts2.md |
D06_employment_age_sex_education | Employment status × age × sex × education | FIRM | unknown | constrained | robust | 0.73 | docs/wiki/compiled/D06_employment_age_sex_education.md |
D07_occupation_isco3 | Occupation ISCO-3 distribution | SOFT | unknown | constrained | robust | 0.71 | docs/wiki/compiled/D07_occupation_isco3.md |
D08_occupation_education | Occupation × education | SOFT | unknown | constrained | robust | 0.71 | docs/wiki/compiled/D08_occupation_education.md |
D09_industry_nace2 | Industry NACE-2 distribution | SOFT | unknown | constrained | robust | 0.71 | docs/wiki/compiled/D09_industry_nace2.md |
D10_income_education_occupation | Income × education × occupation | SOFT | unknown | constrained | robust | 0.71 | docs/wiki/compiled/D10_income_education_occupation.md |
D11_income_household_type_region | Income × household type × region | SOFT | NUTS-3 | constrained | robust | 0.71 | docs/wiki/compiled/D11_income_household_type_region.md |
D12_household_type_size_region | Household type × size × region | FIRM | NUTS-3 | constrained | robust | 0.73 | docs/wiki/compiled/D12_household_type_size_region.md |
D13_children_mother_age_education | Children × mother age × education | SOFT | NUTS-3 | constrained | robust | 0.71 | docs/wiki/compiled/D13_children_mother_age_education.md |
D14_partner_age_gap_homogamy | Partner age gap × homogamy | SOFT | NUTS-3 | constrained | robust | 0.71 | docs/wiki/compiled/D14_partner_age_gap_homogamy.md |
D15_coresidence_structure | Co-residence structure | SOFT | NUTS-3 | constrained | robust | 0.71 | docs/wiki/compiled/D15_coresidence_structure.md |
D16_household_income_type_region | Household income × type × region | SOFT | NUTS-3 | constrained | robust | 0.71 | docs/wiki/compiled/D16_household_income_type_region.md |
D17_education_mobility | Education mobility | GUIDE | unknown | constrained | robust | 0.71 | docs/wiki/compiled/D17_education_mobility.md |
D18_occupation_given_education | Occupation | education | SOFT | unknown | constrained | robust | 0.71 | docs/wiki/compiled/D18_occupation_given_education.md |
D19_employment_given_demographics | Employment | demographics | SOFT | unknown | constrained | robust | 0.71 | docs/wiki/compiled/D19_employment_given_demographics.md |
D20_birth_intervals | Birth intervals | GUIDE | unknown | constrained | robust | 0.71 | docs/wiki/compiled/D20_birth_intervals.md |
D21_age_first_birth | Age at first birth × education × cohort | GUIDE | unknown | constrained | robust | 0.71 | docs/wiki/compiled/D21_age_first_birth.md |
D22_age_leaving_home | Age leaving home | GUIDE | unknown | constrained | robust | 0.71 | docs/wiki/compiled/D22_age_leaving_home.md |
D23_divorce_duration_children_education | Divorce × duration × children × education | GUIDE | NUTS-3 | constrained | robust | 0.71 | docs/wiki/compiled/D23_divorce_duration_children_education.md |
D24_age_marriage_sex_education | Age at marriage × sex × education | GUIDE | NUTS-3 | constrained | robust | 0.71 | docs/wiki/compiled/D24_age_marriage_sex_education.md |
D25_internal_migration | Internal migration | FIRM | unknown | constrained | robust | 0.73 | docs/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_AGE_RANGE |
HMN_BIRTH_DATE |
HMN_BUILDING_SCHEMA |
HMN_DWELLING_BUILDING_REF |
HMN_DWELLING_SCHEMA |
HMN_EDUCATION |
HMN_EDUCATION_AGE |
HMN_EDUCATION_GROUP |
HMN_EMPLOYMENT |
HMN_HOUSEHOLD_DWELLING_REF |
HMN_HOUSEHOLD_SCHEMA |
HMN_HOUSEHOLD_TYPE |
HMN_INDUSTRY |
HMN_MARITAL |
HMN_OCCUPATION |
HMN_ORIGIN |
HMN_PERSON_HOUSEHOLD_REF |
HMN_PERSON_SCHEMA |
HMN_RETIRED_AGE |
HMN_SEX |
INFORMATIONAL |
MODEL_FALLBACK_RATE |
MODEL_REGISTRY_PROFILE |
SPATIAL |
SPT_BUILDING_COORDS |
SPT_DWELLING_BUILDING_REF |
SPT_DWELLING_HOUSEHOLD_REF |
SPT_HH_DWELLING_REF |
SPT_PERSON_HOUSEHOLD_REF |
STRUCTURAL |
XCN_COMPARABILITY |
Current country tasks
| ID | Title | Assignee | Status | Created | Latest summary |
|---|---|---|---|---|---|
| t_ecda7621 | PT national-scale population artifact gap: replace seeded PASS fixture or block with exact source/model requirements | synth-modeler | running | 2026-05-19 20:15:35 CEST | |
| t_43ced4d4 | PT review: national-scale population artifact gap closure | synth-reviewer | todo | 2026-05-19 20:15:42 CEST | |
| t_f22e64ad | PT final human review/delivery note after PASS | synth-reviewer | done | 2026-05-19 20:00:28 CEST | Prepared PT final human-facing delivery/readiness notes after the reviewer PASS. The notes explicitly limit the PASS to the internal seeded two-zone slice, cite artifact paths and metrics, and preserve unavailable/modelled layer, uncertainty/provenance, privacy, and broader-claim caveats. |
| t_6b5d1390 | PT cycle-1 remediation re-review: pt_population_review_cycle1_d828fc79_seed420987 | synth-reviewer | done | 2026-05-19 18:53:50 CEST | PASS: re-reviewed PT remediation bundle pt_population_review_cycle1_d828fc79_seed420987 and wrote reviewer report at /home/synthestat/workspace/manager_handoffs/reviewer/2026-05-19_165631Z_PT_population_review_cycle1_rereview.md. Verified the four requested fixes and found no remaining critical bloc |
| t_bc46c93f | PT cycle-1 review remediation: dwelling references, household age semantics, provenance metadata | synth-modeler | done | 2026-05-19 18:45:06 CEST | Built and verified PT cycle-1 remediation bundle pt_population_review_cycle1_d828fc79_seed420987 at /home/synthestat/output/runs/PT/pt_population_review_cycle1_d828fc79_seed420987. The bundle addresses the reviewer’s blocking fixes: occupied dwelling household references are populated, HH_SINGLE_Y/M |
| t_bfaf5795 | PT population synthesis QA cycle 1 bundle review | synth-reviewer | done | 2026-05-19 18:35:25 CEST | NEEDS_MODEL_FIX for PT run pt_population_review_cycle1_dd672afa_seed420987. Bundle is present/readable and HARD/FIRM summaries pass, but QA found internal artefact/diagnostic inconsistency in dwelling household references, unsupported HH_SINGLE_E/M/Y age semantics, and incomplete provenance metadata |
| t_ebf9abe4 | PT population synthesis QA cycle 1 review bundle | synth-modeler | done | 2026-05-19 18:35:12 CEST | Built and verified the PT cycle-1 population review bundle at /home/synthestat/output/runs/PT/pt_population_review_cycle1_dd672afa_seed420987. Bundle is contract-complete for internal research review, with 8 persons, 8 households, 8 dwellings, 8 dwelling-building assignment rows, HARD constraints pa |
| t_03e70139 | orchestrate PT population synthesis QA loop | synth-manager | done | 2026-05-19 18:34:08 CEST | Routed PT population synthesis QA cycle 1: created synth-modeler bundle-build task t_ebf9abe4 and dependent synth-reviewer bundle-review task t_bfaf5795. Updated /home/synthestat/workspace/manager_handoffs/manager_updates.md with the bottleneck summary, routing decision, blockers, and next branch po |
Process
synth-manager creates and controls the country loop.
synth-modeler generates the review bundle: people, households, dwellings/buildings or unavailable markers, overlays, assignments, manifests, residuals, diagnostics, uncertainty, provenance.
synth-reviewer audits constraints, marginals, household/family realism, hidden populations, dwelling/building grounding, work/school assignment, uncertainty, provenance, and privacy.
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
- PASS: satisfactory for declared country evidence tier and internal review mode.
- NEEDS_MODEL_FIX: model logic, bundle, uncertainty, household/dwelling/assignment issue.
- NEEDS_MORE_SOURCES: missing marginal or joint/conditional evidence; researchers then downloader.
- EVIDENCE_EXHAUSTED_HUMAN_REVIEW: source search cannot responsibly improve the output.
- MODEL_IMPROVEMENT_EXHAUSTED_HUMAN_REVIEW: modeler cannot materially improve or diagnostics plateau.