Operator POV23 June 2026

How to calculate gross profit margin in a restaurant

The formula, the benchmarks, the common mistakes, and why the number you calculate from invoices is usually wrong.

HOPS Team

Product & Operations

How to calculate gross profit margin in a restaurant

Gross profit margin is the single most important financial metric in hospitality. It tells you, as a percentage of revenue, how much you are actually keeping after paying for what you sold. Everything else, rent, labour, utilities, comes after this number. If your GP is too low, there is nothing left to cover those costs with.

And yet a surprisingly large number of operators do not know their real GP. They have a figure in a spreadsheet, or their accounting software shows them something, but they are not certain it reflects what actually happened. There is a difference between knowing your gross profit margin and having a rough estimate of it. This article explains the former.

The formula

Gross profit margin is calculated as:

GP% = (Revenue − Cost of Goods Sold) ÷ Revenue × 100

Revenue is what you charged customers. Cost of Goods Sold (COGS) is the cost of the food and drink consumed to generate that revenue.

A simple example: if your restaurant took £50,000 in revenue last week and the ingredients and drinks sold cost £17,500 to buy in, your COGS is £17,500 and your GP% is:

(£50,000 − £17,500) ÷ £50,000 × 100 = 65%

That means for every pound of revenue, you kept 65p before paying for anything else.

What is a good GP% for a restaurant?

Benchmarks vary by operation type, but broadly:

  • Wet-led venues (bars, pubs): drinks GP typically 65–75%
  • Food-led operations: food GP typically 65–72%
  • Blended F&B: typically 60–70%

These ranges reflect how different cost structures work across venue types. Drinks tend to carry better margins than food because they have less waste, more consistent portioning, and greater pricing headroom. A cocktail bar trading at 72% blended GP and a casual dining restaurant at 62% are both performing reasonably well in their respective categories.

If your GP is consistently below the lower end of the relevant benchmark, the business has a structural margin problem: cost of goods is too high relative to revenue, and the cause needs to be identified.

The most common mistake: using invoices as a proxy for COGS

Most operators who do not have a proper inventory system calculate COGS from their purchase invoices. They add up what they spent with suppliers during the period and use that as the cost figure.

This is wrong, and it matters.

What you bought is not the same as what you used. The difference is your change in stock.

If you started the week with £3,000 of stock, bought £8,000 more, and ended the week with £4,500 of stock, you did not use £8,000 of product. You used:

Opening stock (£3,000) + Purchases in (£8,000) − Closing stock (£4,500) = £6,500 COGS

If you use £8,000 as your COGS instead of £6,500, your GP% looks 3–4 points lower than it actually is. You may think you have a margin problem when what you actually have is a stock build-up.

The reverse is equally problematic. If you ran down stock heavily during a busy period but spent less with suppliers that week, your COGS from invoices will look low and your GP% will look artificially high. The margin improvement is not real: it came from drawing down stock that was already paid for.

Accurate COGS requires a stock count. There is no shortcut.

Theoretical versus actual GP

Once you understand how to calculate GP from real stock data, a further distinction becomes useful: theoretical versus actual.

Theoretical GP is what your recipes say you should achieve. If every dish is prepared exactly to spec, every pour is exactly to measure, every portion is exactly to weight, your theoretical GP is the result.

Actual GP is what the stock count confirms you achieved. It accounts for everything that happened in reality: the portion that was slightly over, the bottle that was broken, the delivery that arrived short, the waste from prep that was not budgeted for.

Theoretical GP is a target. Actual GP is a fact. The gap between them is where the business either protects or loses margin.

A venue with a theoretical GP of 70% and an actual GP of 65% has a 5-point gap to investigate. That gap might come from portioning errors, unrecorded waste, delivery shortfalls that were not credited, or in the more difficult cases, unexplained consumption. Each cause has a specific remedy. Without the comparison, you do not know the gap exists.

If your GP looks broadly right on paper but the business never quite has as much left over as the numbers suggest, that is a common situation explored in more detail in the article on why GP looks fine but feels wrong.

How often should you calculate GP?

The useful answer is: as often as you take stock. Weekly for wet stock in a busy venue. Fortnightly or monthly for dry goods. The more frequently you produce the number, the sooner you can spot a problem and act on it.

A GP figure produced monthly from a manual spreadsheet exercise is useful for accounts. A GP figure produced weekly from a connected inventory system is useful for running the business.

The difference is not just frequency. It is the reliability of the underlying count. A weekly GP figure grounded in a careful, verified stock take is worth far more than a monthly figure assembled from estimates and invoice totals.

Since implementing Hops at Green & Fortune, we've seen a significant boost in profitability!

Alan Morgan

Financial Director, Green & Fortune

The stock take connection

Everything above points to the same conclusion: you cannot know your actual GP without a reliable stock take. The formula is straightforward. The challenge is the input.

A stock take done badly, rushed, or estimated produces a COGS figure that is wrong. That wrong figure produces a GP% that looks plausible and is not. And because it looks plausible, nobody challenges it. The business runs on numbers that do not reflect reality, and the gap between assumed GP and actual GP only becomes visible when something goes wrong.

The education point matters here. Most hospitality staff who do stock takes have never been told why. They count because the manager said so. When they understand that their count feeds directly into the GP figure, which determines whether the business is profitable, the quality of the count changes. The number they produce means something. That shift in understanding is where operational accuracy starts.

It is also worth understanding the difference between food cost percentage and GP% -- they measure the same underlying reality from different directions, and knowing when to use each one changes how useful the metric is.

Where Hops fits in

Hops calculates actual GP directly from connected data: stock takes on a mobile device, POS sales synced automatically, purchase invoices captured through the Finance module. The reconciliation is automatic. The GP figure by category, by site, and across the group is available without a manual assembly step.

For operators who are currently calculating GP from invoices alone, the first discovery on Hops is almost always the same: the real number is different from the assumed one. Sometimes reassuringly better. Sometimes meaningfully worse. Always more useful than an estimate.

See how operators use Hops to move from assumed GP to actual GP.

Frequently asked questions

How do you calculate gross profit margin for a restaurant?

The formula is: GP% = (Revenue minus Cost of Goods Sold) divided by Revenue, multiplied by 100. Cost of Goods Sold is not simply what you spent with suppliers -- it must account for changes in stock. The correct calculation is opening stock plus purchases in, minus closing stock. Without a stock count, the COGS figure will be inaccurate and your GP% will not reflect reality.

Why does my restaurant GP look different each month even when sales are similar?

If you are calculating COGS from invoices rather than stock counts, your GP will fluctuate with your stock levels rather than your actual performance. In weeks when you build stock, GP looks artificially high. When you run stock down, it looks artificially low. The only way to get a consistent, comparable GP figure is to do stock counts and use the opening and closing stock in the calculation.

What is the difference between theoretical and actual GP in a restaurant?

Theoretical GP is what your recipes predict you should achieve if every dish is prepared exactly to spec. Actual GP is what your stock count confirms you achieved, accounting for everything that really happened: portion drift, breakages, delivery shortfalls, and waste. Theoretical GP is a target. Actual GP is the fact. The gap between them is where the business is either protecting or losing margin.

How often should a restaurant do a stock count to calculate GP?

For wet stock in a busy venue, a weekly count is the most useful. For dry goods, fortnightly or monthly is typically sufficient. The more frequently you produce the GP figure, the sooner you can spot and act on a problem. A weekly GP based on a careful count is far more valuable for running the business than a monthly figure built from estimates. Hops handles this automatically -- see how at hopshq.com.

Do I need accounting software to calculate restaurant GP?

You do not need accounting software, but you do need three things: a reliable closing and opening stock count, a complete record of purchases received during the period, and your revenue figure from the till or POS system. Most accounting software calculates GP from invoices alone, which skips the stock count step and produces an inaccurate result. A dedicated inventory system that connects stock counts, purchases, and sales gives a more reliable figure.

Tags

marginsfinanceinventoryrestaurantsbarshotelsoperations

Built for operators

See how operators are actually using Hops.

We could tell you what Hops does. Instead, read what the people running their businesses on it have to say.