A tool for café owners

What does a cup actually cost you?

Most cafés in India price a cappuccino off what the shop down the road charges. This works it out from the bottom up — beans, milk, cup, and the bit everyone forgets, which is the coffee you throw away dialling in.

BROOT wholesale starts at ₹1,050/kg.
18g is a standard double. Single origin filter is usually 15–22g.
Toned milk in Delhi NCR sits around ₹58–66/litre.
Zero for a black coffee. 150–200ml for a cappuccino or latte.
Put 0 if you serve on ceramic.
Shots pulled and dumped, retention, spills. 6–12% is normal. Under 5% means you are not measuring.
Before GST.
Across the whole menu.
₹0Cost per drink
0%Gross margin
₹0Monthly bean spend
0 kgCoffee per month

Nothing is sent anywhere. This runs entirely in your browser. Figures exclude GST, labour, rent and utilities — this is beverage cost of goods only.

Reading the number

What good looks like.

A healthy Indian café runs beverage COGS between 18% and 28% of menu price. Below 18% and you are almost certainly under-dosing or using a bean nobody wants to drink twice. Above 32% and either your menu price is too low or your waste is out of control.

Two numbers move more than any other:

  • Milk, not coffee. On a 180ml cappuccino, milk usually costs more than the beans. A ₹6/litre difference in milk is worth more to you across a year than a ₹200/kg difference in coffee.
  • Waste. Every percentage point of dial-in waste on 120 drinks a day is roughly 2kg of coffee a year you paid for and poured down the drain. This is exactly what training fixes, and it is why we include it.

The uncomfortable one

If you are buying commodity beans at ₹400/kg to protect margin, you are saving about ₹11 a drink against specialty at ₹1,050/kg. On a ₹220 cappuccino that is five percent of the menu price — and it is the entire reason a customer chooses one café over another. It is the cheapest quality upgrade on your P&L.

Next step

Run the numbers on real coffee.

Free samples, no minimum order, and a 15-minute call to set your rate against your actual volume.