You open Checkers Sixty60 at 18:47, still in your work clothes, and add the milk you forgot this morning. By 18:52 you’ve got R380 in your cart, including a chocolate you didn’t plan on and a “personalised deal” on biltong that expires in four hours. Someone else will handle the queue at the Hyper in Brackenfell. Someone else will find parking. The knock at your door comes 58 minutes later. The receipt says R447. The hour you saved cost R67 more than if you’d driven there yourself, plus the fuel you didn’t burn and the toddler you didn’t strap into a car seat. Whether that trade makes sense depends on whether you ever stopped to calculate it.
The Apps That Ate the Errand
Grocery delivery in South Africa has consolidated around a handful of platforms that most metro shoppers now recognise by icon colour alone. Checkers Sixty60, Woolies Dash, PnP asap!, Spar2U, and third-party options like Uber Eats and Mr D have turned the weekly shop into a thumb exercise. The pitch is uniform: skip the broken trolley wheel, the person with 47 items in the express queue, the fluorescent-lit negotiation between what you need and what you can carry. Convenience here is not a feature but a product, and it carries its own price architecture.
The base prices themselves are not the problem. A two-litre milk carton at Checkers costs the same on Sixty60 as it does on the shelf in Sea Point or Sandton. Woolies Dash mirrors Woolworths Food pricing. PnP asap! tracks Pick n Pay’s in-store tags. Retailers have deliberately decoupled the product cost from the service cost, which makes the comparison harder to hold in your head while tapping “place order.” The markup lives elsewhere.
Where the Extra R70 Hides
Delivery fees start the climb. Checkers Sixty60 and PnP asap! typically charge R35 per drop. Woolies Dash opens lower, around R20, though distance and basket size can push that up. Third-party platforms operate on dynamic pricing. A 19:00 order from Uber Eats might carry a R15 fee or a R60 one, depending on how many other people in your area had the same thought. Surge pricing for groceries is not theoretical; it is the same mechanism that governs ride-hailing, now applied to your breakfast cereal.
Then the platform layer. Uber Eats and Mr D add service charges, usually 5-10% of the order total, theoretically for operational costs. Minimum order thresholds, generally R50 to R150, nudge you toward fuller baskets than you might have planned. The tip, technically optional, sits at the checkout screen with enough social pressure to make R15-R25 feel like a moral requirement rather than a choice. Stack these together and a standard grocery run carries R60 to R80 in explicit add-ons before you have bought anything you did not intend to.
The Cart That Grew in the App
Physical supermarkets are engineered to make you buy more. End caps, eye-level placement, the slow torture of the sweets aisle at child height. Apps, however, weaponise a different psychology: the frictionless add. There is no heavy item to lift, no trolley filling to judge, no queue behind you to create social pressure against lingering. The “add to cart” button removes every physical obstacle between impulse and commitment.
Personalised recommendations follow you through the interface, “customers who bought this also bought” nudging toward the premium coffee or the snack you did not know was on special. Limited-time banners flash at checkout. The virtual cart has no visible limit, no embarrassing overflow to trigger restraint. Research on basket behaviour suggests these digital additions typically run R20 to R50 per order, though heavy users or those chasing minimum thresholds can push far higher. The hour you saved starts to look expensive when half the items arriving were not on your original mental list.
When the Shelf Is Empty but the App Said Otherwise
Stock systems and physical reality do not always align. An item showing available on Woolies Dash at 14:00 may have cleared the Constantia shelf by 14:12. The personal shopper making your picks faces a choice: substitute, skip, or call. Most apps let you set a preference, but the default is often “similar item,” and similar is a generous word. A R45 cheese becomes a R62 one. A preferred coffee brand becomes the house label you actively avoid. The price difference might be R15 or R20, or the substitution might be cheaper but unwanted, destined for the back of the fridge until it expires.
Worse is the out-of-stock with no viable replacement. The refund processes automatically, but you still do not have the ingredient for dinner. The convenience promise unravels: you have paid delivery fees, waited an hour, and now face a separate trip to a physical store for the one item that broke the meal. The time calculation collapses entirely.
The Hour and the Trade
The typical delivery saves roughly sixty minutes against a conventional shop: travel, parking, navigation of aisles, queue, packing, return. For a parent with a sleeping child, a professional billing hourly, or anyone without reliable transport, that hour has genuine value. The question is whether the buyer understands the exchange rate. R70 for an hour is R70,000 annualised at two shops a week, money that could fund a holiday, reduce debt, or simply buy a lot more groceries.
The apps know this calculus is hard to hold onto. They fragment the cost across delivery fees, service charges, tips, impulse additions, and substitution premiums. No single line item feels prohibitive. The total only reveals itself in retrospect, if you compare receipts, which almost no one does. The convenience is real. The expense is real too. The only variable is whether you chose it with your eyes open.
