From 1 to 50 branches: scaling Anatolia Kebap's menu in 90 days
A regional chain decided to open franchises across 7 cities in a single quarter. The operations team needed a menu system that wouldn't collapse across 50 branches at once. Here is how they did it, step by step.
Anatolia Kebap started the project with 6 branches. The menu lived in a spreadsheet, and every price update meant a table sent to branch managers over WhatsApp. That is a manageable chaos at 6 branches. At 50 it is impossible.
Days 0–15: extracting the master menu
The first two weeks went entirely on inventory. It turned out 112 of the 340 products were the same item spelled differently — "Adana Kebap", "Adana kebabı", "ADANA". That de-duplication had to happen before the master menu, and software cannot make that call for you.
Days 15–45: price tiers and override limits
Head office initially wanted a single price. The field rejected it — rent and labour in Istanbul's Kadıköy and in Şanlıurfa are not the same structure. The compromise was three regional tiers plus a capped per-branch override: a branch manager can move a price by at most 8%, beyond which it goes to head office for approval.
- Tier A: central metropolitan locations (12 branches)
- Tier B: metropolitan outskirts and large cities (23 branches)
- Tier C: Anatolian cities (15 branches)
- Override ceiling: ±8%, above which head office approves
Days 45–90: launch waves
The 50 branches did not open on the same day. They went in waves of 4–6 per week. Despite franchisee impatience, this was the single most defensible decision: whatever broke in one wave was fixed before the next one started.
The thing that helped most wasn't the technology. It was the 90-minute retrospective after each wave. The software just gave us something factual to argue about in that meeting.
What they'd do differently
- 1De-duplication should have taken four weeks, not two — about 20 later collisions were catchable in the first pass.
- 2Override permissions should have opened on day 30, not day one.
- 3Staff training should have happened during a real service shift, not on a POS screen in a quiet room.