The method is based on finding the solution to a linear equation with the following properties:


Here is the method used in the progression web page on this site:

Conversion FactorConvert = 5280 / 3600 for mi/hr & ft Convert = 1000 / 3600 for Km/hr & mConvert = 1 for m/s & m, or ft/s & ft
Cycle LengthCycLen   Set by Engineer 60 s 
Master OffsetMasOffset   Set by Engineer 0 
VARIABLEFORMULA 1st St2nd St3rd St4th St5th St6th St7th St8th St
Block LengthBlkLen   Measured (first = 0) 01320132099066099013201320
SpeedSpeed   Measured in block 3030303030303030
SplitSplit   Set by Engineer 0.500.660.520.750.750.500.660.50
Cumulative DistanceCuDist(i) = CuDist(i-1) + BlkLen(i) 01320264036304290528066007920
Adjusted SpeedAdjSpd = Speed * Convert 4444444444444444
Travel TimeTravTim = CuDist / AdjSpd 0306082.597.5120150180
Distance in CyclesDstCyc = TravTime / CycLen 00.511.3751.67522.53
Distance in Half CyclesDstHlfCyc = DstCyc * 2 0122.753.25456
Offset Half CyclesOSHlfCyc = DstHlfCyc + MasOffset 0122.753.25456
Closest Half CycleClosHlfCyc = FLOOR(OSHlfCyc + 0.5, 1) 01233456
Half Cycle ErrorHlfCycErr = OSHlfCyc - NearHlfCyc 000-0.250.25000
Half Cycle NearnessHlfCycNear = ABS(HlfCycErr / 2) 0000.1250.125000
BandwidthBandwid = Split - 2 * ABS(HlfCycNear) 0.500.660.520.500.500.500.660.50
Entire BandwidthEntBandwid = MIN(Bandwid) 0.50 


  1. The conversion factor (Convert)

    The conversion factor is used to compensate for the use of different units of measure for speed and distance:

    One of these four systems must be chosen for the calculations.

  2. Cycle Length (CycLen)

    For progression to occur, all of the progressed signals must be related by a common cycle length. This is the number of seconds from the end of the green on the progressed street for one cycle to the end of the green on the progressed street for the next cycle.

    This is the reason the light stays green on the progressed street when no traffic is using the green at the moment. The signal must stay in synchronization with the other signals. Actuated signals can vary the amount of the other phases, but the end of the green for the progressed street must always be synchronized to the timing plan.

  3. Master Offset (MasOffset)

    The master offset, in units of whole cycle lengths, adjusts the position of the timing plan, so the first signal does not have to be at a perfect half cycle position. All of the signals are adjusted by this amount.

  4. Block Length (BlkLen)

    The block length is the distance (in the chosen unit of measure for distance) from one signal to the next. The first signal has a block length of zero. The second signal has the block length from the first signal to the second signal, etc.

  5. Speed (Speed)

    The speed is the actual progression speed (in the chosen unit of measure for speed) in the block given. The second signal gets the actual speed over the section between the first signal and the second signal, etc. The first signal gets the same speed the second signal gets.

  6. Split (Split)

    The split is the fraction of the cycle given to the progressed street. It must be between 0 and 1.

  7. Cumulative Distance (CuDist)

    Cumulative Distance is the distance from the first signal to this signal.

  8. Adjusted Speed (AdjSpd)

    This is the speed, but converted to feet/second or meters per second.

  9. Travel Time (TravTim)

    Travel Time is the time in seconds it takes to go at the selected speed from the first signal to this signal.

  10. Distance in Cycles (DstCyc)

    Distance in Cycles is the time in cycle lengths it takes to go from the first signal to this signal.

  11. Distance in Half Cycles (DstHlfCyc)

    Distance in Half Cycles is the time in half cycle lengths it takes to go from the first signal to this signal.

  12. Offset Half Cycles (OSHlfCyc)

    Offset Half Cycles is the time in half cycle lengths it takes to go from the master offset point to this signal.

  13. Closest Half Cycle (ClosHlfCyc)

    Closest Half Cycle finds the half cycle that is closest to the signal location in time.

  14. Half Cycle Error (HlfCycErr)

    Half Cycle Error is the difference between the actual signal position in time and the nearest half cycle, in half cycles.

  15. Half Cycle Nearness (HlfCycNear)

    Half Cycle Nearness is the value used to calculate the best phasing for the intersection. Its values range between 0 and 0.25:

    These limits were chosen to make the software easier to write. But they cover the value range quite well.

  16. Bandwidth (Bandwid)

    This is the portion of a cycle useful to progressed cars. Note that a negative value becomes zero.

  17. Entire Bandwidth (EntBandwid)

    This is the smallest of the bandwidth calculations. It gives the overall bandwidth available as a fraction of the cycle length.


The time-space diagram is the tool traditionally used to figure progression before computers were commonly used in traffic engineering.

Progression diagram How it works.

Single phase for progressed road.
0.111 (1/9)          (Alternate value: 0.1)
Lead-lag phasing
Single lead
Single lag
0.222 (2/9)          (Alternate value: 0.2)
Double green cycle
Diverging Diamond Interchange
0.250 (1/4)