SynthPopCan Logo

Overview

  • Introduction
    • What Is a Synthetic Population?
    • Two Main Ways SynthPopCan Generates Rows
    • Treat Generated Populations as Arguments, Not Facts
    • Important Terms
    • A Repeating Workflow Pattern
    • Find SynthPopCan Online
    • Further Reading
  • Which Workflow Should We Use?
    • If We Want To Try SynthPopCan
    • If We Want a Notebook or Teaching Script
    • If We Have Seed Rows and Control Totals
    • If We Have or Need Linked Households and People
    • If We Need Small-Area Geography
    • If We Are Still Inspecting Sources
    • If We Need To Check an Output
    • A Simple Decision Table
    • What We Should Keep With Any Workflow
  • Acknowledgments
  • Field Primer
    • Why Synthetic Populations Exist
    • A Short Lineage
    • What Makes Canadian Data Awkward
    • Two Families of Methods
      • IPF and Calibration
      • Tree-Based and Conditional Generation
    • Why Forests Are Not the First Tool Here
    • Structural Zeros and Sampling Zeros
    • Privacy, Disclosure, and Model Artifacts
    • Evaluation Is Not One Number
    • What Humanities Readers Can Bring
    • Reading Map
    • Tool Reference Map
    • Further Reading
  • Glossary
    • Synthetic Population Terms
    • Controls and IPF
    • Model Terms
    • Canadian Census Geography
    • Statistics Canada and Source Terms
    • Software Surfaces
  • Installation
    • Requirements
    • Install From PyPI
    • Run One-Off Commands With uvx
    • Install From a Source Checkout
    • Run the Command
    • Quick Getting Started
    • Build the Documentation
    • Local Data
    • Working Folder Advice
    • Find SynthPopCan Online

Beginner Workflows

  • Local Web App
    • Getting Started
    • Choose a Workflow
      • IPF from margin tables
      • Generate from existing model
    • Options
    • Troubleshooting
  • IPF
    • Concept
    • When Controls Cannot Be Fit
      • Examples of Impossible Controls
      • What check-inputs Can and Cannot Catch
    • When a Successful Fit Is Still a Bad Fit
      • Questions to Ask Before Fitting
    • Getting Started
    • Subcommands
      • ipf check-inputs
      • ipf fit
      • ipf report
      • ipf expand
      • ipf suggest-controls
    • Worked Example: Model Output to IPF
    • Troubleshooting
    • Further Reading
  • Controls
    • Concept
      • What makes a control choice
      • Format
    • Getting Started
    • Subcommands
      • controls validate
      • controls from-csv
      • controls from-wds
      • controls wds inspect
      • controls wds mapping-template
      • controls census-profile inspect
      • controls census-profile template
      • controls from-census-profile
    • Troubleshooting
    • Further Reading
  • Statistics Canada Sources
    • Concept
    • Getting Started
    • Subcommands
      • statcan wds search
      • statcan wds explain
      • statcan wds fetch
      • statcan wds metadata
      • statcan census-profile fetch
    • Troubleshooting
    • Further Reading
  • Generate From a Model Package
    • Concept
    • Getting Started
    • Subcommands
      • tree list-packages / models list
      • models fetch
      • tree inspect-package
      • tree generate-from-package
      • tree generate-linked
      • tree generate
    • Troubleshooting
    • Training Your Own Model
  • Small-Area Linked Synthesis
    • Step 0 — Prepare Boundary Files (once)
    • Step 1 — Generate Candidates
    • Step 2 — Build Controls from Census Profile
    • Step 2.5 — Estimate Run Size
    • Step 3 — Calibrate to Controls
    • Step 4 — Explore Results as an Interactive Map
    • Beginner API Shape
    • Example: Quebec City CMA at Census-Tract Level
    • Statistical Quality
    • Current Limits
  • Validate
    • Concept
    • What Validation Does Not Prove
    • What a Serious Validation Note Should Include
    • Getting Started
    • Subcommands
      • validate controls
      • validate linked-output
      • validate tree-output
    • Troubleshooting
    • Further Reading

Advanced Workflows

  • Microdata
    • Concept
    • Getting Started
    • Subcommands
      • microdata inspect
      • microdata check-seed
      • microdata export-seed
      • microdata suggest-tree-columns
      • microdata tree-geography-feasibility
      • microdata export-training
    • Troubleshooting
    • Further Reading
  • Tree Models
    • Concept
      • What a Tree Model Is
      • What a Forest Model Is
      • What Makes a Tree Model Bad
      • Reading Support and Purity
      • When a Tree Model Is Methodologically Weak
      • Model Release And Disclosure Risk
      • Practical Signs to Step Back
    • Getting Started: Linked Household and Person Models
    • Subcommands
      • tree train
      • tree train-linked
      • tree generate
      • tree generate-linked
      • tree audit-model
      • tree package-model
      • tree prepare-model-release
      • tree release-readiness
      • tree package-linked-models
      • tree list-packages
      • tree generate-from-package
    • Example: Broad Montréal CMA Linked Model
    • Example: Quebec Province Linked Model With Python
      • tree inspect-package
    • Troubleshooting
    • Further Reading
  • Data
    • Concept
    • Public Repository Policy
    • Getting Started
    • Subcommands
      • data doctor
      • data inspect
      • data schema
      • data sample
    • Troubleshooting
    • Further Reading

Library

  • Getting Started With the Beginner API
    • The Same Two Beginner Workflows
    • Why Use a Notebook?
    • First Notebook Cell
    • Fit Seed Rows With IPF
    • Work Directly From Paths
    • Generate From a Prepared Model Package
    • Assign Generated Rows To Small Areas
    • Reproducible Generation
    • A Good Notebook Record
    • Beginner API Objects
  • Advanced Library Use
    • Import Style
    • Controls
    • IPF
    • Microdata
    • Statistics Canada Sources
    • Tree Models
    • Maintainer Package Workflow Script
    • Validation
    • API Reference
  • API Reference
    • Package
    • Beginner API
      • LinkedPopulation
      • read_seed()
      • read_controls()
      • fit_ipf()
      • expand_population()
      • write_weights()
      • read_model_package()
      • generate_from_model()
      • write_population()
      • calibrate_small_area_linked()
    • Controls
      • ControlCell
      • ControlMargin
      • ControlTable
      • build_wds_category_mapping_template()
      • census_profile_template()
      • inspect_census_profile_characteristics()
      • inspect_wds_zip()
      • read_category_mapping()
      • read_census_profile_control_table()
      • read_census_profile_mapping()
      • read_control_margins()
      • read_control_table()
      • read_wds_control_table()
      • write_control_table()
    • IPF
      • IPFMargin
      • IPFResult
      • calculate_max_abs_error()
      • expand_records()
      • fit_ipf()
      • integerize_weights()
      • validate_margin_coverage()
      • weighted_totals()
    • Microdata
      • SeedSample
      • TreeColumnBlockSpec
      • TreeColumnSuggestionProfile
      • build_tree_geography_feasibility_report()
      • check_statcan_2016_household_seed_columns()
      • derive_statcan_2016_household_seed_sample()
      • export_seed_rows()
      • export_statcan_2016_household_training_rows()
      • export_statcan_2016_person_training_rows()
      • export_training_rows()
      • read_fixture_seed_sample()
      • read_statcan_2016_hierarchical_seed_sample()
      • resolve_tree_column_block_pair()
      • suggest_tree_column_blocks()
    • Statistics Canada
      • CensusProfileDownload
      • WDSTableSearchResult
      • classify_wds_ipf_suitability()
      • extract_wds_dimension_names()
      • extract_wds_dimension_previews()
      • fetch_census_profile_2016()
      • fetch_wds_metadata()
      • fetch_wds_table()
      • normalize_language()
      • normalize_product_id()
      • search_wds_tables()
      • summarize_wds_metadata()
      • wds_all_cubes_lite_url()
      • wds_download_url()
      • wds_metadata_url()
    • Tree Models
      • CartTreeModel
      • FrequencyGroup
      • FrequencyOutcome
      • FrequencyTreeModel
      • TreeGenerationRequest
      • TreeModelSpec
      • TreeTrainingSample
      • audit_tree_model()
      • generate_linked_population()
      • generate_tree_rows()
      • read_cart_model()
      • read_frequency_model()
      • read_tree_model()
      • read_tree_training_sample()
      • train_cart_model()
      • train_frequency_model()
      • validate_linked_population()
      • write_generated_rows()
      • write_tree_model()
    • Validation
      • build_control_validation_report()
      • build_distribution_comparison()
      • build_tree_output_validation_report()
      • comparison_dimensions()
    • Local Data And Sources
      • DataLayoutCheck
      • inspect_local_data_layout()
      • inspect_source_root()
      • read_source_sample()
      • read_source_schema()
SynthPopCan
  • Search


© Copyright 2026, SynthPopCan contributors.