Restaurant KPIs: what to measure and how to read it
You can track a hundred numbers, but roughly seven change decisions. Below are the metrics that actually move profit in a restaurant that delivers — formulas, benchmarks and the mistakes people make reading them. Benchmarks come from platform data across 1,400 venues in Uzbekistan, Kazakhstan, Kyrgyzstan, Azerbaijan, Georgia, Cyprus and the UAE.
Food cost percentage
Formula: cost of goods sold ÷ revenue × 100%.
This is the first number everyone looks at and usually the only one calculated correctly. The problem is not the formula — it is that an average food cost across the venue is nearly useless. Calculate it per menu item: a 30% average hides dishes at 18% and dishes at 55%, and you are usually promoting the second kind because they sell well.
Build a matrix of food cost against units sold. Low cost and high volume is your engine — move those to the top of the menu. High cost and low volume gets cut. High cost with high volume is the interesting case: you cannot simply remove them, so you reprice or rebuild the recipe.
Average check and what it is made of
Formula: revenue ÷ number of orders.
On its own the average check says little — it rises with inflation and with any price increase. Split it into two factors: average items per order, and average price per item.
If the check grew through item price, you raised prices. If it grew through item count, upselling is working — and that growth is more durable, because it does not depend on the guest's willingness to pay more per dish.
Track average check by channel separately. Aggregator, your website and your Telegram bot are usually three different numbers, and own channels typically run higher.
Repeat order rate
Formula: orders from previously seen customers ÷ total orders × 100%, measured over at least 90 days.
This is the most underrated metric in delivery. Acquiring a new guest always costs money — aggregator commission, ads, a first-order discount. A repeat order from someone who already knows you costs almost nothing.
The typical picture when restaurants come to us is 15%: 85% ordered once and never returned. Clients who launch their own channels and start working their customer base reach 42%.
One caveat: you probably cannot measure repeat orders through an aggregator at all, because the guest's contact details belong to them.
Delivery time and what sits inside it
Do not track one number, track three intervals: order to kitchen acceptance, acceptance to ready, ready to handover.
Total time tells you things are bad. The breakdown tells you where. A long first interval means orders sit unaccepted — usually manual re-entry or a screen nobody can see. A long second means the kitchen is overloaded. A long third means too few couriers or too wide a delivery zone.
The typical result for our clients once every channel lands on one screen is 48 minutes down to 28. At Oqtepa Lavash it went from 60–70 to 30–40.
Watch the 90th percentile, not the average. A 30-minute average with 10% of orders taking ninety minutes means happy guests in the report and angry guests in reality.
Cancellations and their causes
Formula: cancelled orders ÷ total orders × 100%, split by who cancelled: guest, restaurant, or courier.
Restaurant-side cancellations are the most expensive kind — you already spent product or time, and the guest most likely will not return. The usual cause is an item that ran out but stayed on the menu. A stop-list synced across every channel fixes it: when a dish runs out it should disappear from the site, the bot and every aggregator at once.
Aggregator rating
This is a KPI whether you like it or not: a rating below 4.5 directly reduces your visibility in the aggregator feed, and therefore your order count.
Rating is driven mostly by delivery time and order completeness — it is an operations metric, not a reviews metric. Review handling matters second-order, but it matters: our clients typically move from 3.8 to 4.8.
Tracking this without building reports by hand
The hard part is not the formulas, it is the sources. Orders sit in three aggregators, on your site and in your POS, and someone has to export five spreadsheets to calculate a repeat rate. A month later that person gets tired and the reports stop.
These metrics start working when every channel writes to one database. Delever collects orders from your website, mobile app, Telegram bot, QR menu and eleven aggregators into a single screen, and integrates with sixteen POS systems including iiko, R-Keeper, Poster and Jowi.
FAQ
What is a normal food cost?
A common benchmark for delivery restaurants is 25–35%, but it varies heavily by format — a pizzeria and a sushi bar have different norms. Comparing yourself month over month, per menu item, is more useful than chasing an industry average.
Which metric should we start with?
Repeat order rate and delivery time. The first tells you whether you have a business or are permanently buying new guests. The second is the lever that drives rating, cancellations and returns at once.
How do we measure repeats if guests order via aggregators?
You cannot do it fully — the guest's details stay with the aggregator. Measure it on your own channels and treat aggregators as an acquisition source. This is one of the main reasons restaurants launch their own site and bot.
Do we need a separate BI system?
Not at the start. BI makes sense once data is already in one place and your questions outgrow standard reports. If orders still live in five systems, BI just moves the fragmentation one level up.