AURA

Polish Restaurant Economics in Official Data

Official statistics publish revenue, outlet counts, employment and price indices for food service — and publish no food cost, no payroll share and no margin by outlet type. This page marks the line between the two, shows how to read a GUS or Eurostat table without adding to it, and what replaces a benchmark nobody issues.

Published
23 min read4537 words
Aura editorialAuthor

Key takeaways

  • GUS reports PLN 85.2 bn of food service revenue for 2024 including VAT; Eurostat reports EUR 16,130.99 m of net turnover for 2023 — different base, different population, different year, and no ratio of the two means anything.
  • Restaurants are 29,546 of Poland’s 101,491 food service outlets, or 29.1 % — a sector average is not a restaurant average.
  • Food cost, payroll share and staff turnover by outlet type are published by nobody: checked 27.08.2026 against the full Eurostat catalogue, 6,653 dataset codes, zero hits.
  • Purchases divided by net turnover gives 67.59 % for Poland, but that is not food cost — the Eurostat item includes rent, utilities, marketing and goods for resale.
  • With no benchmark available, compare yourself with yourself: same month a year earlier, same base, and strip prices out using the published index (5.7 % for 2025).

Official Polish statistics publish aggregate revenue, venue counts, employment and price indices for food service. They publish nothing about food cost, labour share or margin by venue type. Any figure quoted as an industry norm for those has no primary source behind it, and a single venue is better served by comparing itself with its own earlier periods.

Why a restaurant needs someone else's number at all

An external number answers one thing only: is what I am seeing unusual? You look up an industry figure because your own food cost moved three points and you want to know whether the market moved with you or you moved alone.

That is a fair thing to want. The trouble is that an external number answers it only when three things match: the population it was measured on, the period it covers, and the base it was divided by. Miss one, and the number does not become useless — it becomes actively misleading, because it still looks like an answer.

Primary source — the body that produced the number and publishes it: a statistical office or an official journal. An article quoting one is not a primary source, and neither is a slide deck citing the article.

Industry benchmark — a number said to describe a typical venue. It is useful only when the population, the period and the base behind it are stated. Without them it is a rumour with a decimal point.

This page does not calculate a single restaurant metric. Prime cost lives here, food cost here, and the whole set of restaurant material sits in the restaurant section. What lives here is the layer underneath all of them: where a number comes from, and what it is allowed to say.

What is published officially and what nobody publishes

We went through this row by row, opened every source and wrote down what it actually contains. Rows marked "not published" are not gaps in our research — they are the result of the search.

IndicatorPublished officiallyBy whomWhat to use instead
Food service revenue, whole countryyesGUS: 85.2 bn PLN in 2024, including VAT (GUS, Rynek wewnętrzny w 2024 r., p. 34, opened 27.08.2026)—
Number of venues by typeyesGUS: 101 491 venues in 2024, table 6, p. 32—
Net turnover, purchases, staff costs, gross operating rate for the food and beverage branchyesEurostat: 16 130.99 mn EUR net turnover for Poland in 2023 (Eurostat, sbs_ovw_act, NACE I56, Poland, 2023, opened 27.08.2026)—
Hourly labour cost, accommodation and food serviceyesEurostat: 12.7 EUR per hour in Poland in 2025, enterprises with 10 or more employees (Eurostat, lc_lci_lev, section I, opened 27.08.2026)—
Consumer price index for catering servicesyesEurostat: 5.7 % average annual change in Poland in 2025 (Eurostat, prc_hicp_aind, COICOP CP111, opened 27.08.2026)—
Food cost by venue typenot published—your own baseline, method in food cost
Labour share of revenue by venue typenot published—your own baseline, method in prime cost
Marketing spend as a separate linenot published—it is buried inside "purchases of goods and services"; split it yourself in your own ledger
Purchase price index for a restaurant basketnot published—build your own purchase price index
Staff turnover in food servicenot published—your own headcount records
Delivery platform commission ratesnot published—your own platform settlement statement

The "not published" rows are backed by a search, not by an impression. The Eurostat dissemination catalogue was downloaded in full on 27 August 2026 — 1 973 474 bytes of plain text, 6 653 distinct dataset codes — and searched for the terms behind those rows. "Food cost", "staff turnover", "marketing expenditure", "visit frequency" and "purchase price index for" return zero matches across the entire catalogue. On the Polish side, the GUS annual review of the internal market contains seven tables in total, two of them about food service: the count of venues and the revenue. There is no cost table, no margin table, and the Polish words for profitability and for staff rotation do not appear in the publication at all.

That is what an honest absence looks like: a place that was searched, a date, and a list of what was there instead.

How the sector split works: why "food service" is wider than a restaurant

The single most common mistake with these numbers is to read a sector figure as a restaurant figure. In Poland the two are far apart.

GUS counted 101 491 food service venues in 2024.

29.1%
Restaurants are 29 546 of them — 29.1 %.

The rest are 39 949 fast-service points, 26 209 bars and 5 787 canteens (GUS, table 6, p. 32, link above). So roughly seven venues in ten inside the word "gastronomia" are not restaurants, and every sector average is dominated by them.

Two different European cuts, and they are not interchangeable

Eurostat does not have one food-service cut, it has two, and they answer different things.

  • NACE I56 — food and beverage service activities. This is the branch without hotels. It is the cut used in the structural business statistics set sbs_ovw_act, and it is the closest thing to "restaurants and bars" that European statistics offer.
  • Section I — accommodation and food service activities. Hotels are inside. This is the cut used for hourly labour cost and for every ICT indicator about the sector, and those sets cover enterprises with 10 or more employees only. A separate PKD 56 breakdown does not exist in them.

That second line is why we write "enterprises in the accommodation and food service sector" and never "restaurants in Poland" next to the labour cost figure. A restaurant with four staff is not in that sample at all, and a hotel with two hundred rooms is.

Sector classification — the statistical grouping a venue falls into. Food service groupings routinely include canteens, catering and bars alongside restaurants, so a sector average is not a restaurant average, and a section average is not even a food service average.

How to read a statistical table without adding to it

Here is a real table, read correctly and then read incorrectly, so the difference is visible.

Eurostat sbs_ovw_act for Poland, NACE I56, reference year 2023, dataset updated 10 March 2026 (link above):

LinePoland 2023EU-27 2023
Enterprises57 9991 568 284
Persons employed240 5928 622 213
Persons employed per enterprise45
Net turnover, mn EUR16 130.99511 080.61
Purchases of goods and services, total, mn EUR10 902.93307 579.37
Employee benefits expense, mn EUR2 608.47147 250.63
Gross operating rate13.65 %11.28 %

Now the incorrect reading, the one that circulates.

67.59%
Divide purchases by net turnover and you get 67.59 % for Poland and 60.18 % for the EU-27.

It is arithmetic on two published figures, it is reproducible, and it is not a food cost. The Eurostat line is called purchases of goods and services (total): it contains rent, utilities, outsourced services, marketing, goods bought for resale — everything the business bought that year, not the food. A national food cost cannot be extracted from it, because the food is not a separate line in it.

16.17%
The same table gives the labour side honestly: employee benefits expense divided by net turnover is 16.17 % in Poland and 28.81 % in the EU-27.

That comparison is legitimate — one dataset, one definition, one base, two territories — and it says something real about how Polish food service is structured. It says nothing about your venue.

The gross operating rate, by the way, is not a mystery number: it is gross operating surplus divided by net turnover, and it reproduces exactly.

13.65%
Poland reports gross operating surplus of 2 201.88 mn EUR against 16 130.99 mn EUR of net turnover, which is 13.65 % — the published value to the second decimal.

Reproducing a published ratio from its own components is a cheap and very effective way to find out whether you understood the table.

The published base: with tax or without — and why it is the first check on any table

Two official sources, two revenue figures for Polish food service, and they cannot be compared:

  • GUS publishes 85.2 bn PLN for 2024. The definition in the publication is printed in capitals directly above the number: "PRZYCHODY Z DZIAŁALNOŚCI GASTRONOMICZNEJ (łącznie z podatkiem VAT)" — revenue from food service activity, including VAT. It covers all entities, of any size.
  • Eurostat publishes 16 130.99 mn EUR of net turnover for 2023 — by definition excluding VAT, for NACE I56, for enterprises.

Different tax base, different population, different currency, different year. Any ratio built from one over the other is a number with no meaning, however confidently it is presented.

Period and base — the two things every external number must state before it can be used: when it was measured, and whether it is stated with or without tax. A percentage of revenue whose base is not named is not a percentage of anything.

The same publication carries two revenue figures, and both are correct

61.8%
Inside the very same GUS publication there is a second number: 52.7 bn PLN, which is food service revenue in enterprises employing more than nine people — 61.8 % of the national total, up 11.4 % year on year.

That is not a competing estimate of the same thing. It is a different population, stated as such on the page.

The gap between 85.2 and 52.7 is not rounding, it is roughly a third of the market that consists of the small venues. Two articles quoting "Polish food service revenue" from the same PDF can differ by 32.5 bn PLN and both be honest. Which one you took has to be written down next to the number, or the number is not verifiable. The tax base question is worked through indicator by indicator in revenue with or without VAT; here it is only the first check you run on a table you did not build.

Country data against your own city: what transfers and what does not

A national figure is an average over the whole country, and the country is not evenly distributed.

32.0%
GUS gives the regional split for enterprises employing more than nine people: Mazovia 32.0 % of that revenue, Lower Silesia 15.3 %, Lesser Poland 10.5 %, Silesia 7.7 %.

Four voivodeships hold about two thirds of it.

And there is a caveat printed under that chart which is easy to skip and expensive to skip: the regional split is according to the registered seat of the enterprise. A chain headquartered in Warsaw books its revenue to the Mazovia region regardless of where its venues actually stand. So this is not a map of where people eat. It is a map of where the companies are registered.

What transfers from a national figure to your street:

  • direction of movement — if the national series rose, something moved for everyone;
  • order of magnitude for structural things such as the split between own production and resold goods.

What does not transfer:

  • levels — a national average level says nothing about your rent, your wages, your prices;
  • anything about a specific city, unless the source itself is broken down by city, which for food service revenue it is not.

If your venue is in one city and you run several of them, the honest comparison is between your own locations, on one screen, on one definition — the practical side of that is in managing a restaurant chain.

Date and period: why a number without a year is not a number

Official statistics arrive late, and knowing exactly how late is part of using them.

  • GUS "Rynek wewnętrzny w 2024 r." was published on 3 November 2025 — about ten months after the year it describes. As of 27 August 2026 the Handel section of the GUS site lists no successor edition for 2025, which means the freshest official Polish food service revenue figure available today describes a year that ended twenty months ago.
  • Eurostat sbs_ovw_act has 2023 as its last complete year. There is a 2024 row for Poland, but it is flagged provisional and carries only five indicators: 59 632 enterprises, 245 172 persons employed, 18 711.04 mn EUR of net turnover. Purchases, staff costs and the operating rate for 2024 are simply not there yet.
  • lc_lci_lev already has 2025. Different sets, different calendars, inside the same statistical office.

So a sentence such as "food service in Poland turns over 85 billion" is wrong even though the number is right, because the year is missing and the year is doing half the work.

Nominal and real are two different answers to one request

11.1%
GUS reports the 2024 revenue growth twice: +11.1 % in current prices and +2.8 % in constant prices.

Same revenue, same year, same source. The first includes price growth, the second removes it. A venue reading only the first concludes the market grew strongly; a venue reading only the second concludes it barely moved. Both would be quoting GUS correctly.

When your own source gives you only the nominal figure, you can strip prices out yourself with the published price index:

Real change % ≈ Nominal change % − Price index change %

  • Nominal change % — your own change between two periods, percent;
  • Price index change % — change in the official price index for the same activity over the same period, percent;
  • the result is in percentage points, not percent, and the ≈ is not decoration.
8.0%
Worked: your revenue grew 8.0 % over 2025 and the Eurostat annual price index for catering services in Poland rose 5.7 % that year.

Subtraction gives 2.3 percentage points.

2.18%
The exact route — dividing the indices, 1.080 ÷ 1.057 − 1 — gives 2.18 %.

The two answers differ by 0.12 of a point here and diverge further the larger the changes get, which is exactly why the sign is ≈ and why the subtraction is only allowed for small movements.

One more caveat that belongs next to that index and not in a footnote: CP111 is labelled catering services and measures the prices guests pay. It is not the price of what you buy. For the purchasing side you need your own basket — that is your own purchase price index.

Where "industry norms" come from when no official source carries them

They come from four places, and none of them is a statistical office.

  1. Vendor content. A supplier of restaurant software publishes a range, a second vendor quotes the first, a third quotes the second, and by the fourth repetition the range has a life of its own and no author.
  2. Association surveys. Real work, often useful, but a survey of members who agreed to answer is not a census of the market, and the response count is usually the first thing dropped when the figure is re-quoted.
  3. Numbers translated across borders. A US or UK range applied to Poland, where wage levels, tax base and rent structure are all different.
  4. Rounded memory. Someone's real experience in one venue, repeated until it sounds like a law.

This page does not print a single such range, in any of its four languages, and that refusal is deliberate. But refusal has to be earned the same way an assertion does. We say food cost by venue type is not published because we searched the Eurostat catalogue and the GUS publication and wrote down what is in them; we do not say "nobody in the world publishes it", because that is not something anyone can check.

The two metrics for which industry ranges are quoted most often each have their own page here, and both of them take the same line: prime cost and food cost give the method and the arithmetic, not a norm.

How to compare yourself with yourself when there is no one to compare with

The replacement for a missing benchmark is not a worse benchmark. It is your own history.

Own baseline — your venue's own value of a metric in an earlier period, used as the comparison when no external number can be sourced. It has an advantage no industry figure has: the population is exactly your venue, the base is whatever you decided it is, and both are known to you.

Own change % = (Value in the current period ÷ Value in the base period − 1) × 100

  • Value in the current period — the metric for the period you are judging, in its own unit;
  • Value in the base period — the same metric, same unit, comparable period, same base;
  • the result is a percentage, because the units cancel.
7.99%
Worked: revenue of 128 400 PLN this March against 118 900 PLN last March. 128 400 ÷ 118 900 = 1.0799, minus one is 0.0799, times a hundred is 7.99 %.

Checked backwards: 118 900 × 1.0799 = 128 400, which returns the starting figure.

Two conditions, and skipping either produces a confident wrong answer. Comparable period — March against March, not March against February, because seasonality is larger than most of the effects you are trying to see. Same base — both figures with tax or both without, both after discounts or both before.

The comparability test, run before any of the arithmetic

Same population? Same period? Same base? — three answers of "yes", or the number is not used

This is not a calculation and has no units. It sits among the formulas on purpose, because it runs before all of them. A number that fails it does not get downgraded to "indicative". It gets left out, and the sentence that needed it gets rewritten.

Which numbers are worth tracking against your own baseline at all is a separate matter, handled in the restaurant KPI guide. When the change you are testing is caused by something you deliberately did, the honest method is a control group rather than a before-and-after: that is did the promotion work.

An industry survey, a vendor report, a press article: three sources of different weight

They are not the same kind of thing, and the difference is checkable rather than a matter of taste.

SourceWhat to check firstWhen it is usableWhen it is not
Statistical office or official journalthe definition printed with the table, and the reference yearalmost always, within its stated populationwhen you silently narrow its population to your venue type
Industry association surveywho was asked, how many answered, whether the raw table is publishedas evidence of direction and of what operators believeas a market average, and never when the response count is missing
Vendor report or white paperwho paid for it, and whether it names a prior sourceas a description of the vendor's own customer base, if that is statedas a benchmark; a vendor selling the solution is not a neutral measurer of the problem
Press articlewhich of the three above it is quotingonly as a route to the originalas a source in itself, ever

The practical rule is short: follow every number back one step. If the step behind it is another article, keep going. If you reach the end and there is no statistical office, no official journal and no published raw table, you have found the edge of what is known, and the right move is to stop rather than to round.

How to record a source next to a number so it can be verified a year later

A number without its provenance decays into folklore inside your own company just as fast as it does on the internet. Six fields prevent it, and they fit on one line:

publisher · dataset or table · population · period · base · date you opened it

Filled in, from this page: Eurostat · sbs_ovw_act · NACE I56, enterprises, Poland · 2023 · net turnover, excluding VAT · opened 27.08.2026. Anyone can reconstruct the query from that line a year from now, including the person who wrote it.

Three habits make this stick:

  • the link goes next to the number, not into a list at the end. A reader who has to scroll to find out where a figure came from will not scroll;
  • the caveat goes in the same sentence as the number. "Enterprises with ten or more employees" placed two paragraphs away protects nobody;
  • the date you opened the source is part of the record. Datasets are revised; a figure that was right when you took it stays defensible only if the reading date is on it.

If external figures are going to sit next to your own on a screen someone actually looks at, they need the same discipline as your own data: external signals is the layer that brings outside series in, analytics and dashboards put them beside your own, and AI reports is where a figure with a stated population and period ends up in a sentence rather than a chart. Which numbers an owner actually returns to is discussed in reporting automation; where in the business those numbers physically come from is CRM or ERP, and the surrounding operational picture is in restaurant automation.

What we do not publish ourselves and why

We analyse company websites, mostly in Warsaw, and that gives us numbers of our own. They are not on this page, and the reason is the same reason the rest of this page exists.

Our sample is heavily skewed towards one city. A share measured on it is a fact about the companies whose sites we looked at, and phrasing it as a share of Polish firms would be exactly the move this page spends ten sections arguing against. So when we do publish such a figure, it is phrased as "among the Warsaw companies whose sites we analysed" — with the count — and never as a national share. Where two of our own measurements disagree, we publish neither until we know which one is right.

The same rule applies to the arithmetic on this page: finance is the layer where two official denominators become one consistent report, and invoices are where the tax base stops being a statistical question and becomes a document, which is invoicing automation and KSeF.

Frequently asked questions

Where can a Polish restaurant find official industry statistics?

Two places cover almost everything that exists. GUS publishes the annual review of the internal market, which carries food service revenue and the count of venues by type. Eurostat publishes structural business statistics for the food and beverage branch, hourly labour cost for the accommodation and food service section, and consumer price indices for catering services. Both are free, both give downloadable tables, and both state their definitions above the numbers.

Is there an official benchmark for food cost in Poland?

No. We searched the full Eurostat dissemination catalogue on 27 August 2026 — 6 653 distinct dataset codes — and the term returns zero matches. The GUS annual review of the internal market has seven tables, two about food service, and neither is a cost table. Eurostat does publish "purchases of goods and services, total" for the branch, but that line mixes food with rent, utilities, marketing and goods for resale, so a food cost cannot be extracted from it.

Why is a sector average not a restaurant average?

Because restaurants are a minority of the sector. GUS counted 101 491 food service venues in Poland in 2024, of which 29 546 were restaurants — 29.1 %. The rest are fast-service points, bars and canteens, with different cost structures and different average bills. On top of that, the European labour-cost and technology datasets use an even wider cut that includes hotels and covers only enterprises with ten or more employees.

How do I check whether an external number is usable?

Ask it three things: the same population as your venue, the same period as your data, the same base as your own arithmetic. All three have to answer yes. If the source does not state its population, its reference year or whether it is with or without tax, the number has already failed, because you cannot verify the answers later.

What do I compare myself with when no benchmark exists?

With yourself, in a comparable earlier period. Take the metric for this March and the same metric for last March, on the same base, and compute the change. The comparison is weaker in ambition and much stronger in evidence: the population is exactly your venue, and you know how both figures were made.

How do I separate a real change from a price change?

Subtract the official price index change for the same activity and period from your nominal change, and read the result as percentage points. For 2025 the Eurostat annual index for catering services in Poland rose 5.7 %, so a venue whose revenue grew 8.0 % grew about 2.3 points in real terms. The exact route is dividing the indices rather than subtracting the rates, which gives 2.18 % here; the difference grows with the size of the changes.

Is a survey by an industry association the same kind of source as a statistical office?

No, and the difference is not about honesty. A statistical office measures a defined population with a published method; an association surveys the members who chose to answer. The survey can be excellent evidence of direction and of what operators believe, and poor evidence of a market average. Check the response count first — if it is not stated, the figure cannot be weighed at all.

Before you accept anyone else's number, put three things to it: the same population, the same period, the same base. A figure that fails on any of the three costs more than its absence, because it looks like knowledge. Start with the two catalogues named above, write the six-field source line next to every figure you keep, and use your own earlier periods for everything the offices do not publish.

Related services

In this section

Let us look at your numbers

Tell us how enquiries are handled today — how many there are, who picks them up, where they get lost. Aura walks the process with you and shows what can be taken off a person, and what is better left alone.

Talk to Aura

The home page with Aura opens. Give a company name — she looks at it in public data and shows what a client sees. No promises of a result.

Prefer to write? marketing@auraglobal-merchants.com

Next step

Let us check whether Aura fits your place

We do not take everyone: first we look at your processes, sales and current systems and tell you honestly whether it makes sense for us to come in. A few questions, about five minutes.

Take the assessment →