Prime cost is a restaurant's cost of goods sold plus its total labour cost, expressed as a share of net sales for the same period. It is the sum of the two biggest cost blocks an owner can change inside a single month. The comparison that works is your own number against your own earlier periods.
What prime cost is, and why an owner reaches for it first
Prime cost — cost of goods sold plus total labour cost, as a share of net sales for the same period.
Controllable cost — a cost the operator can change inside one month without renegotiating a lease or a loan.
Every other line on a restaurant's profit and loss statement was decided somewhere else. Rent was agreed when the lease was signed. Depreciation follows the equipment you bought two years ago. Interest belongs to the bank. None of them respond to anything you do on a Tuesday.
The two blocks inside prime cost respond immediately. What you buy this week and what you pay for hours this week both land in this period's number. That is the whole reason the indicator exists: it packs everything you can still influence into one figure, and leaves everything you cannot influence outside it.
That also sets the boundary of this page. Prime cost answers how much of your money goes to product and to people. How much is left at the very end is a different question, answered on restaurant profit margin. At what sales level you stop losing money is a third question, answered on restaurant break-even point. None of the three repeats the other two.
The formula: two numerators and one denominator
Prime cost % = (COGS + Total labour cost) ÷ Net sales × 100
per every 100 PLN on the bill
- Food cost31%
- Labour24%
- Other45%
COGS— cost of goods sold over the period, in PLN;Total labour cost— the full cost of people over the same period, in PLN;Net sales— revenue excluding VAT, discounts and comped bills, over the same period, in PLN.
Two amounts of money go on top, one amount of money goes underneath, and the result is a share — which is why it can be multiplied by 100 and read as a percentage. If any of the three covers a different stretch of the calendar than the other two, the output is not a percentage of anything.
Take round numbers to see the mechanics. Goods 62 000 PLN, people 48 000 PLN, net sales 200 000 PLN.
No purchase changed, no shift changed, and the indicator moved by just over six percentage points.
The first numerator is not the invoice total for the period. It is what you actually used:
COGS = Opening inventory + Purchases − Closing inventory
Opening inventory— the value of stock at the start of the period, at accounting prices, in PLN;Purchases— goods received during the period, in PLN;Closing inventory— the value of stock at the end of the period, on the same valuation basis, in PLN.
Keep the same example running. The 62 000 PLN of goods breaks down as 18 000 PLN of stock on hand at the start, 60 000 PLN received during the period and 16 000 PLN still on the shelf at the close: 18 000 + 60 000 − 16 000 = 62 000 PLN. The invoices for the period came to 60 000 PLN, so using the invoice total instead would have understated the goods half by 2 000 PLN — one full percentage point of prime cost at these sales.
A delivery that is still sitting in the walk-in on the closing date has not become a cost yet. Skip the count and you have not measured COGS — you have measured your buying rhythm, which is a different and much noisier thing.
Net sales: the denominator — and why Poland's official revenue figure cannot be one
Net sales = Gross sales − VAT − discounts − comps
Gross sales— everything rung through the till, in PLN;VAT— value added tax collected on those sales, in PLN;discounts— price reductions actually granted, in PLN;comps— bills written off in full, staff meals included, in PLN.
The 200 000 PLN in the running example is what is left after all four subtractions: 224 000 PLN rung through the till, minus 18 000 PLN of VAT, minus 4 000 PLN of granted discounts, minus 2 000 PLN of comped bills.
This is where most home-made prime cost calculations quietly break, and Polish official statistics show exactly why.
The number is correct for what GUS measures. It is the wrong denominator for you. VAT was never your money; it passed through your till on its way to the tax office. Leave it underneath and your prime cost percentage comes out lower than reality by exactly the proportion VAT adds to the bill — flattering, stable, and useless for management.
Comps do the opposite. A comped bill produces zero revenue and full cost. It belongs nowhere in the denominator and entirely in the numerator, which is precisely why generous comping shows up as a prime cost problem before it shows up anywhere else.
The goods half — and where drinks and alcohol actually go
COGS (cost of goods sold) — opening inventory plus purchases minus closing inventory, counted across food and beverage.
Food and beverage: together or apart?
Both belong inside prime cost, so the total is the same either way. What differs is what you can see. Kitchen output and bar output do not behave alike, and Polish statistics put a number on how differently.
So for the sector as a whole, resale sits in a minority of revenue while carrying a completely different cost structure: a bottle is bought finished and sold finished, a dish is bought as ingredients and sold as labour plus ingredients. Blend them into one "food cost" line and a bar that is losing money can hide behind a kitchen that is doing well, or the reverse.
Packaging, delivery bags and single-use items
Pick one treatment and write it down. Packaging that leaves with the food can sit in goods; cleaning chemicals and paper for the dining room usually sit in overhead. Neither choice is wrong. Changing the choice halfway through the year is wrong, because it makes your own history unreadable — and your own history is the only benchmark this page will hand you.
The labour half: the definition belongs to another page, and we quote it
There is exactly one definition of total labour cost on this site, it lives on restaurant labor cost percentage, and this page quotes it rather than inventing a second one: gross pay + employer social contributions + benefits + agency hours + overtime premium + training. Six items, and paid leave is not one of them: in Poland an employee on leave keeps drawing the same gross pay, so leave already sits inside the gross line and a separate row would count it twice. Two of our own pages defining the same term differently would produce two different numbers for the same restaurant, which is worse than having no page at all.
The rate is not the cost of the hour
How much of the gap is non-wage is measured, and measured for Poland. In Eurostat's series Labour cost levels by NACE Rev. 2 activity, lc_lci_lev, updated 23.04.2026, for NACE section I — accommodation and food service activities — hourly labour cost in Poland was 11.5 € in 2024 and 12.7 € in 2025, against 20.1 € and 20.9 € for the EU-27.
lc_lci_lev, 2024 figures, updated 23.04.2026).Read that as a structure, not as a target. Section I bundles hotels together with restaurants, and it is an average across every employer in the section — it tells you that roughly a seventh of a Polish hourly cost sits outside the wage line, and it tells you nothing about what your own staffing should be.
Why this page prints no benchmark band
You have almost certainly seen a target range for prime cost quoted as an industry standard. We went looking for where it comes from before printing it, and we are not going to print it.
The trail does not end at a statistical office, a ministry, an industry regulator or a peer-reviewed study. It ends at software vendors' blog posts citing one another. The one consolidated benchmark guide we found that actually lists its own sources — a buying group's 2024 restaurateur guide — names those sources, and they are vendor blogs. The genuinely primary compilation behind much of this folklore is a paid report published by an American trade association: not public, not European, and not measured on Polish operating conditions.
A figure whose publisher cannot be traced is not a benchmark. It is a rumour carrying decimal places, and decimal places are persuasive in a way that rumours should not be. So this page gives you the arithmetic and the method, and lets you produce the only band that can actually judge your restaurant: yours.
Closed periods with an inventory count: how to build your own prime cost band
Prime cost gap = Prime cost % (current period) − Prime cost % (base period)
Prime cost % (current period)— this period's reading, in percent;Prime cost % (base period)— the reading of the period you are comparing against, in percent;Prime cost gap— the difference, in percentage points.
Percent minus percent gives percentage points, not percent.
On 200 000 PLN of net sales, three percentage points is 6 000 PLN that used to stay with you.
Four steps produce a base that is worth comparing against.
- Write the definitions down before you calculate anything. Which items sit in goods, what is inside labour, what leaves the denominator. One page, dated, kept.
- Recompute past closed periods the same way. Only periods that ended with an actual inventory count qualify — an uncounted period gives an estimate, and an estimate cannot be a baseline.
- Mark the events beside each period. A menu reprice, a supplier switch, a holiday week, a closed terrace. Without them you will read weather as mismanagement.
- Take the range your own business produced in undisturbed periods. That range is your band. It is specific to your two controllable blocks, your menu, your city and your staffing model, which is more than any published band can say.
From then on the question stops being "is my number normal" and becomes "what changed since the period that was fine" — a question that has an answer. Pulling those periods together consistently is ordinary reporting work: see analytics and dashboards for how the same closing gets assembled every period instead of being rebuilt by hand each time, and what a restaurant can hand over to a system for what stays manual.
Eurostat counts rent and utilities inside purchases — why sbs_ovw_act is not a national prime cost
There is real, traceable data on the cost structure of Polish food service. It just answers a different question than your P&L does, so it comes with a warning attached.
sbs_ovw_act, updated 10.03.2026, reference year 2023, reports for NACE I56 — food and beverage service activities — in Poland: 57 999 enterprises, 240 592 persons employed, net turnover 16 130.99 mn €, total purchases of goods and services 10 902.93 mn €, employee benefits expense 2 608.47 mn €, gross operating rate 13.65 %.| Structure of the sector, share of net turnover | Poland | EU-27 |
|---|---|---|
| Purchases of goods and services (total) | 67.6 % | 60.2 % |
| Employee benefits expense | 16.2 % | 28.8 % |
| Gross operating rate | 13.65 % | 11.28 % |
Source for every cell: Eurostat, sbs_ovw_act, NACE I56, reference year 2023, updated 10.03.2026. Shares computed from the euro amounts in that table.
And now the warning, which matters more than the table. Enterprise accounting is not a restaurant P&L, and these two rows are not the two halves of prime cost.
- "Purchases of goods and services" is not food. It contains rent, utilities, marketing, repairs, outsourced services and everything else bought from outside — which is exactly why the Polish figure is so much larger than any plausible food cost.
- "Employee benefits expense" covers employees only. In this same dataset, employees are 79.4 % of persons employed in the Polish sector — the remainder are working owners and family labour whose hours cost the business real money and appear in no payroll line.
- The two are not additive into anything. Subtracting one from the other, or adding them and calling the result a national prime cost, produces a number that describes nothing.
What the table is genuinely good for is direction and scale: Polish food service runs on a visibly heavier purchase share and a visibly lighter payroll share than the EU average, and that gap is the structural context your own percentage sits inside.
One number cannot cover dine-in, delivery and catering at once
The formula does not change across channels. What changes is which line each channel's money lands on, and channels put money in different places.
Delivery platform commission is neither goods nor labour, so it never enters the numerator. It hits the denominator instead, and only if you book the order at the amount the guest paid rather than the amount the platform remits. Book gross and your prime cost percentage looks better on delivery than on dine-in while your bank account says otherwise; book net and the comparison across channels is honest. Choose once, write it down, and read what actually stays with you on online orders before you choose.
Catering and events break the period alignment rather than the formula. Prep labour lands in one week, the revenue lands in another, and a single large booking can distort a month in both directions. Either match the labour to the revenue period or read event work separately.
Multi-site operations face the opposite trap: the same recipe file and different local prices, different staffing patterns and different rents produce different numbers that are all correct. Comparing sites is only meaningful once each site has its own base, which is the whole subject of running several locations on one screen.
Your prime cost moved and supplier prices did not: how to decompose it
Three variables produce the reading, so a move has three possible homes. Test them in this order, because the cheapest explanation is also the most common one.
Start underneath, not on top
If goods and labour are unchanged in PLN and net sales fell, the percentage rises with no cost event whatsoever.
The kitchen did nothing in any of the three. Before investigating anyone, check whether the denominator moved — and whether discounts, comps or a channel booking rule moved with it.
Then split the numerator in two
Goods and labour can move in opposite directions and cancel out, leaving a flat prime cost over a restaurant where both halves are drifting. Always read the two components beside the total. If goods rose while labour fell, you have one problem and one accident, not a stable operation.
Then look at usage, not at price
If the denominator held and labour held, and the goods half rose while your purchase prices did not, then more product left the building per PLN of sales. That is a usage question — theoretical against actual — and it is a page of its own in this series rather than a paragraph here. Forecasting the volume you actually need before you order is the neighbouring discipline: see forecasting and the numbers an owner actually looks at.
Keeping this reading on a screen instead of in a spreadsheet is a subject with its own page — the restaurant KPI tree — and one line here is all it gets.
What prime cost does not show
It is a strong indicator precisely because it is narrow, and the narrowness has consequences.
Above all, it only counts money that arrived and then left. Revenue that never arrived at all — the table that was not seated, the enquiry nobody called back — never touches either half of the fraction, and a restaurant losing that kind of money can watch its prime cost improve while it gets poorer. That loss has its own arithmetic, worked through in the cost of missed calls, and the two calculations are complements rather than substitutes.
It says nothing about rent, utilities, marketing, insurance, depreciation or interest, so a restaurant can hold a perfectly respectable prime cost and still lose money every month; that is the subject of profit margin. It does not identify a dish, a shift or a supplier — it aggregates all of them into one figure and hides which one moved. It does not tell you the sales level at which you stop losing money; that is break-even. And it does not survive being compared against someone else's number that was calculated on different definitions, which is the failure mode this whole page is built to prevent.
One more piece of honesty. You will sometimes see prime cost divided by covers to get a per-guest figure. Prime cost per cover = (COGS + Total labour cost) ÷ Covers, where Covers is the number of guests served in the period, gives PLN per guest and is arithmetically sound — on the running example, 110 000 PLN over 4 000 covers is 27.50 PLN of product and people per guest — but it is a derived figure we are naming here, not a recognised industry indicator like the percentage above it. It is useful when the average check is moving and the percentage stops being comparable to itself. Treat it as your own working number, not as something to benchmark.
If you want the two blocks read together with everything below them, that is a finance question rather than a kitchen question: finance covers the assembly of the statement, AI reports covers what gets sent to whom when it closes, and the decision engine covers what is supposed to happen when a reading crosses the band you built. The wider sector context sits together in our section for restaurants.
Frequently asked questions
What counts as a good prime cost percentage for a restaurant?
There is no published figure this page is willing to give you, and the reason is that we could not trace the widely repeated range to any statistical office, ministry or reviewed study — the citations lead to software vendors' blogs quoting each other. What is real is your own history: calculate the same way across several closed periods, mark the events beside each one, and the range your restaurant produces in undisturbed periods is the band that can actually judge it.
Is prime cost the same as food cost?
No. Food cost is one of the two numerators; prime cost is both of them over the same denominator. A restaurant can hold food cost steady and watch prime cost climb because the labour half moved, and the reverse happens just as often. Reading the total without reading the two components beside it is how a drift in one half gets hidden by an improvement in the other.
Does prime cost include rent?
No, and that exclusion is deliberate rather than an oversight. Rent is fixed by a contract you cannot renegotiate this month, and prime cost exists to isolate what you can still change. Rent, utilities, insurance and depreciation all sit below prime cost on the statement and belong to the profit margin question instead.
Should employer social contributions sit inside the labour half?
Yes. The canonical definition on this site puts gross pay, employer social contributions, benefits, agency hours, overtime premium and training inside total labour cost — six items and no more — and this page uses that list unchanged. Paid leave is not a seventh: in Poland it already sits inside gross pay, and a separate row would count it twice. Counting only the hourly rate understates the labour half, and Eurostat measures how badly: non-wage costs are 14.1 % of total hourly labour cost in the Polish accommodation and food service sector (Eurostat, lc_lci_lev, 2024 data, updated 23.04.2026).
How often should a restaurant calculate prime cost?
As often as you close an inventory count, because that is what makes the goods half a measurement rather than an estimate. Between counts you can track purchases and hours as an early signal, but label the result an estimate. A period that ends without a count produces a number you cannot use as a baseline, which quietly removes it from your comparison history.
Why did my prime cost rise when supplier prices did not?
Because two of the three variables have nothing to do with supplier prices. Net sales may have fallen, discounts or comps may have grown, a channel may be booked gross instead of net, or the labour half may have moved while goods stayed flat. Check the denominator first, then split the numerator in two, and only then ask how much product left the building per PLN of sales.
Does delivery revenue belong in the prime cost denominator?
It does, but at one consistent value. If you book what the guest paid, the platform's commission sits nowhere and delivery flatters your percentage; if you book what the platform remits, the channels become comparable. Either convention can be defended, but mixing them across periods destroys your own baseline, which is the one benchmark you have.
Take one closed period, put your own three numbers into the formula above, and then do the same for the period before it — that comparison is worth more than any published band. Before you close the sheet, write three sentences next to the result: what exactly went into net sales, what went into cost of goods, and whether the labour half is the full employer cost or only the hourly rate. That note, not the percentage itself, is what makes the next comparison possible — without it you cannot tell a change in the restaurant from a change in the definition.