Same-Day and On-Demand Delivery for F&B and Retail Outlets
If you run a shop or a kitchen rather than a warehouse, delivery is a different problem: no packing day, no batch dispatch, and a customer waiting. The decision that matters is not which courier — it is whether each order should go through a platform, an on-demand fleet, or your own rider. There is a crossover basket value where the answer flips.
E-commerce delivery advice is written for warehouses: pack in the afternoon, hand over a batch, ship overnight. If you run a café, a bakery, a pharmacy, a florist or a neighbourhood grocer, none of that describes your day. Orders arrive during service, the goods may be hot, cold or fragile, and the customer is waiting now. The question is not which courier to sign with. It is which of three delivery models each order should use — a food or shopping platform, an on-demand fleet, or your own rider — because they have different cost shapes and there is a basket value where the cheaper option flips.
The three models, honestly compared
| Platform (food/shopping app) | On-demand fleet (booked per job) | Your own rider | |
|---|---|---|---|
| You pay | A commission, as a percentage of the order | A fee per trip, based on distance | Wages, fuel, bike, insurance — fixed |
| Best when | Basket values are small and you need the platform's demand | Basket values are larger, demand is your own | Volume is steady and dense enough to keep a rider busy |
| Who owns the customer | The platform | You | You |
| Cost behaviour | Scales with revenue | Scales with orders | Fixed — brilliant at volume, punishing when quiet |
| Main risk | Margin compression, no customer relationship | Availability at peak | Idle time you still pay for |
Platform commissions in Malaysia are widely reported in the region of 20–30% and are negotiated per merchant, sometimes varying by category and by whether you take promotional placement. Do not plan from a reported range — read your own contract and use your actual rate.
The crossover: when your own delivery gets cheaper
A percentage commission and a flat delivery fee cross at exactly one basket value: fee ÷ commission rate.
Worked with illustrative figures — substitute yours:
- Platform commission 25%, on-demand trip fee RM9
- Crossover = RM9 ÷ 0.25 = RM36
Below a RM36 basket, the platform's cut is smaller than the RM9 trip fee, so platform orders cost you less per order. Above RM36, every additional ringgit of basket value costs you 25 sen on the platform and nothing on your own channel.
| Basket | Platform cost (25%) | Own channel (RM9 trip) | Cheaper |
|---|---|---|---|
| RM20 | RM5.00 | RM9.00 | Platform |
| RM36 | RM9.00 | RM9.00 | Identical |
| RM60 | RM15.00 | RM9.00 | Own channel |
| RM120 | RM30.00 | RM9.00 | Own channel |
Two honest caveats, because this table on its own would mislead:
- The platform brings demand you would not otherwise have. Its commission buys discovery, not just a rider. Moving an order off-platform only saves money if that order would still have existed.
- Your own channel has costs the table hides — taking the order, payment, packing, and the support conversation when the rider cannot find the house.
So the correct use of the crossover is not "leave the platform". It is: stay on the platform for discovery, and give your regulars a reason to order directly for larger baskets. That is where the margin is — high-value, repeat, direct.
Set a delivery radius and a promise you can keep
- Radius before speed. A 5 km radius served in 40 minutes beats a 15 km radius served "as soon as possible". Draw the circle on a map, and price outside it separately rather than refusing it.
- Quote a window, not a time. "40–60 minutes" absorbs traffic; "45 minutes" creates a complaint at minute 46.
- Publish a cut-off. Last order for same-day at a stated hour. Without it, the 5.50pm order becomes tomorrow's problem and today's bad review.
- Handle peak deliberately. Lunch and dinner rushes are when on-demand riders are scarcest and your kitchen is busiest. Either cap orders during peak or pre-book capacity — discovering there are no riders at 12.45pm is not a plan.
- Charge for delivery, visibly. Free delivery inside a tight radius above a minimum basket is a promotion. Free delivery everywhere is a subsidy you cannot see. Under the Consumer Protection (Electronic Trade Transactions) Regulations 2024, the full price payable must be disclosed before purchase anyway.
Packaging is the quality control you cannot inspect
Nobody at your counter sees the food when it arrives. Packaging is the only control you have left.
- Separate hot and cold in the same order. A cold drink against a hot container ruins both.
- Vent fried items; sealed containers steam and everything crisp becomes soft.
- Seal against spillage and tampering — a sticker across the lid does both, and customers notice it.
- Pack sauces, dressings and toppings apart from anything they would make soggy over 30 minutes.
- Fragile retail goods travel on a motorbike. Cushion for vibration, not just for impact.
Run a monthly test: order from yourself at peak, to a real address, and open it as a customer would.
Feed it back into your numbers
Every model above changes your margin per order, so recompute rather than assume. Use the profit margin calculator with commission or trip fee entered as a cost, and the break-even calculator if you are weighing whether an own rider's fixed cost is covered by your daily volume. For scheduled rather than immediate deliveries, live courier rates by postcode are in the shipping cost calculator.
The operational habits that make this work are the same ones that make in-store service work — see improving daily retail operations — and the address-quality problem is identical to the one in reducing failed deliveries, just compressed into 40 minutes instead of two days.
Frequently asked questions
Should I hire my own rider?
Only when a rider would be genuinely busy. Work out how many deliveries per day cover the full monthly cost of employing one — wages plus statutory contributions, fuel, maintenance and insurance — using the break-even calculator, then compare against your actual daily delivery count on your quietest week, not your best. Employer statutory costs are covered in our EPF, SOCSO and EIS guide.
Can I take orders on WhatsApp instead of building a website?
Yes, and for many outlets it is the right first step — the audience is already there and there is nothing to build. The two things that break it at volume are payment collection and order records. Use a payment link so money is confirmed before the rider leaves, and keep a simple order log so you can reconcile the day.
Is same-day delivery worth offering if I only get a few orders?
Offer it in a small radius with a clear cut-off and see. The risk of starting small is low; the risk of promising city-wide same-day and failing is a public review that outlives the experiment.
How do I stop customers from ordering on the platform when they could order direct?
By making direct genuinely better rather than by hiding the platform: a slightly larger portion, faster confirmation, a loyalty stamp, or a minimum-basket free delivery that the platform does not match. Do not undercut your own platform listing on price if your agreement has parity terms — check before you do.
What about cold-chain items?
If a product genuinely needs temperature control, treat that as a product decision before a delivery decision. Insulated packaging plus ice packs works for short urban trips; it does not survive a rider taking three other jobs on the way. Restrict cold items to a tighter radius and a dedicated trip.
Sources: price-disclosure obligation under the Consumer Protection (Electronic Trade Transactions) Regulations 2024 (in force 25 December 2024), administered by KPDN. Employer statutory contribution rates are covered in our EPF/SOCSO/EIS guide and are pinned against the official EPF Act 1991 Third Schedule and PERKESO contribution schedules. Platform commission rates and on-demand trip fees are commercial terms negotiated per merchant and vary by category and agreement — the 20–30% range cited is a widely reported band, not a quoted rate, and every figure in the worked example is an illustration of the method. Use your own contract.
Get live courier rates by postcode and weight, powered by Delyva — with an indicative estimate as backup.