The Back Office - guides
How to price a coffee shop menu
Most menus are priced by vibes and the shop down the street. Here is the method that survives a rent increase - modeled figures, labeled as such, from an anonymous multi-unit operator.
Step 1: Know your real cost per item
Not the bean cost. The plated cost: ingredients plus the cup, lid, sleeve, and the waste rate you actually have. A $6 latte carries about $1.10 of real cost for most shops - and most owners have never checked. The food cost calculator does this in a minute per item.
Step 2: The guardrails
| Guardrail | Target | Why |
|---|---|---|
| Blended COGS | 28-32% | Higher and labor plus rent eat the month. |
| Drink food cost | 15-22% | Drinks subsidize food. They are supposed to. |
| Food food cost | 28-35% | Pastries exist to lift the ticket, not the margin. |
| Single-item ceiling | 40% | Any item over 40% is a decision, not an accident. Know which. |
Step 3: Price the menu as a system
You need one anchor (the item everyone compares prices against - usually the medium latte), two workhorses (high volume, high margin), and permission to have one or two loss leaders you chose on purpose. Price the anchor to the market, price the workhorses to the guardrails, and audit the rest with the menu engineering tool - it flags the dogs, the stars, and the items that sell constantly and make nothing.
Step 4: The yearly 5% move
Costs drift up every year. If prices do not, the difference comes out of the 12% net - which is the owner's entire pay. A 5% price move on $70k/month is $3,500. Do it once a year, all at once, with a printed new menu and zero apology. Weekly panic repricing after a bad Tuesday is how you train regulars to leave.
Step 5: Watch the ticket, not the prices
Average ticket is the report card. 250 transactions x $9.50 = $2,375/day. If the ticket drops after a price change, your attach broke, not your pricing. Fix the "want a croissant with that?" before you touch a number. The full pricing chapter - with the composite shop's actual menu teardown - is in the playbook. The letter below gets it first.