Boxed flower arrangements being loaded into the back of a small delivery van on a quiet residential street at dawn

← All posts

Flower Delivery Pricing: How to Charge by Zone

·NuFlorist Team·5 min read

A flat delivery fee is the most common pricing decision in floristry and one of the most expensive. It looks fair, it is simple to explain, and it means the customer two streets away subsidises the one forty minutes across town — while the forty-minute run quietly loses you money on every trip.

Zone pricing fixes it. Here is how to build it without annoying the customers you already have.

Work out what a delivery actually costs you

Before setting any price, get a real number. For a given run:

  • Driver time, door to door, including the wait at the door and the return leg. This is the big one and it is usually underestimated by half.
  • Vehicle cost — fuel, insurance, maintenance, amortised over the miles.
  • Failed-delivery risk. Some percentage of deliveries need a second attempt. That percentage is much higher in office districts and gated communities.
  • Packing time and materials for transport-safe arrangements.

Time one week of real deliveries with a stopwatch. Most shops discover their average delivery takes noticeably longer than they assumed, and that the distribution has a long tail — a handful of runs eat an entire afternoon.

That tail is the entire argument for zones.

Draw zones by drive time, not distance

The instinct is to draw concentric circles on a map. Resist it. Five miles across a river with one bridge is not five miles down an arterial road.

Build zones from drive time in your actual traffic, then express them as lists of postcodes so the system can price them automatically. Three or four zones is usually right:

Zone Typical shape What it should cover
Zone 1 0–15 minutes Your immediate neighbourhood. Highest volume, lowest cost per drop.
Zone 2 15–30 minutes The bulk of a typical shop's deliveries.
Zone 3 30–45 minutes Worth doing at the right price. Often needs batching.
Zone 4 45+ minutes By arrangement, minimum order, or not at all.

More than four or five zones and you are building a spreadsheet nobody will maintain. Fewer than three and you are back to flat pricing with extra steps.

Price each zone against the cost you measured

Take your measured cost per drop in each zone and add margin. Two rules keep this sane:

Zone 1 should be cheap enough to feel like a local shop. This is your defensible territory. If a customer four streets away pays the same as one across the county, you are inviting a competitor to undercut you where you are strongest.

The far zone should carry a minimum order value, not just a higher fee. A $15 posy going 45 minutes each way is not rescued by a delivery surcharge — the driver time is the same whether the order is small or large. A minimum order value routes that trip to a size that justifies it.

Rush, same-day and timed windows

These are separate charges layered on top of the zone price, because they cost you different things:

  • Same-day breaks your production schedule. It is worth a premium because it displaces planned work, not because it travels further.
  • Timed windows ("before noon", "between 2 and 4") constrain routing, which is what actually costs money. The narrower the window, the higher the surcharge.
  • Sunday and holiday delivery carries a labour premium, and should be priced as one rather than absorbed.

The critical piece is the cutoff, and it must be enforced by the system, not by goodwill. If same-day closes at 1pm, the checkout must stop offering it at 1pm. A customer who buys same-day at 1:15 and does not receive it has been sold something you could not deliver, and no apology recovers that as cheaply as the checkout refusing the sale.

Free delivery, used deliberately

Free delivery is a marketing instrument, not a pricing policy. Used with a threshold it works well:

  • Free over a certain order value within Zone 1 only. Cheap for you, powerful locally, and it raises average order value.
  • Free delivery on subscriptions or repeat accounts, where the lifetime value justifies it.

What does not work is blanket free delivery everywhere. The cost does not disappear; it moves into your stem prices, which makes your arrangements look expensive next to a competitor who charges delivery honestly.

Show the price before checkout

Delivery cost is the leading cause of abandoned carts across ecommerce, and the mechanism is specific: it is not that the fee is high, it is that it appears late. A customer who has chosen an arrangement, written a card message and entered an address does not want a surprise at the final step.

Put a postcode checker on the product page. Let people see their zone price and whether same-day is still open before they invest effort. You will lose a few sales you were never going to keep, and you will convert more of the ones you were.

Wire it up so it prices itself

None of this survives being run by hand. A member of staff looking up a postcode on a laminated card will get it wrong on the busy days, which are exactly the days it matters.

What you want is: customer enters the delivery postcode, the system resolves the zone, applies the zone rate plus any rush surcharge, and enforces the cutoff — the same way whether the order comes through the website, over the phone, or at the counter.

That last clause matters. If your website prices by zone but your counter charges a flat fee out of habit, you have two prices for the same service, and the first customer to notice will tell you about it.

NuFlorist does this as part of the checkout on Shopify, and the same zone rules apply to POS orders taken in the shop, so phone and counter orders cannot drift away from the online prices.

Migrating from flat to zone pricing

Changing delivery prices on an existing customer base needs a light touch:

  1. Model it first. Run your last three months of orders through the proposed zones. You are looking for how many existing customers pay more, and by how much.
  2. Set Zone 1 at or below your old flat rate. Most of your regulars live there. If your most loyal customers see a price cut, the change reads as fair rather than extractive.
  3. Announce it once, plainly, framed as what it is: local deliveries cost less, long ones cost more.
  4. Honour standing arrangements for account customers through their current cycle.

Done in that order, the change is usually met with indifference, which is the best possible outcome for a pricing change.

The measurement that tells you it worked

Track margin per delivery by zone, monthly. Not revenue — margin.

If Zone 3 is still negative after the change, the price is too low or the minimum order value is too low. If Zone 1 volume is growing, the local pricing is doing its job.

Most shops that do this discover their delivery operation was roughly break-even overall, hiding a profitable core and a genuinely loss-making fringe. Seeing those separately is the point.

  • delivery
  • pricing