Key takeaways

  • Capacity-based route planning builds feasible truck loads first and optimizes driving second; distance-only routing does those steps in the wrong order for fleets that fill up.
  • Every collection trade has one operative capacity unit (gallons, pounds, cubic yards, or container slots), and routes planned in the wrong unit fail in the field.
  • Estimate each stop's load with a confidence hierarchy: contracted quantity first, last recorded actual second, a conservative default last.
  • Plan routes to a buffer below nominal capacity, because per-stop loads vary and a truck that fills early strands the rest of the day.
  • Dump, offload, and refill trips belong on the route as planned stops with travel, queue, and gate hours, never as improvised interruptions.
  • A route that fits the tank can still miss the shift; diagnose failed routes as capacity-, time-, or distance-infeasible before you fix them.
  • Planned-versus-actual load, emergency dump runs, and unused capacity are the numbers that show whether the plan is improving.

Capacity-based route planning means building each truck's route around what it can hold — gallons, pounds, cubic yards, or container slots — before optimizing how far it drives. You estimate the load at every stop, add stops until the truck approaches its fill limit, place the dump or refill run as a planned stop, and only then sequence the drive. Distance-only routing treats a stop as a point to visit; capacity-based planning treats it as load the truck has to carry. For trucks that fill up mid-route and for any route built around disposal stops, the load decides whether the route is possible at all. The miles only decide how efficient it is.

If you dispatch septic, grease, used-oil, refuse, porta-potty, or roll-off trucks, you already plan this way: in your head, or in a spreadsheet column that tracks how full truck 2 will be by 11 a.m. Most route optimization tools never ask what the truck holds, and that gap is the reason DynoRoute's capacity-based routing exists for fleets that fill up or empty out. I build that software, and I spend a large part of my week interviewing the owners and dispatchers who run these fleets. This guide is the method that keeps surfacing in those conversations, written down in plain operator language.

What is capacity-based route planning?

Capacity-based route planning is a planning order: decide what each truck will carry before deciding where it will drive. A route is a load plan first and a driving plan second, because a load that doesn't fit the truck can't be rescued by clever sequencing.

Operations researchers call the underlying problem the capacitated vehicle routing problem, or CVRP: stops that each add something to the truck, vehicles that can only carry so much, and an assignment that keeps every truck under its limit. You don't need the math to use the method — what you need is its order of operations. The Open University's waste-collection planning guide teaches route building in three stages: estimate the quantity at each pickup, group stops into a round one vehicle can handle, then sequence that round. Distance-only tools start at stage three and skip the first two, which works for envelopes and fails for anything with mass.

The failure looks the same in every trade. A "shortest path" plan strings 40 stops together; the truck is full at stop 26; the driver improvises a dump run that was never in the plan; the queue at the facility eats an hour; three stops roll to tomorrow. And the direction can flip: bulk water and spray fleets start full and empty out, which is the same math with the opposite sign. One definition covers both: the route is planned around the truck's capacity state, whether that state is filling or draining.

Purpose-built routing engines treat this explicitly: HERE's waste-collection tour planning, for one, sends a truck to a dump site when it fills, applies a fixed unloading duration, and then resumes the tour. The multi-trip day is the model, not the exception.

Pick the capacity unit your trade actually runs on

Every collection trade has one unit that genuinely fills up, and it is not always volume. Plan in your trade's operative unit, track a second limit where one exists, and never force a slot-limited truck into gallons.

Trade What fills up Operative unit Second limit to watch
Septic / grease pumping Tank Gallons Axle weight
Used cooking oil collection Tank Gallons Time per stop
Refuse / recycling (commercial) Hopper Cubic yards Payload weight
Porta-potty service Deck and tanks Delivery slots + gallons Both bind separately
Roll-off / hooklift Rail Container slots Per-container weight
Bin cleaning / water delivery Water onboard Gallons (draining) Grey-water capacity

Two things in that table trip people up. Some trades carry two capacities at once: a porta-potty truck has delivery slots on the deck and liquid in the tanks, and the route has to respect both. And the "biggest truck" is not automatically the right truck: a tandem-axle unit may be barred from the back roads half your accounts sit on, and a facility may not accept the material a given truck is hauling. Heterogeneous fleets need per-truck limits, not one fleet-wide number.

One boundary worth knowing: curbside residential collection is often planned as arc routing, where the problem is covering every street segment rather than visiting discrete addresses. That is a different geometry with its own tooling. This guide covers point-stop planning (named customers at named locations), which is how septic, grease, UCO, commercial refuse, porta-potty, and roll-off work actually runs.

Estimating the load before the truck rolls

Estimate each stop's load with the most reliable number available, in this order: the contracted or booked quantity, then the last recorded actual at that stop, then a conservative default for the trade. When you have to guess, round up.

Booked quantity is the top of the hierarchy. A scheduled 1,000-gallon pumpout or a 20-yard container swap tells you the load before the truck leaves the yard. Delivery routes live here too: you load what was ordered, so the order sheet is the estimate.

Last actual is the workhorse for recurring accounts. What the driver recorded at that stop last visit is usually the best predictor of this visit, and every service tightens the number. This only works if actuals come back from the field (a ticket, an app entry, anything), so make recording the pumped or collected quantity a non-negotiable part of the job.

Conservative default covers new accounts and walk-ins. Base it on the container, because the container caps the stop: a trap or tank can't give you more than it holds. In grease work, for instance, the trap's rated size sets the ceiling on any single service. Our guide to grease trap sizes and capacities walks through the common ones.

Two refinements make the hierarchy stronger. Season matters: the same stops run heavier in some months, so a last-actual from January may undershoot July. And write the estimate down per stop, not just per route; you can only compare planned to actual later if the plan recorded a number for every stop.

How much buffer should a route carry?

Plan each route to leave a buffer below the truck's nominal capacity instead of loading the plan to 100%. The buffer absorbs estimation error, residual load already onboard, and the one stop that runs heavy — the things that otherwise become an emergency dump run.

The numbers that follow are illustrative arithmetic. A 3,500-gallon vacuum truck booked for three 1,000-gallon jobs carries a planned 3,000 gallons. That leaves 500 gallons of headroom, about 14.3% of the tank. Enough to absorb one overfull tank at a scheduled stop. Not enough for a fourth job.

Planning to 100% fails for three reasons. Nominal capacity is not usable capacity: trucks come back with residual load, and a tank that reads 3,500 on paper may have a few hundred gallons of yesterday still in it. Estimates miss; a "1,000-gallon" tank that hasn't been pumped in five years can hand you more than you booked. And a second limit can bind first, because a legally loaded truck can be at axle weight before the tank is full, at which point volume headroom is fiction.

There is no universal buffer percentage, and be suspicious of anyone selling one. Size yours from your own records: run the planned-versus-actual comparison for a few weeks, look at how far actuals overshoot plans on your worst days, and set the buffer to cover most of that spread. Fleets with tight booked quantities can run lean; fleets whose stops are mostly estimated by guesswork need more headroom. The point of the buffer is that a surprise becomes a shrug instead of a reroute.

Dump and refill trips are route stops, not interruptions

Treat every disposal, offload, or refill trip as a scheduled stop with its own travel time, queue time, service duration, gate hours, fees, and accepted materials. A route that plans the reload is a multi-trip route. A route that discovers the reload at 10:40 a.m. is a broken one.

Most fleets dump or refill at a small, fixed set of facilities, which makes them easy to model as nodes on the route. Each facility node carries real attributes: where it is, when the gate opens and closes, how long the queue runs at each hour, what the tip fee is, and what material it accepts. Get those attributes wrong and the plan fails in ways that look random from the office: a truck that arrived at 4:05 to a gate that closed at 4:00 didn't have bad luck, it had a bad plan.

Once the reload is a planned node, the route's shape changes. Stops before the reload should cluster on the way to it; stops after it start a second load, planned with the same estimates and the same buffer as the first. This is what multi-trip planning means: two or more feasible loads in one shift, with the empty-out or fill-up trip placed where it costs the least drive time. HERE's waste model works exactly this way: full truck, planned dump with a fixed duration, tour resumes.

The failure mode is the emergency dump run: a reload nobody planned. It costs the unplanned drive, the queue you didn't check, and usually a stop or two rolled to tomorrow. Counting emergency runs per week is one of the fastest ways to measure whether your planning is actually capacity-based; more on that in the metrics section.

When the load fits but the day doesn't

Capacity, time, and distance are three separate feasibility tests, and a route has to pass all three. A load that fits the tank can still miss a customer's time window, a disposal gate, or the end of a legal driving day.

Small-quantity trades feel this hardest. Illustration, again with round numbers: a 1,500-gallon used-oil truck collecting about 30 gallons per restaurant is carrying 50 stop-equivalents of nominal volume. No shift holds 50 stops once service minutes, drive time, and the offload are counted; the clock caps the day long before the tank does. A planner who fills that route by volume has planned a day that cannot happen. Time windows tighten it further: restaurants that only allow service before opening compress the same work into fewer usable hours. The stops-per-day arithmetic is the same one we walk through in how many grease traps a truck can service in a day.

This is why a failed route needs a diagnosis before it gets a fix. When a route breaks, name which test it failed:

  • Capacity-infeasible. The truck hit its fill limit with stops remaining. Fixes: fewer stops per load, a planned reload added mid-route, or the work split across trucks.
  • Time-infeasible. The stops fit the tank but not the clock: windows missed, shift or hours-of-service limits exceeded, gate closed on arrival. Fixes: fewer stops, an earlier reload, resequencing around the windows, tighter geography.
  • Distance-infeasible. The driving itself is the problem, with deadhead to the territory or the facility dominating the day. Fixes: territory redesign, a closer disposal option, or building denser routes so each mile serves more stops.

The fixes barely overlap. Adding a dump run to a time-infeasible route makes it worse, and shrinking stop counts on a distance-infeasible route wastes capacity you paid for. Diagnose before you fix.

Five worked truck days

Here is the method on the ground in five trades. Every example in this section is illustrative: round numbers chosen to show the reasoning, not results from any real fleet.

Septic. A 3,500-gallon truck is booked for three 1,000-gallon pumpouts: planned load 3,000, buffer 500. Mid-morning a fourth job calls in, two minutes off the route. Distance says take it. Capacity says no: even a normal tank pushes past the limit, and an overfull one strands the afternoon. The plan already holds the answer: slot it after the disposal run, or hand it to the truck that has headroom.

Used cooking oil. The 1,500-gallon truck from the last section plans its route by time (service minutes and drive between stops) and tracks gallons only to confirm volume never binds. Most days it doesn't. Then a stretch of heavy bins puts the tank ahead of the clock, and the per-stop actuals are what catch it before the driver does.

Commercial refuse. A front-load truck is rated in cubic yards, but compaction converts volume into weight, and on a wet week the truck hits payload with hopper space to spare. The plan books stops in yards, watches scale tickets for the weight trend, and places the transfer-station trip mid-route instead of letting it become an end-of-day scramble.

Porta-potty. The truck runs 12 delivery slots on the deck plus separate waste and fresh-water tanks. A mixed route of drops, swaps, and services plans both dimensions at once: a thirteenth unit doesn't fit even with the tanks bone-dry, and a full waste tank stops services even with open slots. One route, two capacities, both tracked.

Roll-off. The operative unit is the rail. A roll-off day can be volume-light and still completely constrained, because with the rail committed to a loaded can, nothing else moves until it's dropped. The route is a chain of pulls, drops, and swaps with a landfill or yard leg inside each cycle, sequenced to keep the rail working. Forcing this trade into gallons models nothing; track the slot.

Different trucks, same discipline: know the operative unit, estimate every stop, keep a buffer, and plan the reload.

The metrics that prove the plan is working

Six numbers tell you whether capacity-based planning is paying off: planned versus actual load per route, emergency dump runs per week, unused capacity at day's end, missed or rolled-over stops, miles per route, and overtime hours. Track them per truck per day and the plan starts critiquing itself: a widening planned-versus-actual gap means your estimates need work, and recurring emergency runs mean your buffer or reload placement does.

The research literature says the capacity lever is real, with caveats worth respecting. In one modeled waste system, replacing 20.7 m³ trucks with 29.0 m³ trucks cut the number of routes by 23% and travel distance by 12%; in the same paper's scenarios, a 25% capacity increase cut distance anywhere from 4.1% to 24.4% depending on the network, and dual-compartment trucks cut distance by up to 23% and travel time by up to 14.3% (ScienceDirect). Vendor-reported results point the same way — RouteSmart's waste-collection page reports Franklin, Tennessee cut annual operating cost 37%, stated as $1,083,812, as of this check — and vendor case studies are existence proofs, not forecasts. Read the modeled spread as the real finding: the same capacity change returned anywhere from 4.1% to 24.4% depending on the network, which is why the six metrics above matter. Your network's answer only shows up in your own planned-versus-actual records.

If you decide to move this from spreadsheet to software, hold the software to the method. It should take per-truck fill limits in your operative unit (gallons, pounds, cubic yards, or container slots), plan disposal and refill returns into the route rather than around it, handle recurring weekly and monthly service without rebuilding routes from scratch, and show you utilization and route density per truck. That list is DynoRoute's spec, because I built it from the same operator interviews this guide comes from: set what each truck holds and routes come back with the reload already placed, the AI dispatcher matches jobs to trucks with confidence scores and flags conflicts before they reach a driver, and photo proof from the driver app plus CSV import keep the records honest. The metrics section doesn't have to live in a spreadsheet either: stops, quantities, and containers are records with fields you define, and you can set up an AI agent on your own trigger to watch planned-versus-actual per stop and flag a widening gap while it is still one truck's bad day.

Your dispatcher already does capacity math all day. Put it in the plan instead: import your stops from a spreadsheet and plan your first day load-first.