Courier delivery

Cost per delivery: working out the true price of one order

A cost per delivery worked out from fuel and courier pay alone is usually understated by a factor of one and a half to two — and that is exactly why the rate you quote a client looks profitable right up to the moment someone closes the quarter. The real price of a single order also carries dispatching, idle time, empty mileage and repeat visits, and none of those sit in an obvious line of the budget. Here is what that price is actually made of, the formula for working it out, and what to do with the number once you have it.

What the price of a single order is made of

It helps to split the costs into three tiers. The first two normally show up in the accounts; the third has to be assembled by hand — and that is the one that decides whether your figure is right or not.

Direct costs — everything spent on a specific trip:

  • Courier pay: the shift rate, the piece rate per address, and premiums for bulky items, urgency and out-of-town stops.
  • Payroll taxes and contributions on that pay, or the fee paid to a self-employed courier or a contractor.
  • Transport: fuel, depreciation, servicing and repairs, insurance, paid parking and toll roads. If the vehicle is rented, the rental cost per shift.
  • Packaging and consumables, including bags, security seals and thermal packaging.
  • The courier's mobile phone and data.

Indirect costs — everything that makes trips possible without belonging to any single address:

  • Dispatcher and logistics work: planning, phone calls, reassignments, sorting out problems.
  • The picking and storage area, racking, and equipment for assembling orders.
  • Software, telephony and devices.
  • Admin overheads: accounting, HR, training new couriers.

Hidden costs — the ones that almost never make it into the calculation: repeat attempts, waiting for the recipient, empty mileage between scattered stops, overtime on peak days, damaged goods and penalties for missed deadlines. There is no line in the budget where you can see them, but they come out of the same revenue.

The formula: from the total pot to the price of one address

The basic formula is simple, and all the difficulty hides in two parts of it — what goes on top, and what you divide by.

Cost of one delivery = (direct costs for the period + indirect costs for the period) ÷ the number of orders successfully completed in the same period.

Three points of principle, and they are the ones most often broken.

  • Divide by completed orders, not by everything you planned. Divide by the total and the cost of failures gets smeared evenly across the successful addresses and disappears from view — and with it the biggest source of savings you have.
  • The period has to be typical. A month with a sale or a holiday peak gives you an inflated denominator and a deflated price: routes are denser and the share of empty running is lower. Work out an ordinary period and a peak one separately.
  • Indirect costs need a base you can defend. They are spread in proportion to the number of addresses, the kilometres driven, the time spent on the route or the number of shifts. There is no universal answer: if your costs grow with mileage, use distance as the base; if they grow with the amount of manual dispatcher work, use the number of jobs.

It pays to calculate two figures at once. Full cost answers the question of what a completed order costs you on average, and it is what you need for pricing and for comparing yourself with a contractor. Marginal cost — what one more address costs once the route is already planned — is nearly always noticeably lower than the full figure, and it is the one to use when deciding whether to take a particular job or whether to widen your service area.

One more check costs almost nothing: work out the split between fixed and variable expenses. The fixed part — a courier's shift, vehicle rental, the dispatch desk — does not care how many addresses get closed in a day, and it is what makes an empty route so expensive. The variable part grows with the number of stops. The higher the fixed share, the more the price of one order depends on how full the day is, and the more sense it makes to invest in route density rather than haggle over individual line items.

The calculation, step by step

A sequence you can work through in one evening using last month's data.

  • Step 1. Fix the period and the boundaries. One calendar month with no anomalies, one city or one service. Don't mix couriers and field crews: their cost structures are different.
  • Step 2. Collect the direct expenses. Export courier payroll including taxes, transport and fuel, packaging and communications. Vehicle rental and subcontracting belong here too.
  • Step 3. Work out the indirect ones. The dispatch desk, premises, software, the administrative share. Take the portion that belongs to the delivery operation, not the company's costs as a whole.
  • Step 4. Settle the denominator. Count completed orders separately from the total number of attempts and trips. The gap between the two is what failures cost you.
  • Step 5. Break it down by segment. City and suburbs, bulky and small orders, standard slots and express. An average across the whole flow hides the fact that some directions lose money while others cover them with room to spare.
  • Step 6. Check it against what really happens on the route. How many addresses a courier actually closes in a shift, how much time goes on driving and how much on waiting and paperwork. Without that data the calculation stays a desk exercise.

Work out the cost of one courier shift and the average number of addresses completed per shift as well. The ratio between them is the quickest way to sanity-check the main formula: if the two results diverge sharply, there is a gap either in your indirect costs or in the way trips are recorded.

The result is best pulled into a single table: segments as rows, cost items as columns, with separate columns for completed orders and the resulting price per address. A table like that survives a change of period and lets you compare like with like a month later instead of comparing impressions. If last month's data is patchy, don't put the whole thing off until the statistics are perfect: use what you have, mark the estimated rows, and firm them up in the next cycle.

The hidden expenses that leave your figure too low

Almost the entire gap between the calculation on paper and the money that actually leaves the account comes down to a handful of items.

  • Repeat visits. An order handed over on the second attempt costs the company as much as two: both trips are paid for, the revenue is single. If the share of those orders is never measured, your figure is systematically too low.
  • Failed deliveries and returns. The trip happened, the goods came back to the warehouse, and now someone has to receive them, check them and put them back into the plan. Every one of those operations costs working time.
  • Idle time and waiting. The recipient takes twenty minutes to come down; a site pass takes half an hour to arrange. Over a shift that easily turns into several addresses lost.
  • Empty mileage. The drive to the first stop, the run back to the warehouse, the hops between scattered addresses — kilometres that deliver nothing.
  • Manual planning. The hours a dispatcher spends sorting jobs in a spreadsheet are a salary that lands on those same orders.
  • Overtime and firefighting. Overtime pay and last-minute subcontracting on peak days rarely make it into the base calculation.
  • Paper documents. Printing, collecting signatures, reconciliations and reissuing lost delivery notes — an expense you only notice once it is gone.

To stop these items being guesswork you need facts from the route: when the courier arrived at the address, how long they waited, how the visit ended, whether it was the first attempt. Gathered by hand at the end of the month, that data is never accurate — it is worth recording at the moment the event happens.

You can size up the losses with a rough sum: take the number of trips that ended without a handover, multiply by the price of one trip from your main calculation, and compare the result with the operation's monthly revenue. It usually reorders your priorities: tackling the causes of failures turns out to pay better than saving on packaging or renegotiating courier rates.

What to do with the number

The calculation isn't there for the sake of a report. Once you know the price of one order by segment, several decisions that used to be made blind come into focus.

  • Pricing and the free-shipping threshold. A threshold set to match the competition often sits below what a trip actually costs — and every order at the bottom of that range loses money.
  • Zones and time slots. Narrow windows and distant addresses cost more, which is a reason either to add a surcharge or to limit which days you serve the far zones.
  • In-house team or contractor. A contractor's price has to be compared with your full cost, dispatching and idle time included, otherwise the comparison will always flatter your own couriers.
  • Setting shift targets. Knowing the price of a shift and the figure you are aiming for per order gives you a number of addresses to hit rather than a vague need to do more.
  • A breakdown by courier and by direction. The same average usually hides a twofold spread between routes.
  • Judging changes. Any new measure — from tightening time slots to hiring another courier — is judged by how it moved the price of a completed address, not by the number of trips made.

After that it comes down to where the data lives. As long as visit outcomes, arrival times and repeat attempts sit in chat threads and spreadsheets, any figure you produce is approximate and a month out of date. In itlogist, jobs are taken in and assigned to couriers in one system, routes are visible on a map in real time, the courier confirms the work on the spot with photos and a checklist, and the customer follows the status in their own account — exactly which of those feed into a cost calculation is set out on the Courier management page.

How to do this every month instead of once a year

A one-off calculation goes stale within a quarter: fuel prices move, the team changes, order density shifts. Keeping the number usable takes three things.

  • One record of every trip. Each attempt with a date, a time, a courier and an outcome. Then the denominator of the formula comes out of the system rather than out of somebody's memory.
  • An automatic exchange with your accounting system. Orders and amounts shouldn't be retyped by hand: itlogist works with 1C, AmoCRM, Bitrix24 and Excel, so the finance side and the logistics side rest on the same data.
  • A regular recalculation by segment. Monthly, in the same format, compared against the previous period.

Route density is a reserve of its own. The more addresses a courier closes in a shift without overtime, the lower the price of each one: the fixed part of the expenses is divided across more orders. Sorting stops by hand in a spreadsheet never finds that reserve — route optimization in itlogist works out the visiting order with an OR-Tools engine that respects delivery windows and constraints, and the difference between the calculated plan and the manual one shows up immediately in the number of addresses completed.

Testing the idea is quick: setup takes 7 days, there are no long-term contracts, the platform is built for teams of 5 to 100 couriers, and the courier doesn't need to install an app — a mobile web interface is enough. Take the current month as your baseline, repeat the whole exercise after a month of working from the system's own records, and compare the two figures: that comparison, rather than an average market price, is what shows you where the money is really going.

how itlogist collects the data behind a cost-per-delivery calculation

FAQ

Which expenses should go into the cost of a delivery?

Three groups. Direct ones — courier pay with taxes, fuel and vehicle upkeep, packaging, communications. Indirect ones — the dispatch desk, the picking area, software and administration, spread across a base you can defend: addresses, kilometres or shifts. And hidden ones — repeat visits, idle time, empty mileage, overtime and damaged goods. It is the third group that is most often missed, and it is why the calculation comes out too low.

Do I divide by all orders or only by the completed ones?

By the ones successfully completed in the same period. Divide by everything you planned and the cost of failures spreads evenly across the successful addresses and stops being visible. You still need to count the total number of attempts and trips, though — the gap between attempts and completed orders is what tells you the price of failed deliveries and repeat visits.

How often should the figure be recalculated?

Once a month, in the same format, broken down by segment: city and suburbs, size, urgency. Fuel prices, the make-up of the team and order density change constantly, so a calculation a year old is no longer any use for pricing decisions. If trip records are collected in a system automatically, the recalculation takes minutes and doesn't need to become a project.

Why is an average across the whole flow misleading?

Because it averages profitable and loss-making directions together. A dense route in the city centre and a lone address out in the suburbs differ several times over in what they cost, yet they look identical inside one average. Break the calculation down by zone, order category and courier and it becomes clear which segments are being subsidised by the rest — and where a surcharge or a zone restriction beats an across-the-board price rise.

What brings the price of an order down the fastest?

Route density and the share of trips that succeed on the first attempt. The fixed part of the costs — the courier's shift, the vehicle, dispatching — is divided across the addresses completed, so every extra successful stop makes all the others cheaper. That gives you two practical directions: planning routes around windows and constraints instead of sorting them by hand, and working on the causes of repeat visits.

← All articles: Courier delivery