Yard dwell time vs. berth congestion: what import planners keep mixing up

A vessel can clear the anchorage in two days flat and your container still sits for a week before the trucker gets a pull notice. Or the ship can idle outside the breakwater for ten days and the box moves off the yard the same afternoon it's discharged. These are two different problems with two different clocks, and conflating them is how a lot of safety-stock math goes wrong.

Berth congestion: the wait before the ship even ties up

Berth congestion is what happens before cargo exists on dry land. It's vessels stacked at anchor or drifting on a holding pattern because every berth at the terminal is occupied and the next slot won't open for days. The berth queue is driven by carrier schedule reliability, how many strings call that terminal in a given week, and whether an earlier vessel overstayed its window.

When the berth queue backs up, your cargo's discharge date moves later. The berth queue delays when the clock starts; it doesn't tell you anything about how fast the clock runs once it does. A planner tracking only "port congestion" as a single score is usually watching this part, the part visible from outside the fence: AIS pings, anchorage counts, average wait-to-berth.

Yard dwell: what happens after the box is already on the ground

Container dwell time starts the moment the box is lifted off the vessel and set down in the yard. From there it's a function of things that have nothing to do with the ship: chassis availability, customs hold rates, how full the yard already is, gate appointment slots, and whether the terminal is prioritizing export boxes that week because an outbound string is loading.

This is where terminal fill rate matters more than anything happening at anchor. A terminal running near capacity will hold boxes longer even with a clean berth schedule, because there's nowhere to stage them and gate throughput gets rationed. Dwell can run high at a terminal that has zero vessel queue at all. It's a separate bottleneck, downstream of the first one, and it moves on its own schedule.

Why import planners need both numbers, not one blended score

If you're padding every lead time by a flat buffer because "the port's been bad," you're almost certainly overcorrecting on one lane and undercorrecting on another. A lane with a long berth queue but a terminal that clears boxes fast once they're down needs a different buffer than a lane where ships berth on time but the yard is running at capacity and gate appointments are three days out.

Most congestion indexes report a single composite number for a port, which hides exactly this split. It tells you the port is "bad" without telling you whether that badness is sitting offshore or sitting on the ground, on the specific terminal your freight moves through. A port-wide score doesn't help if your cargo clears one terminal that's fine while a sister terminal two miles down the channel is the one backed up.

Treat vessel queue and yard dwell as two separate inputs per lane. One tells you how long ships are waiting to berth at the specific terminal your carrier calls. The other tells you how full that yard is running and how long boxes sit there once discharged. Watching both over several sailings, instead of either in isolation, is what shows you which one is driving your slip.

That's the gap we built Lead Time Risk to close: instead of a single congestion score, it turns vessel queue, terminal fill and yard dwell on your registered lanes into a daily slip-day number for each lane you're tracking, so you know which part of the chain is actually running behind before you commit a lead time to a customer.

If you're tired of guessing which half of the port is costing you days, that's worth a look.

← Back to the blog