Skip to content

AA SizeTerms

Alex Bettinardi edited this page Jan 9, 2025 · 1 revision

Title: AA Size Terms

(To edit this document on the wiki, be sure to change the MultiMarkdown version and then regenerate the .html version.)

(To view this document with proper math formatting, use a Multimarkdown viewer, and not GitHub's viewer, or view the .html version locally. Note that html also doesn't render on github.com but if you save it locally as .html or clone the repository it will display.)

Size terms in the Activity Allocation Module

The AA Module of TLUMIP allocates "activities" (primarily households and industries) to land use zones (LUZs), from which each of the activities consumes inputs while producing outputs. These "puts" (a.k.a. "commodities") are exchanged in locations. There are three exchange types in PECAS. In the general case (called 'a', for any) the producer ships the put to the exchange location (such as a physical market or drop point), where the consumer takes possession of the shipment, and then moves it to their own location, where it is consumed. There are also 'c' puts, exchanged in the consumption location (consumer does not ship), and 'p' puts, exchanged in the production location (producer does not ship), and 'n' puts, which are non-transportable and so must be consumed where they are produced.

(In PECAS "commodities" have been renamed to "puts". We renamed them in PECAS as we found generalizing a specific term was difficult for some audiences, whereas defining a new term is unambiguous. However in the TLUMIP model we normally still refer to them as "commodities", as that is how they are referenced in the software.)

The locations of production, consumption, and exchange are aggregated into the LUZs. That is, the AA module allocates production, consumption, and exchange to LUZs. The random utility theory that AA is based on, however, starts from individual locations within each LUZ. The aggregation to an entire LUZ necessitates a size term, to remove the influence of zone boundaries, with the resulting attractiveness of an LUZ being the expected maximum of the individual alternatives (continuous or discrete) in the LUZ. (This is a standard approach in logit modelling, but careful treatment is required since, unlike most choice models, AA often has alternatives that differ in size by orders of mangnitude for some purposes, and is a supply/demand model with endogenous prices, not simply a demand model.)

The need for size terms is best illustrated through a simple example: If an LUZ is divided into two LUZs with equal characteristics, sizes, and quantities, then each of the new LUZs should receive half of the quantities of activities and puts that the original LUZ received. That is, each of the new LUZs should have half of the size of the old LUZs. Thus, the size measurement's job is to measure the size of the LUZ for a certain purpose, so that LUZs that happen to be larger for the purpose receive a larger amount, all other things being equal. Without size terms, small zones could end up with extreme prices — either very high prices to stop consumers from trying to consume too much, or very low prices to stop producers from trying to sell too much for the size of the zone. We can't control relative sizes by redrawing zone boundaries, since a zone can be large for some purpose but small for other purposes (e.g. a large residential subdivision is small for job locations), or small in the current year (no development yet) but large in the future.

AA allocates activities to zones and to technology options in a nested logit model, and then the puts are allocated to (or from) exchange locations using logit models in the additive logit[#additive logit] framework. Size measurements and associated size terms occur at these three different levels. We try to maintain the convention that the phrase "size" or "size measurement" refers to the appropriate measurement of size, S, while "size term" refers to the equivalent utility impact of size, generally ${1}/{\lambda}*\ln(S)$.

[#additive logit]: Abraham and Hunt, “Random Utility Location, Production, and Exchange Choice; Additive Logit Model; and Spatial Choice Microsimulations.”

Technology Size Terms

In the middle of the additive logit framework is technology choice. Each of the technology options for an activity in the model specifies a vector of quantities of inputs and outputs. These technology options have alternative specific constants, calculated as $\frac {1}{\lambda} \ln (w)$ where $\lambda$ is ProductionSubstitutionNesting from CommoditiesI.csv and $w$ is OptionWeight from TechnologyOptionsI.csv. If the technology option involves the use of space, it also has a size measurement in each zone z which is $\frac{Q_{sz}}{\sum_z{Q_{sz}}}$ with $Q_{sz}$ being the quantity of the space type s in the zone z. That is, the size measurement for the technology option is the portion of that space type that is in the zone. The resulting size term is the logged version of the size, that is, the size term in zone z for a technology option that uses space type s is

$$ \frac{1}{\lambda} \ln \left( \frac{Q_{sz}}{\sum_z{Q_{sz}}} \right) $$

The remaining utility of each technology option is the composite utility of buying or selling each put, multiplied by the amount produced or consumed, so the size terms from exchange location choice are 'fed up' to this level from the lower level in proportion to quantities produced or consumed.

Activity Size Terms

Activities that use space have their location utility that includes their technology composite utility. Hence the size terms from technology choice function are implicit in the activity location choice. For example, if there is no space available in a zone for any of the technology options for an activity, its composite utility of technology choice will be -Infinity, acting like a size term of 0 at the higher (activity) level. (Activities that don't use space can have their own size terms calculated based on the entries in the ActivitySizeTermsI.csv file, to connect them to quantities of space even though they aren't modelled as consuming that space, but this functionality is not used in TLUMIP.)

Exchange Location Size Terms

Exchange location size terms are a measure of the potential supply (BuyingSizeTerms, used by buyers when choosing a zone) or potential demand (SellingSizeTerms, used by sellers when choosing a zone) for each put. Puts are primarily produced and consumed by activities, although there is an endogenous supply function and endogenous demand function in ExchangeImportExportI.csv that also contributes.

To determine these size terms, we perform an initial allocation with AA. The code for this is in the method AAModel.calculateExchangeSizeTermsForSpecifiedNonFloorspace(). The procedure is:

  1. Set all prices in all exchanges to the expected price of the put (from CommoditiesI.csv column ExpectedPrice)

  2. For non-floorspace puts without manual size terms (that is, neither FloorspaceCommodity nor ManualSizeTerms is True in CommoditiesI.csv) set an initial bootstrap buying size term and selling size term to be TotalSizeTerm from CommoditiesI.csv divided by the number of zones.

  3. Using the skims, the transport costs, the uniform price landscape, and the bootstrapped size terms, calculate the ZUtilities of buying and selling from each zone, which are initial accessibilities for buying and selling. In general, these initial utilities will be fairly uniform, because prices are uniform and bootstrap size terms are also uniform. However remote zones will have lower access to other zones, and hence lower utilities for buying or selling many puts.

  4. Allocate activities to zones based on these utilities. Note that at this point location and technology size terms come into play (see above), and since put accessibilities will be fairly uniform, activities will locate roughly in proportion to their relevant space quantities. If ConstInExchangeSize is present and set to True in ActivitiesI.csv, this initial allocation will respect any constraints in ActivityConstraintsI.csv; and it will also calculate an output value ZoneConstantForExchangeSize in constrained zones, to be used to reproduce the impact of constraints in future years that may be unconstrained.

  5. Determine the quantity of each put bought and sold by each activity in each zone, based on their choice of technology in each zone.

  6. Allocate puts to exchanges (flow of production to exchanges, and consumption from exchanges) based on the expected prices, the transport costs, and the bootstrap size terms (this is done by calling the function AAModel.calculateLocationConsumptionAndProduction()).

  7. The resulting supply of each put in each LUZ (the amount produced by the activities as well as the exogenous supply) is set as the BuyingSizeTerm, while the resulting demand of each put in each LUZ (the amount consumed by the activities as well as the exogenous demand) is set as the SellingSizeTerm, but only for non-floorspace commodities with ManualSizeTerms set to False. (Floorspace quantities influence technology size and/or activity size, as discussed above, so setting exchange sizes as well would be doubling the impact inappropriately.)

  8. These size terms are then scaled up or down, so that the total of all the size terms is equal to the TotalSizeTerm from CommoditiesI.csv. (Note that in TLUMIP TotalSizeTerm entries do not change year-by-year nor from one scenario to another. This has an impact on benefit measures, which thus focus on the spatial efficiency of the transportation and land use system, and do not implicitly improve with a larger economy and more total opportunities in the entire model area. If a policy analysis scenario was meant to demonstrate that higher economic growth was inherently good because of the increase in opportunities it provides, the TotalSizeTerm input value should be appropriately scaled with the size of the economy.)

Buying and Selling Size Terms for 'c' puts.

Let's first consider the case of labor categories (i.e. different occupations). This is a 'c' put, which is simpler than an 'a' put. A 'c' put is exchanged in the consumption location. That is, the consumer does not ship anything, rather offers to purchase it in their own LUZ, and the producers are responsible for travelling to consumer locations to sell their put. Labor occupations are always 'c' puts, since the producers of labor (households) commute to work where their labor is provided for the consumer of labor, e.g. business establishments. The production location choice model for labor is a job location choice model, and it needs selling size terms that measure the potential number of jobs in the occupation in the LUZ.

Following the steps listed above in the context of labor:

  1. All prices are set to their expected price, to equalize all locations, e.g. salaries are uniform across the model area.
  2. The total size terms are bootstrapped to an appropriate total quantity, evenly divided amongst all zones, i.e. job opportunities are initially even.
  3. The accessibility to zones are calculated; with even prices and even bootstrapped sizes this simply identifies the zones that are better served by the transportation system vs more remote zones with higher transport costs to other zones.
  4. Employers are allocated to zones. Because of the Technology Size Terms, and with uniform prices for space, employers will be allocated in rough proportion to suitable space, unless there are constrains that put them elsewhere. For example, retail employers will locate where shopping centres are located, and industrial employers will locate in industrial districts. Households are also located to zones. Because of their Technology Size Terms, and with even prices for space, households will be allocated in rough proportion to suitable space. (For example, small households will take into account multifamily space more than large households.)
  5. Employers will be set to consume appropriate amounts of labor for the baseline prices and utilities (from technology choice.). That is, for this size term calculation they should be consuming typical amounts of labor in different occupations (vs. in a converged model in which varied, even extreme, prices or labor surpluses or shortages could cause them to behave in a less 'normal' way in certain zones.). Households will choose to produce appropriate amounts of labor for the baseline prices and utilities from their technology (a.k.a. lifestyle cluster) choice. That is, for this size term calculation they should be producing labor in their typical mix of occupations and quantities (vs in a converged model where there may be local shifts to particular occupations, or higher local unemployment, because of local shortages or surpluses and resulting price responses.).
  6. Households will choose locations to sell their labor. Since sizes and prices are still uniform, this will be an allocation of labor flows from residential locations to all potential zones based on transport costs only.
  7. The amount of labor consumed by employers after this initial allocation (plus any normal amount of exogenous demand from ExchangeImportExportI.csv) will be set as the Selling Size Term for labor. This is the normal quantity of labor that would be consumed in the zone given a normal labor use mix, with industry allocated to zones roughly in proportion to suitable space. For example, the Selling Size Term for blue collar labor categories will be roughly in proportion to industrial space, unless the constraints force employees elsewhere or a zone is particularly remote and so unattractive for industrial uses. The amount of labor produced by households in residential areas after this initial allocation will have been allocated to zones that are within commuting distance, and this will be set as the Buying Size Term for the occupation category. So the Buying Size Term for labor in each LUZ will be a measure of the potential labor pool available to employers (including any normal amount of exogenous supply from ExchangeImportExportI.csv).
  8. All the Buying Size Terms will then be scaled so they sum to match the TotalSizeTerm. All the Selling Size Terms will also then be scaled so they sum to match the TotalSizeTerm.

Other 'c' puts are treated similarly. The Selling Size Terms are a measure of the potential size of the market for the sellers; that is, a measure of the quantity of buyers that might locate there based on transport accessibility and floorspace quantities, modified by any constraints. The Buying Size Terms are a measure of the potential size of the market for buyers; that is, a measure of the willingness of the sellers (suppliers) to come there to deliver the put to them, based on transport accessibility to suitable nearby zones where sellers may reside.

Buying and Selling Size Terms for 'p' puts.

Let's next consider the case of a 'p' put, which is simpler than an 'a' put. A 'p' put is exchanged in the production location. That is, the producer does not ship anything, rather offers it for sale in their own LUZ, and the consumers are responsible for travelling to producer locations to acquire the put.

For example, retail services are modelled as 'p' puts. Retailers historically open stores in retail space and then offer goods for sale from their locations. Shoppers travel to those locations to purchase the goods and bring them home.

Following the steps listed above in the context of retail:

  1. All prices are set to their expected price, to equalize all locations, e.g. retail prices are not more expensive nor cheaper anywhere in the model area.
  2. The total size terms are bootstrapped to an appropriate total quantity, evenly divided amongst all zones; e.g. retail opportunities are initially even.
  3. The accessibility to zones are calculated; with even prices and even bootstrapped sizes this simply identifies the zones that are better served by the transportation system vs more remote zones with higher transport costs to other zones.
  4. Employers are allocated to zones. Because of the Technology Size Terms, and with uniform prices for space, employers will be allocated in rough proportion to suitable space, unless there are constraints that put them elsewhere. For example, retail employers will locate where shopping centres, strip malls, and arterial frontage retail buildings are located. Households are also allocated to zones. Because of their Technology Size Terms, and with even prices for space, households will be allocated in rough proportion to suitable residential space. (For example, small households will take into account multifamily space more than large households.)
  5. Employers will be set to sell appropriate amounts of retail services for the baseline prices and utilities (from technology choice). For this size term calculation there shouldn't be any places where sales-per-employee are much higher nor much lower than the normal rate. Households will choose to consume appropriate amounts of retail services. That is, for this size term calculation households will be consuming typical amounts of retail across the entire area (vs in the converged model where more remote households might consume less retail services than households near busy malls or central business districts.)
  6. Households will choose locations to buy their retail services. Since sizes and prices are still uniform, this will be an allocation of shopping flows from residential locations to all potential zones based on transport costs only.
  7. The amount of retail services produced by retail employers after this initial allocation (plus any normal amount of exogenous supply from ExchangeImportExportI.csv) will be set as the Buying Size Term for retail. This is the normal quantity of retail that would be produced in the zone, with retail industry allocated to zones roughly in proportion to suitable space. Unless the constraints force retail elsewhere, or a zone is particularly remote, the Buying Size Terms for retail will be roughly proportional to the amount of retail space in each LUZ. The amount of retail consumed by households located in residential areas after this initial allocation will have been allocated to zones that are within shopping distance, and this will be set as the Selling Size Term for the retail. So the Selling Size Term for retail in each LUZ will be a measure of the potential market size based on shopping distances and the location of housing (including any normal amount of exogenous demand from ExchangeImportExportI.csv).
  8. All the Buying Size Terms will then be scaled so they sum to match the TotalSizeTerm. All the Selling Size Terms will also then be scaled so they sum to match the TotalSizeTerm.

Other 'p' puts are treated similarly. The Buying Size Terms are a measure of the potential size of the market for the buyers; that is, a measure of the quantity of sellers that might locate there based on transport accessibility and floorspace quantities, modified by any constraints. The Selling Size Terms are a measure of the potential size of the market for sellers; that is, a measure of the willingness of the buyers (consumers) to come there to purchase the put from them, based on transport accessibility to suitable nearby zones where such consumers may reside.

Buying and Selling Size Terms for 'a' puts.

The size terms for 'a' puts are normally established through another algorithm. ManualSizeTerms in ActivitiesI.csv is set to True for 'a' puts, and the BuyingSizeTerm and SellingSizeTerm are calculated outside of AA and specified in the ExchangeImportExportI.csv file. In the Oregon TLUMIP model, the 'a' category is used for puts which are categories of goods with substantial household consumption, and these size terms are set to be the quantity of retail space in the zone. This allows the goods to flow from producer (usually a factory, or an external zone) through the 'a' location (a shopping location) and then to the consumer's location. This goods flow through retail represents the wholesale value of the good. (The value of the retail market, i.e. the retail margin, is allocated directly to the retail location as a 'p' put, as described above.)

If ManualSizeTerms is not set to True for 'a' puts, the size terms will be calculated as above, with Selling Size Terms being a measure of marketplace accessibility to the suitable (or constrained) locations of potential buyers, and Buying Size Terms being a measure of marketplace accessibility to the suitable (or constrained) locations of suitable sellers. Locations with good accessibility connecting to buyers and sellers will have larger size terms and hence more trading will occur in them, without regard to the need for any physical space in which to conduct the trade.

Clone this wiki locally