How propane delivery scheduling actually works
In short
Propane and heating oil are not delivered when the customer asks. They are delivered when a forecast says the tank is approaching its reserve. Good fuel delivery software does that forecast per tank, using heating degree days and a per-customer burn rate called the K-factor:
K-factor = heating degree days since last fill ÷ gallons delivered
daily burn = today's heating degree days ÷ K-factor
days to floor = (gallons above your reserve floor) ÷ daily burn
- A heating degree day is the gap between a 65°F base and the day's mean temperature: a 40°F day is 25 degree days.
- A lower K-factor means a thirstier house. It is specific to one building and one set of occupants, and it is wrong the moment a tenant moves in or a pool heater gets installed.
- A propane tank is filled to 80% of water capacity, so a 500-gallon tank holds about 400 gallons. Most keep-full programs schedule a drop at around 30% and treat 20% as the floor.
- The model only works while heating is the load. In summer, hot water and cooking are a flat base load in gallons per day, and degree days predict nothing.
- Propane routes run out of product before they run out of hours, which makes gallons per stop the number that decides route economics.
The arithmetic that decides when a truck goes out
The whole system is this calculation repeated a few thousand times. Work one customer through it.
A 500-gallon tank, filled to 80%, holds 400 gallons. The last delivery put in 300 gallons, and between that fill and the one before it the local station accumulated 1,500 heating degree days. A cold stretch is now running 40 degree days a day.
K-factor = 1,500 HDD ÷ 300 gal = 5.0 degree days/gallon
daily burn = 40 ÷ 5.0 = 8 gallons/day
usable = 400 gal − 100 gal floor = 300 gallons
days to floor = 300 ÷ 8 = 37 days
So this customer has to be on a truck inside 37 days, and you want them scheduled earlier, because a forecast is a forecast. Three ordinary things break the number:
- A warm spell. Burn drops, and the delivery you planned for day 30 is now a 190-gallon drop instead of a 300-gallon one. That is a worse stop, not a better one.
- Occupancy change. A new tenant, a baby, someone retiring and now home all day. The K-factor is wrong and nothing in the weather tells you.
- A new appliance. A pool heater, a generator, a shop heater on the same tank. This is what causes mid-winter run-outs on accounts with twelve clean years of history.
The defense is to recompute K-factor on every fill and flag any account whose K-factor moves more than about 15%. A tank that suddenly got thirstier is either a changed household or a leak, and both are worth a phone call.
Degree days are free from the National Weather Service. Pick the station that genuinely represents each delivery area: a valley town and a ridge twenty miles away are not the same heating climate, and treating them as one causes early-season run-outs.
What a run-out actually costs
Nobody can give you a credible industry average, and the figures vendors quote are invented. Price your own, once. The line items:
| Cost | Why it is there |
|---|---|
| Emergency delivery | Off-route, often after hours, sometimes a partial drop |
| Technician visit | An out-of-gas system has to be leak-tested and the appliances relit before gas goes back on — a licensed technician, not your driver |
| Freeze damage exposure | A no-heat house in January. The tail risk that makes this calculation worth doing |
| The account | On a keep-full contract, a run-out is your breach, not the customer's forgetfulness |
The technician line is the one people forget, and it is why a run-out is not "a delivery, but late". It is a delivery plus a service call plus a relight appointment the customer has to be home for. Set the total against the cost of arriving 40 gallons early, and the asymmetry is obvious. Which is why the scheduling question is never "can we wait". It is "when we go, who else can we take".
Tank monitors change which problem you have
A telemetry monitor reports actual tank level instead of a predicted one. It does not make scheduling easier by itself; it moves the problem.
What it fixes is the three failure modes above: it sees consumption no weather model would have predicted. That makes monitors worth most where prediction is hardest — large tanks, commercial loads, generators, seasonal properties, anyone with a history of a surprise.
What it does not fix is route economics. A monitor saying a tank is at 31% tells you nothing about whether today is the day to drive there. A fleet dispatching on monitor alerts alone gets the worst version of fuel delivery: single-stop, emergency-shaped runs to whichever tank tripped a threshold first. Degree days give you a schedule you can build dense routes from weeks ahead; monitors are the exception feed on top of it.
Why route density matters more here than almost anywhere
Most delivery routing is constrained by time: one driver, nine hours, fit in as many stops as the clock allows.
Fuel is constrained by product. A bobtail leaves the plant with a fixed number of gallons, and the route ends when the tank is empty, whether that happens at 11am or 4pm. So the number that decides whether a route made money is not stops per day. It is gallons per stop and gallons per mile. That changes scheduling in two concrete ways.
First, a minimum drop size. Below some number of gallons, a stop costs more than the margin it earns:
minimum economic drop (gal) = cost of making the stop ÷ gross margin per gallon
Cost of the stop is drive, hose and ticket time at the loaded hourly cost of truck and driver. Use your own figures: a stop costing $18 all-in against $0.90 a gallon puts your minimum drop at 20 gallons, and a 15-gallon top-off is a stop you should not have made.
Second, zone days and pull-forward. Instead of scheduling each tank on its own due date, give each delivery area a recurring day and sweep it. For every tank in that area, one rule:
Put it on today's run if it will accept at least your minimum drop, and if it would reach its floor before this area comes round again.
That converts a scatter of due dates into dense routes, and it is why a well-run propane operation can serve a rural territory at all. Tanks failing the second half get a smaller drop than you would like, which is the price of density.
One honest limit: it breaks down for remote accounts where the nearest neighbor is forty minutes away. There is no clever scheduling for a single tank at the end of a dirt road. Price those accounts for what they cost, or monitor them and go once a season with a full load.
What fuel delivery software has to do that routing software does not
A route optimizer orders a list of addresses well. That is the easy half, and the half most tools sell. The half that matters is upstream: a per-tank consumption model, recomputed on every delivery, read against a degree-day forecast, producing tomorrow's stop list before anyone has asked for a delivery. Plus the capacity side, matching gallons on the stop list to gallons on the truck so a driver does not run dry three stops from the end. Generic delivery management software will not forecast, and a propane-specific scheduling package often will not do day-of dispatch well. That split is covered in route planner versus dispatch software.
Then there is the ticket. Gallons get disputed in a way parcels never are, and a record that cannot show the meter reading, the tank level before and after, the time and the location loses arguments. If you bill temperature-compensated gallons, say so on the ticket. The electronic proof of delivery write-up covers the general case; for fuel, add the meter photo.
OkPilot covers the dispatch and proof half: you type the constraint ("sweep the Ridgefield zone Thursday, nothing under 20 gallons, 2,800-gallon load") and it builds the run for someone to approve. It does not forecast your tanks. Your consumption model stays where it is, and the two have to talk.
See OkPilot running your own operation
A live walkthrough with a real person, configured to your jobs on the call. About ten minutes. Setup takes around 48 hours.