We want to build a functionality in ActivitySim to factor the input employment data down by a set of scaling factors that accounts for workers who work-from-home and workers who in-commute, with the scaling factors varying by zone/district. There are multiple ways this can be achieved:
This approach is faster to implement, but less flexible: We can factor the total size terms (or the total employment in the simulation-based method), by the scaling factors to correct for in-commuting, etc. However, this approach does not have the flexibility of applying the scaling factors only to certain types of employments (in case we do not want, for instance, retail jobs to be changed).
This approach requires minimal code change, but requires a bit more work on the side of the model developer: we may define the scaled employment columns in the land use preprocessor file, then modify the size term calculation UECs to use the scaled employment columns in the workplace location model. All the other models would be unaffected.
This approach requires more code change, but little work on the side of the model developer/user: The user sets the employment columns that should be scaled in the yaml file, and ActivitySim does the calculations itself.