Running your own grocery delivery instead of renting someone else's

· 6 min read

Running your own grocery delivery instead of renting someone else's

In short

A grocery delivery management system is what you need the day you stop renting a marketplace's fleet. The trade is arithmetic: the marketplace takes a share of every basket, your own van costs you per drop, and the two cross at one basket value.

Crossover basket = your cost per drop ÷ marketplace commission rate

e.g. £4.20 per drop ÷ 0.18 = £23.33
Baskets above ~£23 are cheaper in your own van.
  • Marketplace cost scales with basket value. Own-fleet cost scales with drop count. That one difference decides most of the argument.
  • Commission is the visible price. You also hand over the phone number, the substitution decision and every bit of delivery data you would need to plan a fleet later.
  • Your own fleet adds a cost that does not care how many orders you got: van, driver, insurance, sickness cover, and a dispatcher whose morning belongs to the rota.
  • Grocery capacity is three limits at once — time, cube and temperature zone. A route built only on minutes will not fit in the van.
  • The substitution decision belongs in the aisle. If it reaches the door, the drop is already partly lost.
Marketplace fleetYour own fleet
Cost shape% of basketFixed per day ÷ drops
Best forSmall, low-value basketsHigh baskets, dense postcodes
Customer contactTheirsYours
Substitution callTheir picker or driverYour picker, with the customer
Cold chain controlLimitedYours to enforce
Thin postcodesCoveredExpensive or not served
Data you keepAlmost noneAll of it

The two cost shapes

Work out your own cost per drop before you argue about anything else.

Cost per drop = (driver + vehicle + fuel) per day
                ÷ drops completed per day
              + per-drop consumables (bags, ice packs, tote hire)
              + failed-drop allowance

The failed-drop allowance is the line people leave out. If one drop in twenty comes back, every successful drop is carrying five per cent of a wasted journey, plus the chilled items you cannot put back on the shelf.

Then compare. Commission is charged on basket value; your van is charged by the day. So the two lines cross at exactly one basket value, and it is worth knowing yours:

Crossover basket = cost per drop ÷ commission rate

At £4.20 a drop and eighteen per cent, the crossover is about £23. Put your own two numbers in. The answer moves a long way on a few points of commission, which is why the "should we go in-house" conversation so often goes nowhere: both sides are right, about different baskets. The corner shop topping up a £12 order and the weekly family shop at £90 do not belong in the same decision.

What you are actually renting

Commission is the part you can see on the statement. The rest:

  • The phone number. When a drop goes wrong you often cannot ring the customer, and sometimes cannot see who they were.
  • The substitution conversation. Somebody else decides whether a different brand of milk is acceptable, with no record of what that household accepted last time.
  • The delivery data. You never learn which postcodes are cheap to serve, which slots fill, or which addresses fail first time. That is precisely the data you would need to plan your own fleet, and you are not collecting it.
  • The recovery. A bad delivery is remembered as your shop, not the app's.

Running your own fleet reverses all four and hands you the bill. Hiring, vans, insurance, cover when someone is ill, and a dispatcher. That last one is usually underestimated: the software costs less than the person who uses it.

What grocery makes hard

Most delivery software was built for parcels. Grocery breaks four of its assumptions.

  • Substitutions happen in the aisle. The picker is standing at an empty shelf and needs an answer in about thirty seconds. If the decision travels to the door instead, the customer refuses the item, you refund it, and you have carried it both ways. The system has to reach the customer while the picker is still there, and remember the answer so the next picker does not ask again.
  • Cold items start a clock. From the moment a chilled tote leaves the chiller it has a time budget. Decide what that budget is, write it down, and make it a hard constraint on the route rather than a hope. A frozen order sitting third on a nine-stop round is a complaint you have scheduled in advance.
  • Capacity is three things. Time, cube and temperature zone. A router that only counts minutes will cheerfully build a route that will not physically fit, or one that needs four chilled totes in a van that carries three. Slot selling has to be capped on whichever limit runs out first — and in grocery it is usually cube, not time.
  • Baskets are heavy and service times vary wildly. Twelve grocery drops with one third-floor walk-up is not twelve parcels. Door-to-door time varies more than drive time does, so plan from your own measured service times, not an average someone else published.

Two smaller ones that still cost money: slots are sold before you know the basket, so capacity has to be checked at the point of sale rather than at six the next morning; and some lines need a real check at the door, whether that is age restriction or an item accepted by weight. That is a proof problem, and it has to work on a phone in the rain — see electronic proof of delivery for what actually holds up in a dispute.

What a grocery delivery management system has to do

Short version: hold the three capacity limits, respect the cold clock, and keep a line open to the customer from the aisle to the door.

Before you buy anything, check it can do these:

  • Cap slot selling on cube and temperature zone, not just stop count.
  • Carry substitution approvals while the pick is still running, and store what the customer chose last time.
  • Sequence with a per-order expiry, so chilled orders cannot be pushed to the back of a round.
  • Reassign mid-round when a van breaks or a driver calls in, and tell the affected customers without anybody retyping an address.
  • Capture the drop at item level — refusals, hand-off, time — in a form you can still produce three weeks later.
  • Report cost per drop by postcode and by slot, so next quarter's decision runs on your numbers instead of this argument again.

If a demo cannot show you the first and third of those, it was built for parcels and someone has relabelled the screens. The distinction between planning a route and running a day is worth being clear about: route planner or dispatch software.

The split most operations land on

Almost nobody ends up fully one way. The sensible shape is to divide the work by basket and by postcode, not by principle.

Own fleet takes the dense postcodes, the high-value slots, the customers you cannot afford to annoy, and anything where a refused substitution damages a relationship. The marketplace or a courier takes the thin edges, the long tail, the small top-up basket, and the peak days you cannot staff.

The question is not which model is cheaper. It is which basket, in which postcode, at which hour.

Then keep the comparison running. Cost per drop drifts as volume and fuel move, and the crossover basket moves with it, so recalculate it every quarter rather than treating the original decision as settled.

OkPilot runs the own-fleet half of that split — dispatch, live tracking for the customer, item-level proof on every drop — set up by describing your operation in plain instructions rather than configuring it screen by screen. The grocery specifics are on the grocery delivery software page.

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.

No commitment. We will reach out within one business day.

← All posts