%%{init: {"theme":"default","flowchart":{"htmlLabels":true}}}%%
flowchart TD
%% Nodes
Survey[("Survey Data<br/>(households, persons, days, trips)")]
Census[("Census Data<br/>(ACS 5-yr + PUMS)")]
Targets[["Census Targets"]]
Base{"Base Weight Estimation"}
DP{"Day Pattern Modeling"}
P1{"Round 1: Demographic Nonresponse Weighting"}
P2{"Round 2: Day-Pattern Weighting"}
TripAdj{"Round 3: Trip Weight Adjustment"}
WeightedSeed[["Base Weights<br/>(Weighted Seed)"]]
R1[/"Round 1 Weights<br/>(HH, Person, Day)"/]
DayTargets[["Day-pattern Targets"]]
R2[/"Round 2 Weights<br/>(Final Household, Person, Day Weights)"/]
FinalWeights[/"Round 3 Weights<br/>(Final Trip & Tour Weights)"/]
%% Edges
Survey --> Base
Survey --> DP
Survey --> TripAdj
Census --> Targets
Census --> Base
Targets --> P1
Targets --> P2
Base --> WeightedSeed
WeightedSeed --> P1
WeightedSeed --> P2
P1 --> R1
R1 --> DP
DP --> DayTargets
DayTargets --> P2
P2 --> R2
R2 --> TripAdj
TripAdj --> FinalWeights
%% Styling
classDef data fill:#75BEE9,stroke:#006FA1,color:#000,font-family:Arial,stroke-width:2px
classDef proc fill:#F68B1F,stroke:#48484A,color:#000,font-family:Arial,stroke-width:2px
classDef weight fill:#63AF5E,stroke:#48484A,color:#000,font-family:Arial,stroke-width:2px
class Survey,Census,Targets,WeightedSeed,DayTargets data
class Base,DP,TripAdj,P1,P2 proc
class R1,R2,FinalWeights weight
1 Introduction
RSG’s goal in weighting is to align household and population totals to independent (Census) control totals across geographies and demographics, and to correct for known survey and platform-related biases. RSG’s process is settings-driven and reproducible, so the same approach can be applied across regions, years, and sample designs.
This workbook documents RSG’s approach to weighting and expansion for Household Travel Surveys (HTS), with specific application to the Puget Sound Regional Council (PSRC) 2025 HTS.
This toolkit is designed to work with RSG’s HTS data, down to variable names and data types. If you want to apply this approach to other survey data, you’ll need to adapt your data, code, settings accordingly.
1.1 Weighting Overview
The methodology produces a consistent set of weights used throughout analysis and reporting:
- Household weight: sums to total households in the study region.
- Person weight: sums to total persons in the study region.
- Person-day (day) weight: sums to total persons and allocates each person’s weight over complete reporting days.
- (Linked) Trip weight: sums to total (linked) trips on a typical (“average”) day.
- Tour weights: sums to total tours on a typical (“average”) day.
Note that the type(s) of weights produced depend on the input data provided. For example, if linked trips are not provided, linked trip and tour weights will not be produced.
The weighting process involves five main steps, illustrated in Figure Figure 1.1:
- Data Preparation: Geographic, survey, and target data are cleaned, formatted, and validated. This includes imputing missing values, deriving new variables, and ensuring consistency across datasets. Chapters 6-8 cover these steps in detail.
- Base Weight Estimation. Each responding household receives a base weight equal to the inverse of its selection/response probability (e.g., if 5 households respond out of 100, each base weight is 20). These weights are generated at the beginning of Chapter 9.
- Round 1: Demographic Calibration. Household base weights are adjusted to align with household and person controls (typically ACS PUMS–derived targets) using PopulationSim. These are generated in Chapter 9 and are the initial household, person, and day weights.
- Round 2: Day-Pattern Adjustment. To address platform and reporting effects, a day-pattern model (estimated with Round 1 weights) generates targets for work/school/other travel incidence on a daily level. These modeled targets, combined with demographic controls, are supplied to PopulationSim for a second calibration. Household, person, and day weights are re-derived—these are the final household, person and day weights. These are generated in Chapter 10.
- Round 3: Trip Weight Adjustment. Trip weights are derived from final day weights and then adjusted for nonresponse/reporting bias by trip type and survey mode. These become the final trip weights and the basis for tour weights, if tour data are provided. These are generated in Chapter 11.
This flowchart illustrates the weighting process for HTS data. Cylindrical nodes represent datasets; rectangles represent individual tables; diamonds represent processing steps, and parallelograms represent weighting outputs at each stage. Color coding differentiates data inputs (blue), processing steps (orange), and weighting outputs (green).