# A parking lot is not a highway at capacity

### Reasoning about throughput and utilization with the Utilization Law

In my post, “A highway at capacity is not a parking lot,” we looked at the impact of high utilization in a queueing system: it increases queue sizes and wait times.

A highway at capacity *feels* like a parking lot, but from the standpoint of queueing theory, a highway at capacity behaves *identically* to a parking lot at capacity.

In fact, from the queueing theory perspective, they behave identically at all other utilization levels too.

### The Utilization Law

This post will examine the *Utilization Law* from queueing theory to understand why this is so.

It’s an often overlooked companion to *Little’s Law*, which we discussed in the Iron Triangle of Flow.

When reasoning about queueing systems, you typically need to use these laws in combination to understand cause-and-effect relationships.

A parking lot is a great example to illustrate what this law says.

### The Parking Lot Queue

The simplest model for a parking lot is as a queue that you enter when you want to “park” and leave when you are done “parking.”

Your parking time is your* service time. * On a highway, your *driving time *is your service time.

From the queuing theory perspective, this is the only difference between parking lots and highways.

They have different definitions of “*service time*.”

Otherwise, the rules of flow apply identically to both.

The throughput through the parking lot, the number of cars *leaving* the parking lot at any point in time, can never be greater than the parking lot's capacity, assuming cars cannot pass through.

When the parking lot is at capacity, it has the *most* cars that can leave it simultaneously.

If all the cars somehow finish “parking” at the same time and exit simultaneously, then we will have peak throughput through the lot.

But if you get smaller throughput, it has nothing to do with the parking lot being at capacity.

It’s just that some cars stayed parked longer than others, so you had less than the maximum possible number of cars exiting the lot at that moment in time.

The non-intuitive part is that the parking lot can achieve peak throughput only when fully utilized, but the actual throughput is determined by the average time a car stays parked.

This is what the Utilization Law expresses.

where *U* is the utilization, *X* is the throughput, and *S* is the average service time in the process.

*S* is the average processing time, *excluding any time spent waiting in the system*. It should not be confused with Cycle Time from Little’s Law.

The relationship between *U *and *X *is straightforward to understand based on this law.

For a given utilization, when average service time

*increases*, throughput goes*down.*For a given average service time, if utilization

*increases*, throughput*increases*until you reach maximum capacity.

If the demand for parking is less than the number of spaces available, then the number of cars in the lot will always stay below capacity, utilization will be less than 100%, and entering cars will have little or no wait times to find a spot.

On the other hand, the fully utilized parking lot will make life miserable for anyone *waiting* to get in, as we saw in “A highway at capacity is not a parking lot.”

This is still governed by the relationship between queue sizes and utilization we discussed in that post.

This is *identical* to the way the highway behaves at high utilization.

As the parking lot fills up, the time spent waiting changes dramatically as it takes longer to find a spot, and at 100% utilization, you have to drive around the block when the sign says the lot is full.

In this sense, highways and parking lots behave identically at all times from queueing theory lens, as they should.

It’s just that we use different definitions of “service time” for each one.

High utilization cannot turn one into the other.

*As an exercise, you can try running the same argument with a parking spot with a single car, and perhaps the reasoning will be more apparent. *