A Well Choreographed OD Table Dance, Part 1: Idea

Jim Bunch’s recent post to the TMIP discussion forum intrigues me. He has a definite “project-level” type question, but it falls outside of anything I have written about or seen elsewhere. In a nutshell, Jim has a before (do-nothing) OD table, a before travel time matrix, and an after (built) travel time matrix. He wants to quickly forecast an after OD table without using travel demand forecasting software. His context is a new bridge, but the same issues could arise in such things as speed limit changes, pricing, road closures among others. Presumably he has no network and no demographic information. Most travel modelers would be traumatized by the complete absence of demographic data.

The Concept

It seems that our best solution is to estimate a complete gravity model or destination choice model to best match this before OD table. But we (royal) don’t need to rely entirely on this estimated model. We can pivot off the original before OD table, using only adjustments derived from the estimated model.

Of course, we must assume that the before OD table is complete and represents something we could potentially approximate with a gravity model. Otherwise, the situation is hopeless.

Given the paucity of behavioral data, the estimation process should use every bit of information that pertains. In addition, multiple broad assumptions must be made, but we will base these assumptions on behavioral travel theory to the maximum extent possible.

It is important to recall that an OD table differs substantially from a P-A (production-attraction} table that might be immediately outputted from a gravity model. An OD table aggregates trip purposes and it has been factored by time-of-day and direction of travel. Without any demographic information, it is impossible to fully unravel the relationship between the P-A table and the OD table. The best we can do is to apply constant, table-wide time-of-day factoring, direction of travel factoring and purpose factoring. Time-of day-factors and purpose factors might exist locally, or they may be obtained from such documents as NCHRP Report 765, NCHRP Report 365 or other places. The NHTS can be tapped for purpose factoring, if published sources are unsuitable.

A before OD table could apply to any time period within a day, but it would seem to me that the most common situation would be a 24-hour period. Such a table would be almost symmetrical, consisting of approximately half P to A trips and half A to P trips.

We could estimate the coefficients of a gravity model from the before OD table, but given the disconnect between the P-A and OD tables and other issues, I would be more comfortable with the idea of borrowing the coefficients from somewhere. Obviously, when a local planning agency has coefficients, use them. Otherwise, investigate NCHRP Report 716 or similar sources. If the model has an exponential friction factor function, most medium-sized places should have a travel time coefficient of approximately 0.07 for HBW and 0.1 for everything else.

There are a number of possibilities for building the rest of the model. Likely the most explainable method would be to use the row and column totals of the before table for the Ps and As of the gravity model. This would be throwing out a lot of useful cell-level information, but we might try it first, then see if the results are tolerable.

First, assuming the travel decision is made at the origin end, we want to find:

Tij = OiXiDjexp(-btij)    and       Xi = 1/Σj[Djexp(-btij)].

Second, assuming the travel decision is made at the destination end, we want to find:

Tij = OiDjYjexp(-btij)    and       Yj = 1/Σi[Oiexp(-btij)].

For simplicity, we are selecting an exponential friction factor function, which is consistent with a multinomial logit equation. Here Oi is the row total, Dj is the column total, Xi is a row adjustment, Yj is a column adjustment, b is the borrowed coefficient, and tij is the before travel time from zone i to zone j.

The Procedure

So here is the full procedure, step by step.

Step 1. Obtain purpose factors and time-of-day factors. Obtain gravity model coefficients for each purpose. I suggest two purposes, home-based work (HBW) and everything else (NBO+NHB). My example will use 0.07 and 0.1, respectively. Guess direction of travel factors, such as 0.5 and 0.5, for a 24-hour table.

Step 2. Factor the full before OD table into purposes and direction of travel, using constant factors. For my example I will use 0.20 for HBW and 0.8 for NBO+NHB.

Step 3. Calculate Xi and Yj, separately for each purpose.

Step 4. Apply the gravity model to the before case and sum the purpose and direction tables. Compare these computed results to the before OD table. Look for reasonableness, but don’t be too disappointed if some cells match poorly. As a rule, gravity models do not fit many cells well, even when full demographic information is available. So without any demographic information we shouldn’t be too fussy.

Step 5. Apply the gravity model to the after case. Find the additive or multiplicative difference for each cell. When applying the model, be sure that the total number of trips in the after case matches the total number of trips in the before case.

Step 6. Apply the additive or multiplicative differences to the before OD table. This is a NCHRP Report 765-like adjustment process. Adjust the whole OD table up or down to match the total number of trips in the before case. The adjusted OD table is the desired result.

An Example

A full example follows in the next blog. All computations are performed on a spreadsheet.

Alan Horowitz, Whitefish Bay, March 28, 2017, updated April 26, 2017