As of November 14, 2026, two of Poland's largest grocery chains were taking quick commerce in-house rather than renting it from an aggregator, and the motive is less about delivery speed than about who holds the shelf signal. Biedronka has moved its Biek service into its own app, listing around 3,000 SKUs for instant and scheduled delivery, while Żabka has run its Jush app since a 2021 pilot. Neither retailer operates its own riders. Both now own the order record that used to belong to a platform.
Why the app matters more than the delivery
The economics of last-mile delivery do not change when a retailer owns the app. IGD makes the point directly: native apps are not inherently more profitable, because the cost of a rider and a route stays the same whether the order arrives through a partner or through your own icon on a phone. What changes is the data that comes back. On a partner platform, the retailer sees an order fulfilled. In its own app, it sees what the shopper searched for, which substitute was accepted, and which basket was abandoned after a stockout.
That difference is why the shelf signal, not the delivery promise, is the real prize. An out-of-stock event on a partner platform is invisible to the brand and only partly visible to the retailer. On an owned app, the same event is attached to a customer identity and a time stamp, which means it can be joined to the loyalty record and to the store's own replenishment log. Availability stops being a monthly report and becomes an operational feed.
What 3,000 SKUs means for availability
Assortment depth
A 3,000 line app catalogue against a store that carries many times that number is a curation decision, not a technology limit. The lines that survive curation are the ones with predictable daily velocity and a reliable replenishment path from the store's own back room. That is good news for fast-moving household and dairy lines and bad news for slow variants that used to be discovered by browsing. For a brand, being in the app catalogue is a stronger availability commitment than being on a shelf, because the app cannot offer what the store does not hold.
Replenishment cadence
The store base behind the app sets the ceiling. Biedronka's direct e-commerce fulfilment runs from roughly 800 stores across about 200 cities, which is a far wider footprint than the 16 or 17 cities where the app is live. The gap between those two numbers is the replenishment problem in miniature: the stores exist, the delivery radius is being opened city by city, and each new city adds a set of shelves that has to stay in stock at a different demand pattern.
Where the data goes next
| Operator | Channel | What the model depends on |
|---|---|---|
| Biedronka | Biek app, Glovo as logistics partner | Store-level assortment that matches the physical shelf |
| Żabka | Jush app since 2021, AI basket from a fridge photo | Loyalty identity and repeat-basket prediction |
| Aggregator partners | Glovo, Wolt, Uber Eats | Reach, at the cost of the transaction record |
The table also explains a competitive edge that is easy to miss. Wolt sells its own Wolt Market range sourced directly from suppliers while partnering with major retailers, and platforms generally favour native ranges inside the app. For a retailer, that is an availability problem created by a partner; for a brand, it is a shelf-position problem that never appears in a store audit. Owning the app removes at least that one distortion.
What a brand should ask for
Brands rarely get to choose which app a retailer builds. They can, however, change what they ask for in the trading conversation, and the questions are concrete enough to put in a quarterly review rather than a wish list, and the answers tend to change the next listing review rather than the next press release.
- Store-level availabilityPer SKU and per store, not a national average that hides the cities where a variant is missing.
- Swap rate by variantSubstitutions are lost sales that never appear in a stockout report.
- Catalogue refresh windowHow often the app catalogue is reconciled against what the store actually holds.
None of this requires a new system on the brand side. It requires asking for the data that the retailer now holds and previously did not, and treating the app catalogue as a shelf with its own rules rather than as a marketing channel that mirrors the store.
FAQ
Why would a retailer build its own app instead of using Glovo or Uber Eats?
Because more than the transaction is lost on a partner platform. Order-level data on what a shopper searched for, swapped and abandoned goes to the platform. An own app keeps that record, and linked to a loyalty ID it can be joined to in-store behaviour.
Does a 3,000 SKU app assortment hurt availability?
It narrows it. A store carrying far more lines cannot promise the same depth through a 3,000 line app, so the catalogue is curated around what sells and what the store can replenish daily. That curation is where on-shelf availability is won or lost.
Is the delivery partner still needed?
Yes. Neither retailer operates its own rider fleet, and IGD notes that native apps are not inherently more profitable because last-mile cost does not disappear. The change is who owns the customer record, not who owns the scooters.
What should a brand ask the retailer for?
Store-level availability for its own SKUs, swap rates by variant, and the window on which the app catalogue is refreshed. Without those three, a brand cannot tell whether a missing line is a supply problem or a listing problem.











