5.1 EBITDA points recovered: how we dismantled the myth of delivery algorithm optimization in a three-brand ghost kitchen, using the Restaurant Model Canvas

Delivery algorithm optimization is not won by buying more in-app advertising: it is won with stable prep times and a high acceptance rate. In this case the operation cut declared prep time from 27 to 14 minutes, lifted order acceptance from 81% to 97% and moved EBITDA from 3.8% to 8.9% in five months, without adding a single dollar of ad spend on Rappi or Uber Eats. The myth says the algorithm can be bought. The reality is that the algorithm audits your kitchen.
Here is the case file, so you can judge whether it looks like yours: a 62 m² ghost kitchen running THREE virtual brands (crispy chicken, healthy bowls, smash burger) out of a single cold room, 9 employees across two shifts, a mid-sized Latin American city of 900,000 people, an average ticket of USD 11.40, 26 months of trading history and a brutally dominant channel: 94% of sales came from delivery aggregators, with Rappi contributing roughly two thirds. Annual revenue: USD 640,000, the 500,000-to-1-million band.
Revenue looked fine and the money evaporated somewhere between the ticket and the motorbike. The owner arrived with the wrong diagnosis already written —«I need a bigger geotargeted ad budget»— when his problem sat not in the spend but in the operational profile he himself handed the algorithms every morning. Market context explains the urgency: online delivery in Latin America moved USD 12,917.3 million in 2024 and grows at an 8.6% CAGR through 2030 according to Grand View Research (2025), so the channel will not shrink; what shrinks, if you allow it, is your margin inside the channel.
I have worked with restaurants for twenty years and the foodtech conversation almost always starts in the wrong place, at the tool rather than at the unit economics. So the first measurement we asked for was not a marketing one: it was contribution margin per order for each of the three virtual brands, separately, with aggregator commission charged where it belongs. Two of the three brands sold at a positive contribution margin. The bowls brand had been selling in the red for seven months and nobody had seen it, because the P&L arrived consolidated and two months late.
Side-by-side comparison
| BEFORE (baseline, month 0) | AFTER (month 5) | |
|---|---|---|
| EBITDA on sales | ✕3.8% | ✓8.9% |
| Consolidated Prime Cost | ✕68.4% | ✓61.2% |
| Weighted food cost (3 brands) | ✕36.1% | ✓30.4% |
| Labor Cost % | ✕32.3% | ✓30.8% |
| Declared prep time | ✕27 min | ✓14 min |
| Order acceptance rate | ✕81% | ✓97% |
| Average ticket | ✕USD 11.40 | ✓USD 14.20 |
| Effective commission paid to aggregators | ✕29.7% | ✓24.1% |
| Staff turnover (annualized) | ✕112% | ✓74% |
| Average rating on the dominant app | ✕4.2 ★ | ✓4.8 ★ |
The operational profile the owner handed the algorithm
The 27 minutes of declared prep time were the invisible tax that kitchen paid every single day, and no line of the P&L ever showed it. I am talking about a 62 m² dark kitchen running THREE virtual brands out of one cold room, with 9 employees across two shifts, an average ticket of 11.40 USD and 640 thousand USD in annual revenue, inside a mid-size Latin American city of 900 thousand people. Aggregators brought in 94% of sales and Rappi alone accounted for roughly two thirds of that volume, so the operational profile was never an administrative form: it was the contract by which the algorithm decided how often to show him. The owner arrived asking for a bigger geo-targeted ad budget. His problem sat three screens earlier, in a text field he filled in every morning without thinking. We asked first for contribution margin per order for each virtual brand separately, with the aggregator commission charged where it belongs, and the hole showed up immediately.
Why margin per virtual brand beats sales per app?
Two of the three brands sold at positive margin; the healthy-bowls brand had spent seven months losing 0.74 USD per order while the Rappi dashboard flagged it as the fastest-growing one.
Nobody had caught it because the P&L arrived consolidated and two months late, so growth in a bleeding brand read like good news. An aggregator dashboard is not an income statement, it never was, and confusing the two costs thousands of dollars a year in operations this size. Market context explains the urgency: online food delivery in Latin America moved 12,917.3 million dollars in 2024 and grows at an 8.6% CAGR through 2030 according to Grand View Research (2025). Cutting declared prep time from 27 to 14 minutes returned more profit than any ad tweak we could have bought. The kitchen padded the number to avoid breaking promises during the peak window, a defensive call any chef understands, but the aggregator's algorithm read it as structural slowness and pushed the listing down exactly when demand was there.
Declared prep time: 27 minutes that cost impressions
Once they declared 14 REAL minutes, with standard deviation controlled through mise en place organized by brand rather than by order, organic impressions climbed without a single dollar of advertising. And here sits the trade of the craft you have to resolve: promising little protects you from the occasional miss and destroys cumulative visibility, while promising what you deliver holds both. The global cloud kitchen market reaches 88.7 billion dollars in 2026 at a 12.6% CAGR through 2033 according to Grand View Research (2026), and that competition is fought inside the listing. Order acceptance climbed from 81% to 97% in eleven weeks and that jump required no new hires. The team rejected orders whenever the cold room jammed with three brands fighting over the same griddle, and every rejection landed in the history as a signal of unreliable operations that the algorithm punished with fewer assignments the following day.
Acceptance rate: from 81% to 97% without a single hire
We reorganized production by process family —fryers, cold assembly, griddle— instead of by commercial brand, froze the bowls menu at six references and dropped two SKUs that cannibalized the peak shift without contributing margin. A 19% rejection rate translates, in practice, into a listing the system stops proposing to the nearby user. Recovering those sixteen percentage points was worth more than tripling the ad spend, and it cost one cold-room reshuffle. Diego F. Parra applied the Masterestaurant Virtual Brand Margin Board here, the same tool we use to separate economic units that share one kitchen. It works like this: each brand gets its real food cost per dish capped at 32%, its aggregator commission charged in full, its griddle time priced, and its share of the location's break-even, which is never loaded onto the dish. With that weekly picture —not bimonthly— the bowls brand stopped being a hunch and turned into an arguable figure: 0.74 USD negative per order, 1,180 monthly orders, an annual bleed close to 10,500 USD.
How the Masterestaurant method was applied to the aggregator channel?
My read after twenty years in kitchens and boardrooms is that the owner did not need more data, he needed the data separated. Consolidating three brands into one P&L hides precisely the problem you are trying to find.
Suppose that owner had bought the geo-targeted advertising he wanted, roughly 1,800 USD a month per the quote he brought. With prep time at 27 minutes, the ad spend buys paid impressions while the organic ranking stays buried, so acquisition cost rises and the user who arrives meets a promise of a long wait; conversion drops, the algorithm reads that drop as a weak listing and trims the free reach even further. Six months in he would have spent 10,800 USD, the bowls brand would have piled up close to 5,200 USD in losses, and the diagnosis would still be "I need a bigger budget". The trap is circular and it gets paid in cash.
What happens if none of this gets touched?
India's q-commerce market went from 1,600 to 3,050 million dollars in fiscal 2024 according to Mordor Intelligence (2024): the channel grows, operational discipline does not grow by itself.
Translate this into your annual revenue band, because the first step is not the same for everyone. UNDER 500 THOUSAND USD: this week, time your real prep on twenty peak-hour orders with a stopwatch and compare it against what the app declares; if the gap exceeds five minutes, fix it today. BETWEEN 500 THOUSAND AND 1 MILLION, this case's band: split contribution margin by brand or menu line, commission included, before Friday. ABOVE 1 MILLION: install weekly acceptance-rate tracking per location and assign one named owner. ABOVE 5 MILLION: audit whether your virtual brands cannibalize the same physical bottleneck. BEYOND 10 MILLION, the group fronted by a media chef with eight themed formats: the chef's signature will not offset a buried ranking, and your first step is a single prep-time board compared across sites.
Limits of this case
I would not expect these numbers in three contexts, and it is worth saying so before someone copies the whole playbook. First, a dining-room restaurant where delivery accounts for less than 30% of sales: the aggregator ranking matters little there, and the effort pays off better in table turnover and average ticket. Second, a single-brand operation with a roomy kitchen, because much of the gain came from unclogging a cold room shared by three brands; without that bottleneck there are no sixteen acceptance points to recover. Third, markets where one aggregator dominates and the listing is already tuned by the operator itself under exclusivity agreements. Add that this case happened in a city of 900 thousand people with a dense courier supply; in a town of 80 thousand, pickup time is dictated by the fleet, not by your kitchen. FIRST difference: the unit of measure. The owner tracked sales per app; we tracked contribution margin per order and per virtual brand.
The four differences that separated the myth from actual cash
With aggregator commission correctly charged, the bowls brand lost USD 0.74 per order while showing up as the fastest grower in the Rappi dashboard. An aggregator dashboard is never a P&L, and confusing the two costs thousands of dollars a year. SECOND: the declared prep time. This is the finding that returned the most profit and the one almost nobody looks at. The kitchen declared 27 minutes to avoid breaching; the algorithm read that as slowness and pushed the listing down, especially during peak. Once real prep time fell to 14 minutes with controlled standard deviation, organic impressions rose without touching the ad budget. THIRD: the geography of the order. Geotargeted advertising ran across a 7-kilometre radius and 41% of the spend went to zones where rider time killed the rating. Trimming the radius to 3.5 km lowered ad spend and pushed the average rating to 4.8, which in turn fed the ranking again.
The four differences that separated the myth from actual cash — in practice
FOURTH: mix, not price. Raising in-app prices across the board is the reflex reaction, and it punishes conversion. We rebuilt the mix around two high absolute-margin combos plus a beverage add-on at 18% food cost, and the ticket rose 24.6% without losing orders.
Myth against reality, criterion by criterion
The myth: the algorithm can be bought with ad spendWhat almost everyone believes
- «I raise the geotargeted budget inside the app and the algorithm lifts me»: bidding buys impressions, never sustained organic ranking.
- «More discounts will position me»: discounting lifts volume and sinks contribution margin; here it cost 4.1 points of weighted food cost.
- «The aggregator punishes me for being small»: it punishes unstable prep times and store cancellations, not size.
- «Launching a fourth virtual brand dilutes fixed costs»: it dilutes kitchen attention, the truly scarce input in a ghost kitchen.
- «Five-star reviews are luck»: 78% of the negative reviews in this case mentioned delay or an incomplete order, two fully controllable variables.
- «Delivery unit economics get fixed by raising in-app prices»: they get fixed earlier by menu mix and by fulfilment rate.
The reality: the algorithm audits your kitchen every fifteen minutesMasterestaurant
- Aggregators rank by probability of successful delivery: real versus declared prep time, acceptance, cancellations and rating outweigh the bid.
- Holding prep time at 14 minutes with low deviation lifted organic visibility without one extra dollar of advertising.
- Switching off the loss-making virtual brand freed 31% of hot-line capacity between 19:00 and 21:30, the peak demand window.
- The delivery menu was rebuilt around absolute contribution margin per order rather than percentage: the ticket rose from USD 11.40 to USD 14.20.
- Cutting effective commission from 29.7% to 24.1% followed from volume and fulfilment, not from an aggressive call to the account manager.
- Direct orders climbed from 6% to 19% of sales, and that channel carries a contribution margin 22 points above aggregator sales.
Side-by-side comparison
| BEFORE (baseline, month 0) | AFTER (month 5) | |
|---|---|---|
| EBITDA on sales | ✕3.8% | ✓8.9% |
| Consolidated Prime Cost | ✕68.4% | ✓61.2% |
| Weighted food cost (3 brands) | ✕36.1% | ✓30.4% |
| Labor Cost % | ✕32.3% | ✓30.8% |
| Declared prep time | ✕27 min | ✓14 min |
| Order acceptance rate | ✕81% | ✓97% |
| Average ticket | ✕USD 11.40 | ✓USD 14.20 |
| Effective commission paid to aggregators | ✕29.7% | ✓24.1% |
| Staff turnover (annualized) | ✕112% | ✓74% |
| Average rating on the dominant app | ✕4.2 ★ | ✓4.8 ★ |
The five numbers that moved the needle
“I came in asking for a bigger ad budget and Diego made me switch off one of my three brands, the one bringing the most orders. It took me three weeks to accept it. When we cut prep time from 27 to 14 minutes the impressions rose on their own and effective commission dropped from 29.7% to 24.1%; today EBITDA sits at 8.9% and for the first time I know what every order leaves behind.”
The timeline: five months, four phases, one piece of friction that nearly derailed the plan
We split the consolidated P&L into three income statements, one per virtual brand, charging aggregator commission, packaging and waste to each order. The bowls brand lost USD 0.74 per order and had done so for seven months. We switched it off, not because of its food cost percentage but because it consumed the hot-line window the other two needed at peak. The owner resisted for three weeks: it was his favourite brand and his highest-volume one. Honesty helps here, because I spent years recommending closures based on high food cost instead of on occupied capacity.
We timed 340 real orders and found assembly times were fine, yet each order sat on the pass for an average of 9 minutes because nobody tapped «ready» on the tablet. We installed a physical pass lane per brand, with a light, and brought the declared figure down to 14 minutes. In week one the algorithm punished us for breaching —we lowered the declared time before the operation was stable— and we lost position for four days. We corrected by going back up to 16 minutes, consolidating the process and stepping down again in two-minute increments.
We standardized 22 recipes with gram weights and cost per portion, then built the delivery menu around absolute contribution margin per order rather than percentage. Two new combos and a beverage at 18% food cost lifted the ticket. No dish sits above 32% food cost, which is the ceiling I accept and not a target. Packaging, which almost nobody costs properly, contributed 1.9 points of improvement once we switched to a container that travelled better and cut spillage complaints.
We trimmed the ad radius from 7 to 3.5 km, switched off the day-parts where rider time destroyed the rating, and set a routine to answer reviews in under 12 hours. Average rating climbed from 4.2 to 4.8. In parallel we activated direct ordering with an optimized Google Business Profile and an owned menu link: it went from 6% to 19% of sales, and that channel leaves 22 points more contribution margin than the aggregator.
With five months of 97% fulfilment and sustained volume, effective commission was renegotiated from 29.7% to 24.1%, unthinkable six months earlier at an 81% acceptance rate. We closed with a weekly cash dashboard showing contribution margin per brand, per day-part and per channel. The result consolidated and held through the following three months of observation, with no relapse in prep time.
And with AI?
Optimize channels, pricing and unit economics of your dark kitchen. Diego F. Parra is an expert in AI applied to restaurants.
Free tools to apply this now
The off-the-shelf tools we used, nothing custom-built
Nothing in this case was solved with custom development or a software CapEx: these were closed products from the Masterestaurant suite, applied in the order the operation could absorb them. Total project CapEx was USD 3,100, almost all of it in pass shelving, ready lights and new packaging. OpEx did not rise; it fell, because geotargeted advertising was trimmed and the night shift's Skills Gap was closed with internal training rather than an extra hire.
What every owner asks when they see these numbers
Is delivery algorithm optimization achieved by paying for more in-app advertising?
Is delivery algorithm optimization achieved by paying for more in-app advertising?
No. Advertising buys isolated impressions, but aggregator organic ranking rewards probability of successful delivery: stable prep time, high acceptance, zero store cancellations and a rating above 4.5. In this case visibility rose while ad spend fell 41%.
How long does cutting declared prep time take to show results?
How long does cutting declared prep time take to show results?
Between 10 and 21 days if the operation already complies. Lower the declared figure before the kitchen is stable and the algorithm detects breaches and punishes you; it cost us four days. Step down in two-minute increments, and only once real fulfilment holds above 95% for two consecutive weeks.
Should I launch more virtual brands to dilute the fixed costs of a ghost kitchen?
Should I launch more virtual brands to dilute the fixed costs of a ghost kitchen?
Almost never below USD 1 million a year. An extra virtual brand does not dilute the fixed cost that matters, which is hot-line attention at peak. Here switching one brand off freed 31% of capacity and lifted EBITDA, with fewer total orders and better delivery unit economics.
What food cost is reasonable for a virtual restaurant selling only through aggregators?
What food cost is reasonable for a virtual restaurant selling only through aggregators?
Never above 32% per dish, and that ceiling is a tolerated maximum, not a goal. With commissions of 24% to 30%, a 36% food cost like the baseline puts Prime Cost at 68%: no amount of advertising or algorithm work rescues the cash at that point.
Sector data 2026 (official sources)
Verifiable industry benchmarks from official, non-commercial sources (government, industry associations, market research) - not competitors.
| Metric | Benchmark 2026 | Source |
|---|---|---|
| Mercado de cloud kitchens en Medio Oriente y África | US$ 427 millones (2024), proyectado a US$ 1.074 millones en 2030 (CAGR 21,9%) | MarkNtel Advisors 2024 |
| Mercado de cloud kitchens en Emiratos Árabes Unidos | US$ 430 millones (2025), proyectado a US$ 1.082,6 millones en 2032 (CAGR 14,1%) | Coherent Market Insights 2025 |
| Cuota de DoorDash en delivery de EE. UU. | 60,7% del mercado a fin de 2024 | Earnest Analytics 2024 |
| Cuota de Uber Eats en delivery de EE. UU. | 26,1% del mercado a fin de 2024 | Earnest Analytics 2024 |
| Cuota de Grubhub en delivery de EE. UU. | 6,3% del mercado a fin de 2024 | Earnest Analytics 2024 |
| Reservas brutas mundiales de Uber Eats | US$ 74.600 millones en 2024 | Statista 2024 |
Related content
Grow your restaurant with the Masterestaurant method
Applied in +8.400 restaurants across 43 countries.
