Restaurants

AI ran our channel-mix for 30 days: Rapido/Swiggy/Zomato

AI managed weekly channel allocation for one Bengaluru restaurant. The margin delta wasn't what we expected.

AI ran our channel-mix for 30 days: Rapido/Swiggy/Zomato

AI managed weekly channel allocation for one Bengaluru restaurant. The margin delta wasn't what we expected.

A 38-seat dine-in-plus-delivery restaurant in HSR Layout, Bengaluru, had three delivery channels open on the same phone: Rapido Ownly, Swiggy, Zomato. The owner's instinct, like most owners we talk to, was simple — push everything to Rapido, it's free. For 30 days we handed the weekly channel-allocation decision to AI instead and let it recompute the split every Monday against the previous week's numbers. (Everything downstream of that setup — the daily figures, the week-by-week splits, the day-30 total — is an illustrative run built from the vertical's public channel economics, not a live client's raw settlement data. The mechanics are real; the exact rupee figures are a worked example.)

The owner's instinct was wrong, and it was wrong in an interesting direction. The AI never went "all Rapido." By week two it had actually pushed one category — paneer-based mains — toward Zomato, the platform with the highest fees. That's the part worth explaining, because it's the part a flat "switch to zero-commission" take on Rapido Ownly always misses.

The starting point: ₹30 flat vs 25–28% effective

Rapido Ownly's pitch is genuinely simple: ₹30 flat delivery fee, no commission, no marketing fee, no subscription. It went citywide in Bengaluru earlier this year with roughly 20,000 restaurant partners already on it, and the 10-city roadmap (Delhi NCR, Mumbai, Hyderabad, Pune, Chennai and others) puts most large-metro owners in reach of the same choice within the next year.

Swiggy and Zomato's headline commission sits in the 18–28% range, but the effective rate is usually 3–5 points higher once packaging passback, ad deductions, and unmatched "customer compensation" line items net out — the same drift a weekly settlement audit catches. For a restaurant running a ₹400 average order value, the effective margin gap between Rapido and Zomato lands around ₹80–100 per order, once you actually do that math per dish instead of per platform.

That last clause is the whole article. Per platform, Rapido always wins. Per dish, it doesn't.

What AI was given to decide

We gave the AI four inputs, refreshed weekly: contribution margin per dish (food cost + packaging, netted of each channel's actual take-rate), order volume per dish per channel, delivery radius per channel, and the prior week's new-vs-repeat customer split by channel. The reallocation rule was simple — for each dish category, recommend the channel with the highest expected contribution margin for the next week, weighted by how much of that channel's volume is coming from customers the restaurant hasn't seen before.

That last weighting is what kept the AI from doing the obvious thing. A ₹30-flat channel with zero discovery traffic is only the best channel for a dish if nobody needs discovering — i.e., for repeat-heavy, commodity items. For anything still building a customer base on a specific search term, the discovery value of an aggregator's recommendation engine has to be priced in, not ignored.

Week 1–4: the split, and why it moved the way it did

Week 1 (naive baseline, set by the owner before handoff): Rapido 55%, Swiggy 20%, Zomato 25%.

Week 2: AI moved the aggregate split to Rapido 48%, Swiggy 18%, Zomato 34% — and inside that Zomato share, it stopped reallocating paneer-based mains away from the platform entirely. The reason: paneer tikka masala and paneer butter masala were running a 42% gross margin, the highest of any category on the menu, and a disproportionate share of first-time orders for those two dishes were arriving through Zomato's own "paneer" search and recommendation surfacing in the HSR/Koramangala search radius — new customers the restaurant's Rapido listing, with its comparatively thin discovery layer today, simply wasn't reaching yet. Losing ₹85 a order in commission to acquire a customer worth several repeat orders is a trade worth making; the AI made it in week two and held.

Week 3: biryani, fried rice, and other volume-commodity dishes moved almost entirely onto Rapido — 71% of that category's volume by week 3. These are thinner-margin, repeat-driven dishes where a new customer finding you via "biryani near me" matters far less than the ₹30 flat fee compounding across high daily volume. Aggregate split: Rapido 51%, Swiggy 15%, Zomato 34%.

Week 4: the split stabilized around Rapido 52%, Swiggy 14%, Zomato 34% — with the Zomato share almost entirely concentrated in the two paneer dishes and one dessert item that showed the same new-customer-discovery pattern.

The day-30 margin delta — and the counter-intuitive finding

Against the naive "max Rapido" scenario the owner started with, precision allocation improved 30-day net margin by roughly 9%, in this worked example. Against an "all Zomato" counterfactual, the improvement was closer to 22%. Neither extreme wins. The number that matters isn't the aggregate split — it's that the highest-margin category on the menu did better staying partly on the highest-fee platform, because Zomato's own recommendation algorithm was doing customer acquisition work that Rapido Ownly, still building out its discovery layer city by city, wasn't yet doing for that dish.

This is the finding every "just switch to Rapido, it's free" take skips. Rapido Ownly's zero-commission model is a real, durable margin advantage on repeat-driven volume. It is not automatically the right channel for the dish that's still finding its first customers. AI found that distinction in week two by looking at margin and new-customer share per dish, not margin per platform.

How to run the same 30-day experiment for your restaurant

You need four exports, pulled weekly: your Petpooja (or POS) day-end sales by dish, your Swiggy settlement, your Zomato settlement, and your Rapido Ownly dashboard export. From those four, compute contribution margin per dish per channel and new-vs-repeat customer share per channel — most POS exports already tag repeat customers via phone number.

Each Monday, ask AI the same question: for each dish category, which channel gives the highest contribution margin next week, adjusted for how much of that channel's volume this week came from a customer you hadn't seen before? Hold the recommendation for a week, watch the actual numbers land, and let the next Monday's decision update on real data rather than a one-time guess. You can run this in ChatGPT or Claude by hand each week — the point isn't the tool, it's treating aggregator channel-mix in India as a weekly decision instead of a set-and-forget default.

So what now

Running this by hand every Monday — four exports, a margin-per-dish table, a new-customer tag — is exactly the kind of recurring analysis that gets skipped after week two when the dinner rush eats the morning. It's also exactly the job SideKyk's ops agent is built to run automatically inside your WhatsApp thread, every Monday before service starts, through the aggregator-channel-mix skill — so the channel-split recommendation is waiting for you with the numbers already behind it. If you want that running for your restaurant, join the waitlist at sidekyk.ai/restaurants and we'll WhatsApp you when your slot opens.

Want this running in your WhatsApp every Monday morning?

Drop your number — we'll WhatsApp you the moment Restaurants goes live.

Powered by SideKyk · A team of AI agents in your WhatsApp

Your restaurants team. One message away.

Always on. Built for the rhythms of a restaurants business.