Skip to the content.

2023 TM2 Synthetic Population — Full Reference

Executive summary

Document updated: 2025-11-19 14:28:20 with data from model run dated 2025-11-10

Document updated: 2025-11-19 14:27:12 with data from model run dated 2025-11-10

This single consolidated reference documents the inputs, outputs, processing steps, aggregate summaries, and theoretical underpinnings of the 2023 TM2 synthetic population workflow based on PopulationSim. It is intended as the canonical briefing for modelers, data engineers, and reviewers who need a single place to understand: what data feed the pipeline, what files are produced and where to find them, how marginal controls are defined and applied, and what the main statistical algorithms are that guarantee marginal consistency.

This document builds on the existing repository documentation (docs/TM2_OUTPUTS.md, docs/TM2_INPUT_FIELDS.md, and docs/TM2_OUTPUT_SUMMARIES.md) and consolidates the technical material into a narrative report ready for export to Word/PDF for distribution.

Executive summary — main outputs & quick modeler guidance

This integrated executive summary combines the short, modeler-focused one-page synthesizer notes with the numeric highlights from the full dataset analysis. Use this to quickly understand the canonical outputs, what they mean, and where to look for more detail.

Snapshot: canonical totals (complete synthetic population)

Key county totals (households):

Household size distribution (selected):

Person age groups (selected totals):

(For exact, column-level counts see output_2023/FULL_DATASET_ANALYSIS.md.)


What the outputs include (quick reference)

Geographies

Canonical control variables (examples)

Controls vs weights (important modeler note)

Practical guidance (short checklist)



Top takeaways (one-liners for quick consumption)


For more detail, see the per-file appendices and the charts section in this document. If you want the executive summary shortened to a single page with the same content, I can produce a one-page PDF/DOCX trimmed to the top bullets.

  1. Background and scope

PopulationSim is a micro-synthesis engine that creates synthetic households and persons by sampling microdata (PUMS) and reweighting samples to match aggregate control marginals. The TM2 adaptation of PopulationSim targets the nine-county San Francisco Bay Area and produces final CSVs consumed by activity-based travel models (CT-RAMP and related workflows).

This reference covers the following:

  1. Data sources and canonical years
  1. Geographic framework
  1. File map — inputs and outputs (where to find them in the repo)

Important repository locations (relative to repo root):

  1. Canonical controls and marginals (summary)

Controls are defined in tm2_control_utils/config_census.py. Source rules:

Representative control variables by geography (high level):

For complete control tuples and programmatic details, see tm2_control_utils/config_census.py (the CONTROLS dictionary and INCOME_BIN_MAPPING).

  1. Seed data and synthetic outputs — canonical fields

Rather than rerun extraction, this reference imports the canonical field lists from existing docs. See docs/TM2_INPUT_FIELDS.md for per-field descriptions. In brief:

(The full headers and representative sample rows are embedded in docs/TM2_OUTPUTS.md Appendix D and saved as docs/sample_synthetic_households.csv and docs/sample_synthetic_persons.csv.)

  1. Aggregate results summary (what exists in the repo now)

This section summarizes the aggregate outputs you already have in the repository. I have not run any new code — this points to the authoritative CSVs and describes what they contain so you can find concrete numbers.

Primary summary files and how to read them:

Interpreting key aggregate checks (procedural guidance):

  1. Theoretical background (IPF, balancing, integerization, GQ)

Iterative proportional fitting (IPF)

Balancing and integerization

Group quarters (GQ) handling

  1. Validation and QA recipes (no code run here)

Recommended checks (high level):

Standard acceptance tolerances:

  1. How to extend and maintain this document
  1. Export and sharing
pandoc docs/TM2_FULL_REFERENCE.md -o docs/TM2_FULL_REFERENCE.docx
pandoc docs/TM2_FULL_REFERENCE.md -o docs/TM2_FULL_REFERENCE.pdf
  1. References and pointers

Appendix A — Quick checklist before a formal delivery

Appendix B — Contact and versioning

Aggregate snapshots (selected summaries)

Below are verbatim headers and the first few rows from key summary CSVs found under output_2023/ — pasted here for easy inspection and review. These are snapshots (headers + sample rows) and not the full files. Use the CSVs in output_2023/ for complete data.

County performance summary — output_2023/charts/county_analysis/county_performance_summary.csv

county_id,county_name,total_control,total_result,total_diff,total_diff_pct,mae,rmse,perfect_matches,perfect_pct,variable_count

1,San Francisco,396119.2400090425,395670,-449.2400090424926,-0.1134102976245833,4128.383483444326,11627.743040182844,0,0.0,33

2,San Mateo,275368.1982865932,275352,-16.19828659319319,-0.0058824100582357,2719.5355327764355,7130.955833395954,0,0.0,33

3,Santa Clara,687503.2012797081,687199,-304.2012797080679,-0.0442472528334169,6348.458270235131,16323.822382170883,0,0.0,33

4,Alameda,635505.1036905675,634945,-560.1036905675428,-0.088135199436614,6520.067806705379,17369.62139651412,0,0.0,33

5,Contra Costa,413812.0586755095,413706,-106.05867550952826,-0.0256296725254916,4276.81502485539,11017.16468471024,0,0.0,33

6,Solano,158311.5759314681,158276,-35.57593146810541,-0.0224720973553481,1336.9747255488733,3891.411409747325,0,0.0,33

7,Napa,52721.18162235967,52718,-3.181622359668836,-0.0060348085186305,344.71558252225725,916.25953664135,0,0.0,33

8,Sonoma,193976.6604102071,194051,74.33958979288582,0.0383239868320642,1677.1455929603758,4232.679303059822,0,0.0,33

9,Marin,106932.58211472387,106762,-170.58211472387484,-0.1595230484015281,1000.7055042238642,2677.3647004427853,0,0.0,33


County detailed results (San Francisco sample rows) — output_2023/charts/county_analysis/county_detailed_results.csv

control_name,control_value,COUNTY_preliminary_balanced_weight,COUNTY_balanced_weight,COUNTY_integer_weight,TAZ_NODE_balanced_weight,TAZ_NODE_integer_weight,MAZ_NODE_balanced_weight,MAZ_NODE_integer_weight,county_id,county_name,result,control

numhh,371859.0,374115.95384263335,374152.5044130808,373789.0,374152.5044130808,373769,374152.5044130808,374080,1,San Francisco,373769,374115.95384263335

numhh_gq,395670.0,396119.2400090425,396096.9901883293,395670.0,396096.99018832936,395670,396096.99018832936,395698,1,San Francisco,395670,396119.2400090425

hh_gq_university,6486.0,5909.324024243913,5851.982889952319,5847.0,5851.982889952318,5841,5851.982889952318,5826,1,San Francisco,5841,5909.324024243913

hh_gq_noninstitutional,17325.0,16093.962142165174,16092.502885296264,16034.0,16092.502885296264,16060,16092.502885296264,15792,1,San Francisco,16060,16093.962142165174

hh_size_1,170765.0,145705.08065269142,145903.40908029611,145772.0,145903.40908029611,145321,145903.40908029611,145512,1,San Francisco,145321,145705.08065269142

hh_size_2,150447.0,119586.42220594992,119288.9351768422,119153.0,119288.9351768422,119262,119288.9351768422,119327,1,San Francisco,119262,119586.42220594992

hh_size_3,58164.0,47923.226966056594,47797.88383291751,47757.0,47797.88383291751,47899,47797.88383291751,47916,1,San Francisco,47899,47923.226966056594

hh_size_4,43583.0,35852.686253426255,36048.57426440453,36013.0,36048.57426440453,36220,36048.57426440453,36236,1,San Francisco,36220,35852.686253426255

hh_size_5,14967.0,13419.932390770911,13494.382656704496,13482.0,13494.382656704496,13516,13494.382656704496,13543,1,San Francisco,13516,13419.932390770911

hh_size_6_plus,13288.0,11628.605373738266,11619.319401915893,11612.0,11619.319401915893,11551,11619.319401915893,11546,1,San Francisco,11551,11628.605373738266


Final TAZ-level summary (header + first row) — output_2023/populationsim_working_dir/output/final_summary_TAZ_NODE.csv

geography,id,numhh_control,numhh_gq_control,hh_gq_university_control,hh_gq_noninstitutional_control,hh_size_1_control,hh_size_2_control,hh_size_3_control,hh_size_4_control,hh_size_5_control,hh_size_6_plus_control,hh_wrks_0_control,hh_wrks_1_control,hh_wrks_2_control,hh_wrks_3_plus_control,pers_age_00_19_control,pers_age_20_34_control,pers_age_35_64_control,pers_age_65_plus_control,hh_kids_yes_control,hh_kids_no_control,inc_lt_20k_control,inc_20k_45k_control,inc_45k_60k_control,inc_60k_75k_control,inc_75k_100k_control,inc_100k_150k_control,inc_150k_200k_control,inc_200k_plus_control,numhh_result,numhh_gq_result,hh_gq_university_result,hh_gq_noninstitutional_result,hh_size_1_result,hh_size_2_result,hh_size_3_result,hh_size_4_result,hh_size_5_result,hh_size_6_plus_result,hh_wrks_0_result,hh_wrks_1_result,hh_wrks_2_result,hh_wrks_3_plus_result,pers_age_00_19_result,pers_age_20_34_result,pers_age_35_64_result,pers_age_65_plus_result,hh_kids_yes_result,hh_kids_no_result,inc_lt_20k_result,inc_20k_45k_result,inc_45k_60k_result,inc_60k_75k_result,inc_75k_100k_result,inc_100k_150k_result,inc_150k_200k_result,inc_200k_plus_result,numhh_diff,numhh_gq_diff,hh_gq_university_diff,hh_gq_noninstitutional_diff,hh_size_1_diff,hh_size_2_diff,hh_size_3_diff,hh_size_4_diff,hh_size_5_diff,hh_size_6_plus_diff,hh_wrks_0_diff,hh_wrks_1_diff,hh_wrks_2_diff,hh_wrks_3_plus_diff,pers_age_00_19_diff,pers_age_20_34_diff,pers_age_35_64_diff,pers_age_65_plus_diff,hh_kids_yes_diff,hh_kids_no_diff,inc_lt_20k_diff,inc_20k_45k_diff,inc_45k_60k_diff,inc_60k_75k_diff,inc_75k_100k_diff,inc_100k_150k_diff,inc_150k_200k_diff,inc_200k_plus_diff

TAZ_NODE,1,621.0,626.0,0.0,5.0,389.0,287.0,63.0,24.0,0.0,0.0,201.0,261.0,236.0,65.0,109.0,561.0,538.0,179.0,55.0,708.0,65.0,153.0,12.0,32.0,45.0,30.0,189.0,237.0,622,626,0,4,301,239,56,26,0,0,159,207,198,58,84,427,407,137,45,577,54,122,9,26,37,24,158,192,1.0,0.0,0.0,-1.0,-88.0,-48.0,-7.0,2.0,0.0,0.0,-42.0,-54.0,-38.0,-7.0,-25.0,-134.0,-131.0,-42.0,-10.0,-131.0,-11.0,-31.0,-3.0,-6.0,-8.0,-6.0,-31.0,-45.0

TAZ_NODE,2,887.0,1225.0,0.0,338.0,376.0,167.0,179.0,150.0,13.0,5.0,169.0,331.0,268.0,123.0,222.0,543.0,1077.0,267.0,92.0,798.0,146.0,73.0,108.0,36.0,55.0,72.0,111.0,289.0,905,1225,0,320,396,168,177,144,13,7,173,343,269,120,229,584,1166,288,98,807,147,73,105,38,56,72,117,297,18.0,0.0,0.0,-18.0,20.0,1.0,-2.0,-6.0,0.0,2.0,4.0,12.0,1.0,-3.0,7.0,41.0,89.0,21.0,6.0,9.0,1.0,0.0,-3.0,2.0,1.0,0.0,6.0,8.0

TAZ_NODE,3,1333.0,1371.0,0.0,38.0,656.0,455.0,209.0,38.0,52.0,0.0,372.0,483.0,435.0,119.0,202.0,1036.0,993.0,331.0,143.0,1267.0,108.0,108.0,126.0,76.0,94.0,143.0,163.0,592.0,1335,1371,0,36,621,427,198,36,53,0,352,457,414,112,210,1003,977,324,137,1198,102,101,115,71,91,134,159,562,2.0,0.0,0.0,-2.0,-35.0,-28.0,-11.0,-2.0,1.0,0.0,-20.0,-26.0,-21.0,-7.0,8.0,-33.0,-16.0,-7.0,-6.0,-69.0,-6.0,-7.0,-11.0,-5.0,-3.0,-9.0,-4.0,-30.0

TAZ_NODE,4,641.0,1210.0,0.0,569.0,120.0,153.0,126.0,127.0,63.0,28.0,94.0,219.0,131.0,172.0,271.0,506.0,555.0,45.0,169.0,448.0,77.0,118.0,51.0,4.0,122.0,35.0,60.0,150.0,642,1210,0,568,204,187,120,88,30,13,122,243,128,149,370,813,842,61,198,444,77,129,53,2,125,38,64,154,1.0,0.0,0.0,-1.0,84.0,34.0,-6.0,-39.0,-33.0,-15.0,28.0,24.0,-3.0,-23.0,99.0,307.0,287.0,16.0,29.0,-4.0,0.0,11.0,2.0,-2.0,3.0,3.0,4.0,4.0

TAZ_NODE,5,856.0,873.0,0.0,17.0,502.0,288.0,118.0,0.0,0.0,0.0,157.0,513.0,214.0,23.0,86.0,430.0,740.0,142.0,59.0,849.0,59.0,90.0,10.0,0.0,170.0,135.0,39.0,405.0,858,873,0,15,480,270,108,0,0,0,149,486,202,21,74,418,726,141,55,803,56,83,11,0,163,126,37,382,2.0,0.0,0.0,-2.0,-22.0,-18.0,-10.0,0.0,0.0,0.0,-8.0,-27.0,-12.0,-2.0,-12.0,-12.0,-14.0,-1.0,-4.0,-46.0,-3.0,-7.0,1.0,0.0,-7.0,-9.0,-2.0,-23.0

TAZ_NODE,6,324.0,329.0,0.0,5.0,480.0,184.0,17.0,0.0,10.0,0.0,120.0,391.0,163.0,18.0,66.0,327.0,563.0,108.0,49.0,642.0,10.0,22.0,0.0,0.0,8.0,79.0,174.0,398.0,327,329,0,2,216,93,10,0,8,0,55,179,83,10,37,143,247,47,23,304,5,10,0,0,4,37,84,187,3.0,0.0,0.0,-3.0,-264.0,-91.0,-7.0,0.0,-2.0,0.0,-65.0,-212.0,-80.0,-8.0,-29.0,-184.0,-316.0,-61.0,-26.0,-338.0,-5.0,-12.0,0.0,0.0,-4.0,-42.0,-90.0,-211.0

TAZ_NODE,7,713.0,714.0,0.0,1.0,366.0,164.0,18.0,35.0,0.0,6.0,102.0,333.0,139.0,15.0,56.0,279.0,480.0,92.0,43.0,546.0,106.0,48.0,26.0,23.0,41.0,65.0,119.0,162.0,713,714,0,1,443,198,21,42,0,9,122,403,169,19,73,342,595,115,53,660,128,57,30,27,50,78,147,196,0.0,0.0,0.0,0.0,77.0,34.0,3.0,7.0,0.0,3.0,20.0,70.0,30.0,4.0,17.0,63.0,115.0,23.0,10.0,114.0,22.0,9.0,4.0,4.0,9.0,13.0,28.0,34.0

TAZ_NODE,8,393.0,393.0,0.0,0.0,130.0,161.0,57.0,22.0,22.0,5.0,73.0,153.0,154.0,17.0,156.0,141.0,466.0,139.0,49.0,348.0,49.0,0.0,0.0,0.0,26.0,121.0,42.0,159.0,393,393,0,0,125,154,55,24,29,6,70,150,157,16,152,135,452,136,53,340,49,0,0,0,25,117,44,158,0.0,0.0,0.0,0.0,-5.0,-7.0,-2.0,2.0,7.0,1.0,-3.0,-3.0,3.0,-1.0,-4.0,-6.0,-14.0,-3.0,4.0,-8.0,0.0,0.0,0.0,0.0,-1.0,-4.0,2.0,-1.0

TAZ_NODE,9,472.0,486.0,0.0,14.0,102.0,223.0,52.0,37.0,0.0,0.0,76.0,160.0,161.0,18.0,163.0,147.0,485.0,145.0,67.0,347.0,14.0,31.0,46.0,12.0,16.0,40.0,30.0,225.0,470,486,0,16,112,249,60,49,0,0,85,181,184,20,159,162,520,161,77,393,16,34,51,13,19,45,36,256,-2.0,0.0,0.0,2.0,10.0,26.0,8.0,12.0,0.0,0.0,9.0,21.0,23.0,2.0,-4.0,15.0,35.0,16.0,10.0,46.0,2.0,3.0,5.0,1.0,3.0,5.0,6.0,31.0

TAZ_NODE,10,460.0,460.0,0.0,0.0,104.0,187.0,58.0,86.0,28.0,0.0,85.0,178.0,180.0,20.0,182.0,164.0,543.0,162.0,177.0,286.0,0.0,9.0,14.0,23.0,12.0,51.0,33.0,321.0,460,460,0,0,105,187,57,83,28,0,83,178,178,21,190,172,586,174,175,285,0,8,14,23,12,50,34,319,0.0,0.0,0.0,0.0,1.0,0.0,-1.0,-3.0,0.0,0.0,-2.0,0.0,-2.0,1.0,8.0,8.0,43.0,12.0,-2.0,-1.0,0.0,-1.0,0.0,0.0,0.0,-1.0,1.0,-2.0


Expanded county rows (first 10 rows each)

Below are the first 10 data rows (header + 10 rows) from each final_summary_COUNTY_*.csv located in output_2023/populationsim_working_dir/output/ — included for quick reference.

final_summary_COUNTY_1.csv (San Francisco)

control_name,control_value,COUNTY_preliminary_balanced_weight,COUNTY_balanced_weight,COUNTY_integer_weight,TAZ_NODE_balanced_weight,TAZ_NODE_integer_weight,MAZ_NODE_balanced_weight,MAZ_NODE_integer_weight

numhh,371859.0,374115.95384263335,374152.5044130808,373789.0,374152.5044130808,373769,374152.5044130808,374080

numhh_gq,395670.0,396119.2400090425,396096.9901883293,395670.0,396096.99018832936,395670,396096.99018832936,395698

hh_gq_university,6486.0,5909.324024243913,5851.982889952319,5847.0,5851.982889952318,5841,5851.982889952318,5826

hh_gq_noninstitutional,17325.0,16093.962142165174,16092.502885296264,16034.0,16092.502885296264,16060,16092.502885296264,15792

hh_size_1,170765.0,145705.08065269142,145903.40908029611,145772.0,145903.40908029611,145321,145903.40908029611,145512

hh_size_2,150447.0,119586.42220594992,119288.9351768422,119153.0,119288.9351768422,119262,119288.9351768422,119327

hh_size_3,58164.0,47923.226966056594,47797.88383291751,47757.0,47797.88383291751,47899,47797.88383291751,47916

hh_size_4,43583.0,35852.686253426255,36048.57426440453,36013.0,36048.57426440453,36220,36048.57426440453,36236

hh_size_5,14967.0,13419.932390770911,13494.382656704496,13482.0,13494.382656704496,13516,13494.382656704496,13543

hh_size_6_plus,13288.0,11628.605373738266,11619.319401915893,11612.0,11619.319401915893,11551,11619.319401915893,11546


| control_name | control_value | COUNTY_preliminary_balanced_weight | COUNTY_balanced_weight | COUNTY_integer_weight | TAZ_NODE_balanced_weight | TAZ_NODE_integer_weight | MAZ_NODE_balanced_weight | MAZ_NODE_integer_weight | |:———————–|—————-:|————————————-:|————————-:|————————:|—————————:|————————–:|—————————:|————————–:| | numhh | 371859 | 374116 | 374153 | 373789 | 374153 | 373769 | 374153 | 374080 | | numhh_gq | 395670 | 396119 | 396097 | 395670 | 396097 | 395670 | 396097 | 395698 | | hh_gq_university | 6486 | 5909.32 | 5851.98 | 5847 | 5851.98 | 5841 | 5851.98 | 5826 | | hh_gq_noninstitutional | 17325 | 16094 | 16092.5 | 16034 | 16092.5 | 16060 | 16092.5 | 15792 | | hh_size_1 | 170765 | 145705 | 145903 | 145772 | 145903 | 145321 | 145903 | 145512 | | hh_size_2 | 150447 | 119586 | 119289 | 119153 | 119289 | 119262 | 119289 | 119327 | | hh_size_3 | 58164 | 47923.2 | 47797.9 | 47757 | 47797.9 | 47899 | 47797.9 | 47916 | | hh_size_4 | 43583 | 35852.7 | 36048.6 | 36013 | 36048.6 | 36220 | 36048.6 | 36236 | | hh_size_5 | 14967 | 13419.9 | 13494.4 | 13482 | 13494.4 | 13516 | 13494.4 | 13543 | | hh_size_6_plus | 13288 | 11628.6 | 11619.3 | 11612 | 11619.3 | 11551 | 11619.3 | 11546 |

control_name,control_value,COUNTY_preliminary_balanced_weight,COUNTY_balanced_weight,COUNTY_integer_weight,TAZ_NODE_balanced_weight,TAZ_NODE_integer_weight,MAZ_NODE_balanced_weight,MAZ_NODE_integer_weight
numhh_gq,288250.0,288146.11301593675,288146.4604158015,288250.0,288146.4604158015,288250,288146.4604158015,288250
hh_gq_university,942.0,964.2236408501045,964.9480411541948,964.0,964.9480411541947,927,964.9480411541947,923
hh_gq_noninstitutional,5283.0,5366.708816736122,5369.7115048111555,5380.0,5369.7115048111555,5331,5369.7115048111555,5128
hh_size_1,71671.0,77335.29617934089,77643.0910946521,77668.0,77643.09109465212,77444,77643.09109465212,77508
hh_size_2,87899.0,92158.15668272613,92338.12054458798,92362.0,92338.12054458796,92288,92338.12054458796,92321
hh_size_3,48432.0,49865.00006332666,49864.07562406577,49882.0,49864.075624065765,49961,49864.075624065765,49949
hh_size_4,42043.0,42257.89695554165,42090.26639106725,42103.0,42090.26639106725,42229,42090.26639106725,42197
hh_size_5,16326.0,16105.134354115116,15978.801139928191,15990.0,15978.801139928193,16061,15978.801139928191,16008
hh_size_6_plus,11122.0,10424.628780886362,10232.105621500195,10245.0,10232.105621500197,10267,10232.105621500197,10267
hh_wrks_0,53000.0,56643.547847730224,57200.42551181885,57215.0,57200.425511818845,57302,57200.425511818845,57499

final_summary_COUNTY_3.csv (Santa Clara)

control_name,control_value,COUNTY_preliminary_balanced_weight,COUNTY_balanced_weight,COUNTY_integer_weight,TAZ_NODE_balanced_weight,TAZ_NODE_integer_weight,MAZ_NODE_balanced_weight,MAZ_NODE_integer_weight

numhh,656068.0,657044.5299128868,657097.7167459886,656821.0,657097.7167459887,657080,657097.7167459887,657483

numhh_gq,687199.0,687503.2012797081,687498.8269491679,687199.0,687498.8269491679,687199,687498.826949168,687199

hh_gq_university,19440.0,19108.58832847633,19082.22017575558,19063.0,19082.22017575558,18822,19082.22017575558,18782

hh_gq_noninstitutional,11691.0,11350.083038344814,11318.890027423698,11315.0,11318.890027423698,11297,11318.890027423698,10934

hh_size_1,152017.0,133662.29212545996,133637.42673974964,133582.0,133637.42673974964,133607,133637.42673974964,133647

hh_size_2,219225.0,201434.8559289799,201417.36066657296,201336.0,201417.36066657296,201520,201417.36066657296,201267

hh_size_3,129808.0,124328.25115618316,124380.295534527,124308.0,124380.295534527,124424,124380.295534527,124705

hh_size_4,117669.0,117416.48879287227,117470.91368616773,117434.0,117470.91368616773,117461,117470.91368616773,117654

hh_size_5,46136.0,47898.13125356879,47889.1394149117,47870.0,47889.1394149117,47869,47889.1394149117,47930

hh_size_6_plus,29898.0,32304.510655822847,32302.58070405964,32291.0,32302.58070405964,32199,32302.58070405964,32280


| control_name | control_value | COUNTY_preliminary_balanced_weight | COUNTY_balanced_weight | COUNTY_integer_weight | TAZ_NODE_balanced_weight | TAZ_NODE_integer_weight | MAZ_NODE_balanced_weight | MAZ_NODE_integer_weight | |:———————–|—————-:|————————————-:|————————-:|————————:|—————————:|————————–:|—————————:|————————–:| | numhh | 656068 | 657045 | 657098 | 656821 | 657098 | 657080 | 657098 | 657483 | | numhh_gq | 687199 | 687503 | 687499 | 687199 | 687499 | 687199 | 687499 | 687199 | | hh_gq_university | 19440 | 19108.6 | 19082.2 | 19063 | 19082.2 | 18822 | 19082.2 | 18782 | | hh_gq_noninstitutional | 11691 | 11350.1 | 11318.9 | 11315 | 11318.9 | 11297 | 11318.9 | 10934 | | hh_size_1 | 152017 | 133662 | 133637 | 133582 | 133637 | 133607 | 133637 | 133647 | | hh_size_2 | 219225 | 201435 | 201417 | 201336 | 201417 | 201520 | 201417 | 201267 | | hh_size_3 | 129808 | 124328 | 124380 | 124308 | 124380 | 124424 | 124380 | 124705 | | hh_size_4 | 117669 | 117416 | 117471 | 117434 | 117471 | 117461 | 117471 | 117654 | | hh_size_5 | 46136 | 47898.1 | 47889.1 | 47870 | 47889.1 | 47869 | 47889.1 | 47930 | | hh_size_6_plus | 29898 | 32304.5 | 32302.6 | 32291 | 32302.6 | 32199 | 32302.6 | 32280 |

control_name,control_value,COUNTY_preliminary_balanced_weight,COUNTY_balanced_weight,COUNTY_integer_weight,TAZ_NODE_balanced_weight,TAZ_NODE_integer_weight,MAZ_NODE_balanced_weight,MAZ_NODE_integer_weight
numhh_gq,646592.0,647057.2825438137,647048.0619520488,646592.0,647048.0619520489,646592,647048.0619520489,646592
hh_gq_university,17772.0,17237.854884824184,17118.219049011797,17114.0,17118.2190490118,17049,17118.2190490118,16936
hh_gq_noninstitutional,26158.0,23890.6778627441,23840.94372610789,23832.0,23840.943726107886,23734,23840.943726107886,23359
hh_size_1,213823.0,194117.76544990143,194087.75104196844,193978.0,194087.75104196847,193663,194087.75104196847,193626
hh_size_2,208072.0,187052.29965902085,187053.72641183136,186901.0,187053.72641183145,186925,187053.72641183145,187078
hh_size_3,118565.0,106407.0877810976,106433.707859005,106348.0,106433.707859005,106418,106433.707859005,106414
hh_size_4,105906.0,95585.23162904622,95628.51408185843,95562.0,95628.51408185843,95747,95628.51408185843,95698
hh_size_5,41599.0,38613.12804487417,38605.987922074346,38589.0,38605.987922074346,38655,38605.987922074346,38584
hh_size_6_plus,26614.0,25281.769979873425,25238.374635311233,25214.0,25238.374635311233,25184,25238.374635311233,25192
hh_wrks_0,127535.0,130119.44252959885,127150.58761787383,127072.0,127150.58761787383,127224,127150.58761787383,127618

final_summary_COUNTY_5.csv (Contra Costa)

control_name,control_value,COUNTY_preliminary_balanced_weight,COUNTY_balanced_weight,COUNTY_integer_weight,TAZ_NODE_balanced_weight,TAZ_NODE_integer_weight,MAZ_NODE_balanced_weight,MAZ_NODE_integer_weight

numhh,406978.0,407170.2537242574,407173.55773921526,407072.0,407173.5577392153,407126,407173.5577392153,407309

numhh_gq,413706.0,413812.0586755095,413812.20228500926,413706.0,413812.2022850093,413706,413812.2022850093,413706

hh_gq_university,1461.0,1463.1438385048727,1463.4226055531458,1463.0,1463.422605553145,1420,1463.422605553145,1405

hh_gq_noninstitutional,5267.0,5178.661112747144,5175.22194024079,5171.0,5175.221940240791,5160,5175.221940240791,4992

hh_size_1,92726.0,88761.82802198837,88643.76374036803,88628.0,88643.76374036803,88538,88643.76374036803,88765

hh_size_2,131287.0,126613.66812727354,126492.29058593744,126459.0,126492.29058593744,126472,126492.29058593744,126501

hh_size_3,75114.0,72888.28558088455,72868.63218565722,72855.0,72868.63218565722,72967,72868.63218565722,72911

hh_size_4,68285.0,67067.83808695879,67178.46132996383,67162.0,67178.46132996381,67219,67178.46132996381,67139

hh_size_5,31358.0,30982.20650146981,31046.796894316,31034.0,31046.796894315998,31078,31046.796894315998,31055

hh_size_6_plus,20845.0,20856.427405682447,20943.61300297285,20934.0,20943.61300297285,20852,20943.61300297285,20938


| control_name | control_value | COUNTY_preliminary_balanced_weight | COUNTY_balanced_weight | COUNTY_integer_weight | TAZ_NODE_balanced_weight | TAZ_NODE_integer_weight | MAZ_NODE_balanced_weight | MAZ_NODE_integer_weight | |:———————–|—————-:|————————————-:|————————-:|————————:|—————————:|————————–:|—————————:|————————–:| | numhh | 406978 | 407170 | 407174 | 407072 | 407174 | 407126 | 407174 | 407309 | | numhh_gq | 413706 | 413812 | 413812 | 413706 | 413812 | 413706 | 413812 | 413706 | | hh_gq_university | 1461 | 1463.14 | 1463.42 | 1463 | 1463.42 | 1420 | 1463.42 | 1405 | | hh_gq_noninstitutional | 5267 | 5178.66 | 5175.22 | 5171 | 5175.22 | 5160 | 5175.22 | 4992 | | hh_size_1 | 92726 | 88761.8 | 88643.8 | 88628 | 88643.8 | 88538 | 88643.8 | 88765 | | hh_size_2 | 131287 | 126614 | 126492 | 126459 | 126492 | 126472 | 126492 | 126501 | | hh_size_3 | 75114 | 72888.3 | 72868.6 | 72855 | 72868.6 | 72967 | 72868.6 | 72911 | | hh_size_4 | 68285 | 67067.8 | 67178.5 | 67162 | 67178.5 | 67219 | 67178.5 | 67139 | | hh_size_5 | 31358 | 30982.2 | 31046.8 | 31034 | 31046.8 | 31078 | 31046.8 | 31055 | | hh_size_6_plus | 20845 | 20856.4 | 20943.6 | 20934 | 20943.6 | 20852 | 20943.6 | 20938 |

control_name,control_value,COUNTY_preliminary_balanced_weight,COUNTY_balanced_weight,COUNTY_integer_weight,TAZ_NODE_balanced_weight,TAZ_NODE_integer_weight,MAZ_NODE_balanced_weight,MAZ_NODE_integer_weight
numhh_gq,165589.0,165557.96290131172,165558.10820404647,165589.0,165558.10820404647,165589,165558.10820404647,165589
hh_gq_university,861.0,872.5295891717775,873.0338690716457,873.0,873.0338690716458,851,873.0338690716458,846
hh_gq_noninstitutional,1616.0,1635.0139445221857,1635.6778810542796,1636.0,1635.6778810542796,1608,1635.6778810542796,1557
hh_size_1,41313.0,42709.28184967466,42831.26499775176,42840.0,42831.26499775176,42649,42831.26499775176,42693
hh_size_2,50813.0,51816.26050712724,51870.31229563909,51881.0,51870.31229563908,51833,51870.31229563908,51814
hh_size_3,27305.0,27819.234082106625,27807.833233207704,27814.0,27807.8332332077,27868,27807.833233207704,27890
hh_size_4,22135.0,22351.343420036876,22312.648204528672,22315.0,22312.648204528676,22415,22312.648204528676,22386
hh_size_5,12439.0,12510.593716673256,12469.164588157479,12473.0,12469.164588157479,12536,12469.164588157479,12534
hh_size_6_plus,8498.0,8351.249325693017,8266.884884761783,8266.0,8266.884884761785,8288,8266.884884761785,8272
hh_wrks_0,39588.0,41430.2870499374,41558.94956776177,41565.0,41558.94956776176,41536,41558.94956776177,41597

final_summary_COUNTY_7.csv (Napa)

control_name,control_value,COUNTY_preliminary_balanced_weight,COUNTY_balanced_weight,COUNTY_integer_weight,TAZ_NODE_balanced_weight,TAZ_NODE_integer_weight,MAZ_NODE_balanced_weight,MAZ_NODE_integer_weight

numhh,49768.0,49779.50341254168,49779.73140011068,49777.0,49779.73140011067,49796,49779.73140011067,49946

numhh_gq,52718.0,52721.18162235967,52721.28337071059,52718.0,52721.28337071059,52718,52721.28337071058,52718

hh_gq_university,620.0,618.2504684037604,618.2271169907685,618.0,618.2271169907685,608,618.2271169907685,576

hh_gq_noninstitutional,2330.0,2323.427741414224,2323.324853609141,2323.0,2323.324853609141,2314,2323.324853609141,2196

hh_size_1,12705.0,12593.055760554842,12595.58016981024,12595.0,12595.58016981024,12561,12595.58016981024,12586

hh_size_2,17819.0,17685.48529585163,17686.307372392806,17684.0,17686.307372392806,17696,17686.307372392806,17757

hh_size_3,7408.0,7360.307586358826,7359.558196962868,7360.0,7359.558196962869,7381,7359.558196962869,7408

hh_size_4,6876.0,6839.203436183069,6838.18215711565,6837.0,6838.182157115649,6870,6838.182157115649,6891

hh_size_5,3279.0,3265.276713489788,3264.523553782009,3265.0,3264.523553782009,3264,3264.523553782009,3269

hh_size_6_plus,2034.0,2036.174620103535,2035.5799500471023,2036.0,2035.579950047103,2024,2035.5799500471028,2035


| control_name | control_value | COUNTY_preliminary_balanced_weight | COUNTY_balanced_weight | COUNTY_integer_weight | TAZ_NODE_balanced_weight | TAZ_NODE_integer_weight | MAZ_NODE_balanced_weight | MAZ_NODE_integer_weight | |:———————–|—————-:|————————————-:|————————-:|————————:|—————————:|————————–:|—————————:|————————–:| | numhh | 49768 | 49779.5 | 49779.7 | 49777 | 49779.7 | 49796 | 49779.7 | 49946 | | numhh_gq | 52718 | 52721.2 | 52721.3 | 52718 | 52721.3 | 52718 | 52721.3 | 52718 | | hh_gq_university | 620 | 618.25 | 618.227 | 618 | 618.227 | 608 | 618.227 | 576 | | hh_gq_noninstitutional | 2330 | 2323.43 | 2323.32 | 2323 | 2323.32 | 2314 | 2323.32 | 2196 | | hh_size_1 | 12705 | 12593.1 | 12595.6 | 12595 | 12595.6 | 12561 | 12595.6 | 12586 | | hh_size_2 | 17819 | 17685.5 | 17686.3 | 17684 | 17686.3 | 17696 | 17686.3 | 17757 | | hh_size_3 | 7408 | 7360.31 | 7359.56 | 7360 | 7359.56 | 7381 | 7359.56 | 7408 | | hh_size_4 | 6876 | 6839.2 | 6838.18 | 6837 | 6838.18 | 6870 | 6838.18 | 6891 | | hh_size_5 | 3279 | 3265.28 | 3264.52 | 3265 | 3264.52 | 3264 | 3264.52 | 3269 | | hh_size_6_plus | 2034 | 2036.17 | 2035.58 | 2036 | 2035.58 | 2024 | 2035.58 | 2035 |

control_name,control_value,COUNTY_preliminary_balanced_weight,COUNTY_balanced_weight,COUNTY_integer_weight,TAZ_NODE_balanced_weight,TAZ_NODE_integer_weight,MAZ_NODE_balanced_weight,MAZ_NODE_integer_weight
numhh_gq,208930.0,208845.0474710793,208844.8308795519,208930.0,208844.830879552,209020,208844.830879552,208981
hh_gq_university,3097.0,3126.0715972976227,3128.4913102272717,3129.0,3128.491310227272,2978,3128.491310227272,2966
hh_gq_noninstitutional,3590.0,3647.7560962028792,3651.149074567115,3653.0,3651.149074567116,3619,3651.1490745671153,3536
hh_size_1,59503.0,65436.7584167128,65432.13923768363,65453.0,65432.13923768363,65166,65432.13923768363,65137
hh_size_2,67854.0,71880.20569720367,71899.59553686972,71931.0,71899.59553686972,72074,71899.59553686972,72058
hh_size_3,29419.0,30102.880719500674,30124.055418754662,30135.0,30124.055418754655,30247,30124.055418754655,30201
hh_size_4,26016.0,25679.71787150244,25674.492525666126,25688.0,25674.492525666126,25787,25674.492525666126,25801
hh_size_5,10634.0,10158.007016912385,10143.494580066363,10145.0,10143.49458006636,10178,10143.49458006636,10205
hh_size_6_plus,6102.0,5587.477749247371,5571.053580511484,5578.0,5571.053580511483,5568,5571.053580511483,5579
hh_wrks_0,52285.0,55647.19210156741,56447.42527147926,56470.0,56447.42527147927,56592,56447.42527147927,56604

final_summary_COUNTY_9.csv (Marin)

control_name,control_value,COUNTY_preliminary_balanced_weight,COUNTY_balanced_weight,COUNTY_integer_weight,TAZ_NODE_balanced_weight,TAZ_NODE_integer_weight,MAZ_NODE_balanced_weight,MAZ_NODE_integer_weight

numhh,104158.0,104539.53578777864,104543.49881855394,104377.0,104543.49881855394,104409,104543.49881855394,104468

numhh_gq,106762.0,106932.58211472387,106927.74404928667,106762.0,106927.74404928667,106762,106927.74404928667,106762

hh_gq_university,628.0,593.3487589122124,591.7852394446792,593.0,591.7852394446791,572,591.7852394446791,571

hh_gq_noninstitutional,1976.0,1799.6975680330352,1792.4599912880512,1792.0,1792.4599912880517,1781,1792.4599912880522,1723

hh_size_1,38033.0,28553.92265217998,28536.410555230377,28490.0,28536.41055523038,28529,28536.41055523038,28586

hh_size_2,45202.0,36279.41067540563,36263.77220781914,36200.0,36263.77220781914,36204,36263.77220781914,36225

hh_size_3,19387.0,16361.263287360784,16382.254051139384,16358.0,16382.254051139384,16361,16382.254051139384,16357

hh_size_4,16836.0,14997.750110314271,15018.381445167428,14999.0,15018.38144516743,15009,15018.38144516743,14989

hh_size_5,6069.0,5824.703306254201,5820.716057524535,5811.0,5820.716057524534,5821,5820.716057524534,5839

hh_size_6_plus,2500.0,2522.485756263781,2521.9645016730697,2519.0,2521.96450167307,2485,2521.96450167307,2472


| control_name | control_value | COUNTY_preliminary_balanced_weight | COUNTY_balanced_weight | COUNTY_integer_weight | TAZ_NODE_balanced_weight | TAZ_NODE_integer_weight | MAZ_NODE_balanced_weight | MAZ_NODE_integer_weight | |:———————–|—————-:|————————————-:|————————-:|————————:|—————————:|————————–:|—————————:|————————–:| | numhh | 104158 | 104540 | 104543 | 104377 | 104543 | 104409 | 104543 | 104468 | | numhh_gq | 106762 | 106933 | 106928 | 106762 | 106928 | 106762 | 106928 | 106762 | | hh_gq_university | 628 | 593.349 | 591.785 | 593 | 591.785 | 572 | 591.785 | 571 | | hh_gq_noninstitutional | 1976 | 1799.7 | 1792.46 | 1792 | 1792.46 | 1781 | 1792.46 | 1723 | | hh_size_1 | 38033 | 28553.9 | 28536.4 | 28490 | 28536.4 | 28529 | 28536.4 | 28586 | | hh_size_2 | 45202 | 36279.4 | 36263.8 | 36200 | 36263.8 | 36204 | 36263.8 | 36225 | | hh_size_3 | 19387 | 16361.3 | 16382.3 | 16358 | 16382.3 | 16361 | 16382.3 | 16357 | | hh_size_4 | 16836 | 14997.8 | 15018.4 | 14999 | 15018.4 | 15009 | 15018.4 | 14989 | | hh_size_5 | 6069 | 5824.7 | 5820.72 | 5811 | 5820.72 | 5821 | 5820.72 | 5839 | | hh_size_6_plus | 2500 | 2522.49 | 2521.96 | 2519 | 2521.96 | 2485 | 2521.96 | 2472 |

variable,total_control,total_result,total_diff,total_diff_pct,mae,rmse,mape,r_squared,perfect_matches,perfect_pct,taz_count
numhh_gq,3032012.0,3032146,134.0,0.004419507574508281,0.028438030560271648,1.459411235566984,0.0010244036045110572,0.9999885650036583,4710,99.95755517826825,4712
hh_gq_university,52288.0,50802,-1486.0,-2.841952264381885,1.034804753820034,14.765038663114288,4.919743033221721,0.994980653630686,4553,96.62563667232598,4712
hh_gq_noninstitutional,76791.0,73764,-3027.0,-3.9418681876782435,2.4267826825127337,11.86092119579686,8.412914357934476,0.9730913672362441,3189,67.67826825127334,4712
hh_size_1,1043229.0,1023945,-19284.0,-1.8484915584210178,41.684634974533104,121.57735595280637,21.163147969939555,0.9181221028345171,144,3.0560271646859083,4712
hh_size_2,972432.0,934422,-38010.0,-3.9087566020040474,40.0606960950764,124.33003651421681,19.78459708452401,0.5699461242316931,81,1.7190152801358234,4712
hh_wrks_0,610138.0,640123,29985.0,4.914461974176334,20.064728353140918,32.17656417073793,23.01606715702099,0.9064976897039876,123,2.6103565365025467,4712
pers_age_00_19,1693504.0,1699288,5784.0,0.3415403801821549,48.946519524618,89.83677662647395,20.326388501727763,0.9009780813061613,50,1.061120543293718,4712

Charts (visual outputs)

This section references the chart images and includes small CSV snapshots (headers + sample rows) for key chart data files. Images are linked relative to this docs/ folder so you can open them in the repository or include them in exports.

TAZ analysis charts

TAZ total population analysis

TAZ overall summary

TAZ numhh_gq analysis

TAZ hh_size 1-6

TAZ hh_wrks 0-3+

TAZ age 0-19

TAZ age 20-34

TAZ age 35-64

TAZ age 65+

TAZ income lt 20k

TAZ income 20k-45k

TAZ income 45k-60k

TAZ income 60k-75k

TAZ income 75k-100k

TAZ income 100k-150k

TAZ income 150k-200k

TAZ income 200k+

Note: there are many TAZ charts; open output_2023/charts/taz_analysis/ to view the full set.

County analysis charts

County performance overview

County variable heatmap

County workers analysis

County income analysis

County household size analysis

County group quarters analysis

County age groups analysis

Note: open output_2023/charts/county_analysis/ for the full set of county charts and the CSVs (county_performance_summary.csv, county_detailed_results.csv).

MAZ comparison chart and table

MAZ household comparison

MAZ household comparison table (header + first 30 rows) — output_2023/charts/MAZ_household_comparison_table.csv:

MAZ_NODE,control_total_hh,syn_total_hh,diff_total_hh,pct_diff_total_hh,control_regular_hh,syn_regular_hh,diff_regular_hh,pct_diff_regular_hh,control_gq_hh,syn_gq_hh,diff_gq_hh,pct_diff_gq_hh,control_uni_hh,control_noninst_hh,diff_uni_hh,pct_diff_uni_hh,diff_noninst_hh,pct_diff_noninst_hh
10001,58.0,58.0,0.0,0.0,58.0,58.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10002,68.0,68.0,0.0,0.0,68.0,68.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10003,73.0,73.0,0.0,0.0,73.0,73.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10004,76.0,76.0,0.0,0.0,76.0,76.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10005,66.0,66.0,0.0,0.0,66.0,66.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10006,101.0,101.0,0.0,0.0,101.0,101.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10007,185.0,185.0,0.0,0.0,185.0,185.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10009,42.0,42.0,0.0,0.0,42.0,42.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10012,320.0,320.0,0.0,0.0,320.0,320.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10017,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10018,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10021,52.0,52.0,0.0,0.0,10.0,43.0,33.0,330.0,42.0,9.0,-33.0,-78.57142857142857,0.0,42.0,9.0,0.0,-33.0,-78.57142857142857
10022,54.0,54.0,0.0,0.0,34.0,25.0,-9.0,-26.47058823529412,20.0,29.0,9.0,45.0,0.0,20.0,29.0,0.0,9.0,45.0
10023,15.0,15.0,0.0,0.0,15.0,15.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10024,57.0,57.0,0.0,0.0,57.0,57.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10025,31.0,31.0,0.0,0.0,31.0,31.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10030,203.0,203.0,0.0,0.0,203.0,203.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10038,795.0,795.0,0.0,0.0,660.0,641.0,-19.0,-2.878787878787879,135.0,154.0,19.0,14.074074074074074,0.0,135.0,154.0,0.0,19.0,14.074074074074074
10039,91.0,91.0,0.0,0.0,91.0,91.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10044,54.0,54.0,0.0,0.0,54.0,54.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
10045,58.0,58.0,0.0,0.0,58.0,58.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0