AURA

Свой индекс закупочных цен: насколько дорожает именно твоя корзина

Национальный индекс меряет цену для гостя, а не твою накладную. Эта страница строит ряд, который за тебя никто не опубликует: корзина, отобранная по деньгам, веса, дающие в сумме единицу, закреплённый базовый период и арифметика, которая переводит рост корзины в рост себестоимости порции — и останавливается перед тем, как перевести его в цену меню.

Опубликовано
17 мин чтения3378 слов

Главные выводы

  • Индекс закупочных цен — средневзвешенное ценовых отношений, а веса это доли позиций в закупочном расходе базового периода.
  • Веса считаются по деньгам, а не по штукам, и обязаны складываться в 1,00 — эта сумма и есть встроенная проверка всей корзины.
  • Фиксированные веса меряют цены, плавающие смешивают цены с твоими собственными заменами: в пересчитанном примере одни и те же цены дают 11,0 % и 9,6 %.
  • Перенос в себестоимость порции — это изменение индекса, умноженное на долю сдвинувшихся позиций в блюде: 11,0 % × 0,70 = 7,7 %.
  • Нужная надбавка к цене меню всегда меньше переноса, потому что в цене уже сидит вклад, который не дорожал.
  • Официального индекса закупочных цен для общепита не существует, а публикуемый индекс общепита меряет то, что платит гость, — поэтому страница не называет никакой отраслевой нормы.

Индекс закупочных цен — это средневзвешенное изменение цен на те позиции, которые твоя кухня закупает на самом деле, с весами, равными доле каждой позиции в закупочных расходах базового периода. Он отвечает на то, чего не может сказать инфляция по стране: насколько дороже обходится та же корзина сейчас. Умноженный на долю позиций в блюде, он даёт перенос в себестоимость порции.

Почему инфляция по стране не описывает твою закупку

Официальная статистика цен по Польше есть, она хорошая, и честно назвать её точно, а не занять из неё число.

5,7%
Eurostat публикует гармонизированный индекс потребительских цен по группе CP111 «Catering services»: среднегодовой прирост цен составил для Польши 5,7 % в 2025 году, 8,1 в 2024, 14,9 в 2023 и 16,3 в 2022 при 4,1 % по ЕС-27 в 2025 (Eurostat, prc_hicp_aind, CP111 «Catering services», данные обновлены 6 февраля 2026, открыто 26 августа 2026).

Польский GUS публикует национальный индекс цен из той же семьи — месячный ряд «Miesięczne wskaźniki cen towarów i usług konsumpcyjnych od 1982 r.», выкладываемый таблицей (GUS, месячные индексы потребительских цен, открыто 26 августа 2026). Обе величины — польские, и обе про цены в Польше, а не про мировой рынок.

Прежде чем взять любое из этих чисел, прочитай на нём подпись. CP111 меряет то, что за услуги общественного питания платит гость в масштабе целой страны, — цены из меню, а не цены из накладной. Национальный потребительский индекс меряет корзину домохозяйства. Ни одна из этих величин не равна цене, которую поставщик выставил тебе во вторник за свинину, и разрыв здесь не ошибка округления: в цене для гостя сидят твой труд, твоя аренда и твои решения о марже, а в национальной корзине сидят чужие покупки.

Официального индекса закупочных цен для ресторана, чтобы взять его вместо своего, тоже не существует. В каталоге наборов данных Eurostat, прочитанном 26 августа 2026 года, десять записей несут в названии «purchase prices», и все десять — про сельское хозяйство: удобрения, корма, энергоносители, потребляемые в сельском хозяйстве, и средства сельскохозяйственного производства. Оборота «input prices» в нём нет ни разу. Единственная запись про общественное питание во всём каталоге — гармонизированный потребительский индекс по гостиницам и ресторанам, то есть снова цена для гостя. Поэтому эта страница не называет никакой отраслевой нормы того, с какой скоростью дорожает твоя закупка. Она даёт арифметику, которой ты посчитаешь свою скорость, а официальные ряды остаются там, где им место, — фоном, на котором твоё число можно прочитать.

Три вещи делают твой индекс не равным национальному даже в спокойный месяц. Другая корзина: национальную собрали из расходов домохозяйств или гостей, твоя — это двадцать строк, которые закупает твоя кухня. Другие веса: национальные пришли из обследований бюджетов, твои — из твоих накладных. И другой поставщик: твоя цена зависит от твоего объёма, частоты поставок и сроков оплаты, о которых никакая национальная средняя ничего не знает.

Корзина: какие позиции в неё берут и сколько их достаточно

Корзина — список закупаемых позиций, отслеживаемый во времени. Отбирается по деньгам, а не по счёту: те позиции, которые собирают большую часть закупочных денег.

Возьми один закрытый месяц накладных, сложи расход по каждой позиции, отсортируй по убыванию и иди вниз по списку, пока не наберёшь примерно четыре пятых денег. Для одной кухни это обычно от двенадцати до двадцати строк. Всё, что ниже этой черты, можно наблюдать, но индекс оно не сдвинет, а притворяться иначе значит добавить себе работы и ничего не добавить числу.

Таблица ниже — шаблон, а не данные. Она заполняется по собственным накладным, и в этом весь смысл упражнения.

ПозицияДоля в закупке базового периодаКак часто меняется ценаЕсть ли замена
строка из твоих накладныхдоля этой позиции во всём расходекаждую неделю, каждый месяц, по контрактуда, нет, только со сменой рецепта
строка из твоих накладныхдоля этой позиции во всём расходекаждую неделю, каждый месяц, по контрактуда, нет, только со сменой рецепта
строка из твоих накладныхдоля этой позиции во всём расходекаждую неделю, каждый месяц, по контрактуда, нет, только со сменой рецепта

Две последние колонки не украшение. Позиция с ценой, замороженной годовым контрактом, входит в корзину для полноты, но ничего не объяснит; позиция без замены — та самая, на которой подорожание у поставщика переходит прямо в твою себестоимость, потому что уйти от неё некуда. Затащить накладные в учёт, где такая сортировка вообще возможна, — это сперва системная работа и только потом арифметическая: смотри интеграции и что система обязана уметь со счетами и KSeF.

Чего в корзине нет

Разовых покупок, оборудования, ремонта, ящика чего-нибудь под одно мероприятие и всего, что ты перестал закупать вовсе. Индекс меряет цену повторяющейся закупки. Строка, которая появилась один раз, не имеет изменения цены, которое можно измерить, — у неё есть цена, а это другое.

Сколько строк достаточно

Достаточно тогда, когда добавление следующей меняет индекс меньше, чем округление, в котором ты его показываешь. Если корзина собирает четыре пятых расхода, а двадцать первая позиция — это пятая часть процента от него, она может подорожать вдвое и сдвинет индекс на десятую долю пункта. Остановись здесь и вложи усилие в то, чтобы эти двадцать были точными.

Веса: почему по деньгам, а не по числу позиций

Вес — доля позиции в закупочных расходах базового периода.

Вес позиции = Расход на эту позицию в базовом периоде ÷ Весь закупочный расход базового периода

  • Расход на эту позицию в базовом периоде — всё, что ты заплатил за эту позицию за базовый период, без НДС, PLN;
  • Весь закупочный расход базового периода — та же сумма по всем позициям корзины, PLN;
  • результат — безразмерная доля от 0 до 1.

Взвешивание по числу позиций сказало бы, что строка салфеток и строка говядины — это по одной позиции: правда, из которой ничего не следует, потому что они не по одному злотому. Взвешивание по деньгам говорит, какую часть закупки эта строка на самом деле держит. Вот пересчитанный базовый период:

ПозицияРасход базового периода, PLNВес
Мясо и птица18 4000,40
Молочное9 2000,20
Овощи7 3600,16
Хлеб и мука4 6000,10
Масла и жиры2 7600,06
Безалкогольные напитки3 6800,08
Итого46 0001,00

Веса складываются ровно в 1,00, и это не совпадение — это встроенная проверка всей корзины. Если веса не дают единицу, значит какая-то строка посчитана дважды либо деление шло на неверную сумму, и никакая последующая арифметика этого не починит. Текущий ряд закупочных расходов в разрезе позиций — вопрос к учёту, а не к переговорам: смотри финансы, а если ещё выбираешь, какой слой это держит, — CRM или ERP.

Формула индекса и что такое базовый период

Базовый период — период, относительно которого меряются цены и веса индекса. Его закрепление и есть то, что делает последующие значения сравнимыми.

Индекс цен = Σ ( Вес позиции × Текущая цена позиции ÷ Базовая цена позиции )

  • Вес позиции — доля позиции в расходе базового периода, безразмерная, из формулы выше;
  • Текущая цена позиции — цена в измеряемом периоде, за сопоставимую единицу, PLN;
  • Базовая цена позиции — цена той же позиции в базовом периоде, за ту же единицу, PLN;
  • суммирование идёт по всем позициям корзины; результат безразмерен.

Изменение индекса % = (Индекс цен − 1) × 100

Сдвинь корзину из таблицы на один период вперёд. Мясо идёт с 30,00 на 34,50 PLN за килограмм, отношение 1,15; молочное с 12,00 на 12,60, отношение 1,05; овощи с 7,00 на 8,40, отношение 1,20; хлеб и мука с 4,00 на 4,08, отношение 1,02; масла с 10,00 на 11,00, отношение 1,10; безалкогольные напитки не сдвинулись, отношение 1,00.

11,0%
Индекс равен 0,40 × 1,15 + 0,20 × 1,05 + 0,16 × 1,20 + 0,10 × 1,02 + 0,06 × 1,10 + 0,08 × 1,00 = 1,110, то есть изменение индекса — 11,0 %.

Та же корзина обходится на одиннадцать процентов дороже, чем в базовом периоде.

Одна ловушка вредит здесь больше всех остальных вместе взятых — единица измерения. Цена за килограмм в числителе и цена за упаковку в знаменателе дают отношение, которое не значит ничего, и не значит тихо, потому что по-прежнему выглядит как число. Прежде чем строка войдёт в индекс, запиши её единицу и никогда не давай этой единице смениться без перебазирования строки.

Фиксированные веса против плавающих: две разные величины и два разных вывода

Индекс с фиксированными весами — веса удерживаются на базовом периоде, поэтому индекс показывает одно только изменение цен.

Индекс с плавающими весами — веса пересчитываются каждый период, поэтому индекс смешивает изменение цен с изменением того, что закупается. Другое число, отвечающее на другое.

Допустим, подорожание мяса сдвинуло твою кухню в сторону молочного, и в текущем периоде мясо держит 0,26 расхода, а молочное 0,34, при неизменной остальной части.

9,6%
Пересчитанный на этих весах индекс равен 0,26 × 1,15 + 0,34 × 1,05 + 0,16 × 1,20 + 0,10 × 1,02 + 0,06 × 1,10 + 0,08 × 1,00 = 1,096, то есть рост на 9,6 %.

Оба числа верны. Разница между ними — 1,4 процентного пункта, и вся эта разница есть твоё собственное решение закупать иначе, а не решение рынка выставлять иначе.

ИндексЧему разрешено менятьсяНа что отвечаетКогда вводит в заблуждение
Фиксированные весатолько ценамнасколько дороже обходится та же корзинакогда закупаемое действительно сменилось, а старая корзина всё ещё зовётся твоей
Плавающие весаценам и количествамнасколько дороже обошлось то, что закуплено на делекогда его читают как меру цен и записывают на счёт поставщиков

Рабочее правило: индекс с фиксированными весами держи как свой ценовой ряд, а если нужен и второй — держи его в отдельной колонке под отдельным именем. Ошибка, которой стоит избежать, — назвать плавающее число в разговоре с поставщиком.

9,6%
Ты сказал бы ему, что цены выросли на 9,6 %, тогда как измерил ты рост на 11,0 %, а 1,4 пункта из него смягчил сам, готовя иначе.

Это скидка, отданная до начала разговора.

Перенос в себестоимость порции: формула

Перенос в себестоимость порции — доля, на которую растёт себестоимость порции блюда при росте индекса, при заданной доле подорожавших позиций в себестоимости этого блюда.

Сама себестоимость порции определена на нашей странице про food cost, и мы цитируем её здесь без изменений: «Себестоимость порции — рассчитанная сумма всех компонентов техкарты по ценам, поправленным на выход, для одной порции ровно в том виде, в каком она уходит в зал». Весь метод калькуляции блюда там: смотри food cost ресторана.

Перенос в блюдо % = Изменение индекса % × Доля подорожавших позиций в себестоимости порции

  • Рост корзины — изменение индекса за период, в процентах;
  • Доля позиций корзины в себестоимости порции — какая часть себестоимости порции этого блюда приходится на сдвинувшиеся позиции корзины, безразмерная доля от 0 до 1;
  • Рост себестоимости порции — результат, в процентах от себестоимости порции, а не от цены в меню.

Возьми блюдо, у которого себестоимость порции 14,00 PLN и в котором сдвинувшиеся позиции корзины составляют 0,70 этой себестоимости. Перенос равен 11,0 % × 0,70 = 7,7 %.

7,7%
В деньгах: 0,70 × 14,00 = 9,80 PLN индексируемого содержимого, выше на одиннадцать процентов, — это 1,08 PLN сверху, значит себестоимость порции идёт с 14,00 на 15,08 PLN, а 15,08 ÷ 14,00 − 1 = 7,7 %.

Обе дороги сходятся, и это проверка.

⚠️ Перенос — это не та надбавка, которая тебе нужна. Эти два числа путают постоянно, и путаница дорого стоит в одну сторону: она завышает.

2,7%
Если блюдо продаётся за 40,00 PLN без налога, удержание того же вклада в злотых требует 1,08 PLN сверху, то есть 2,7 % цены, а не 7,7 %.
7,7%
Себестоимость порции выросла на 7,7 %; цена обязана вырасти меньше, потому что в цене уже сидит вклад, который не дорожал.

Насколько меньше и сколько дополнительных продаж движение цены обязано добрать, считается на странице про то, сколько продаж обязана добрать скидка, и на странице про food cost. Примерить это до смены меню помогают what-if и прогнозы.

Формула исходит из того, что сдвинувшиеся позиции в этом блюде подорожали на среднюю по корзине. Если блюдо держит одна позиция — стейк, целая рыба, — не бери для него индекс корзины вовсе. Возьми собственное ценовое отношение этой позиции, которое ты и так посчитал по дороге к индексу.

Сколько времени держать веса неизменными

Столько, чтобы ряд что-то значил, а на практике это полный год. Веса, обновляемые каждый месяц, тихо превращают индекс с фиксированными весами в индекс с плавающими: никто не решал менять меру, она просто перестала мерить цены.

Перебазируй раз в год, в назначенную календарную дату, а не тогда, когда это покажется нужным, и не переписывай старый ряд. Держи старый индекс рядом с новым, а в переходном периоде запиши отношение между ними, чтобы их можно было сцепить в цепочку. Ряд, который каждый январь стартует с 1,000 и не имеет звена назад, не ответит на единственный интересный длинный запрос — насколько подорожала твоя закупка с открытия. Держать это постоянным показателем, а не разовым пересчётом, — разница между числом и отчётностью: смотри аналитику и показатели, на которые владелец правда смотрит.

У сети здесь есть ещё одно правило. Три заведения имеют три разных индекса, и усреднить их в одно число сети нельзя без взвешивания закупочным расходом каждого заведения, — да и тогда сетевое число спрячет то заведение, которое поджимают. Смотри на них рядом: сеть ресторанов на одном экране.

Замена поставщика и замена продукта: когда индекс ломается

Тот же продукт, новый поставщик

Это изменение цены, и оно остаётся в индексе — но только если совпадают единица и спецификация. Та же часть туши, тот же класс, та же фасовка, те же условия поставки. Если свинина нового поставщика — другая часть с другим выходом, ты нашёл не более дешёвую цену, а другой продукт, и индекс отчитается об экономии, которой твоя кухня не увидит.

Новый продукт в той же роли

Это изменение корзины, а не изменение цены. Сшей его: закрой старую строку на последней наблюдавшейся цене, открой новую и обойдись с переходным периодом как с перебазированием одной этой строки, вместо того чтобы дать замене показаться падением цены. Одну фразу, которая держит это честным, стоит выписать прямо на листе: если нельзя сказать, что обе цены про одно и то же, это не изменение цены.

Выход сырья — то место, где правило окупается, и выход принадлежит методу food cost, а не индексу: более дешёвая цена сырья при худшем выходе способна поднять себестоимость порции, опустив твой индекс. Когда твой индекс и твой фактический food cost говорят разное, этот разрыв — тема страницы про теоретический и фактический food cost.

Ответ ценой, ответ рецептом, ответ переговорами: чем отличаются

Рост индекса не является командой. Это вход в три разных решения, и арифметика у них разная.

Ценой. Ты двигаешь цену в меню, и нужное движение меньше переноса, как показано выше. Какие блюда это выдержат, а какие нет, — дело меню, а не закупки: метод сортировки лежит в меню-инжиниринге.

Рецептом. Ты меняешь граммовку, выход или компонент. Это меняет корзину, а значит меняет индекс — запиши как сшивку, иначе поздравишь себя с падением цен, которое на деле есть уменьшенная порция.

Переговорами. Ты идёшь к поставщику с числом.

11,0%
Здесь индекс с фиксированными весами окупает себя с запасом: «накладные по той же корзине на 11,0 % выше базового периода» — это фраза с проверяемым утверждением внутри.

«Всё дорожает» такой фразой не является. Где эта позиция сидит во всей структуре твоих затрат — а значит, сколько твоей себестоимости этот разговор вообще способен сдвинуть, — тема prime cost.

Более широкую официальную картину, внутри которой стоит твой собственный ряд, собирает страница о том, что об экономике ресторанов Польши говорят официальные данные. Та держит публикуемые индексы и их разрезы; эта держит метод для ряда, который за тебя никто не опубликует.

Чего индекс не покажет: он не про качество и не про сервис

Это ценовой ряд. Ровно столько, и честность здесь дороже лишнего обещания.

Он не видит потерь, воровства, перекладывания порций и порчи: индекс может стоять на месте, пока фактический food cost лезет вверх, и эта разница — тема сравнения теоретического с фактическим, а не этой страницы. Он не видит качества: поставщик, который удержал цену и тихо понизил класс сырья, покажется в твоём индексе стабильностью. Он не видит сервиса, соблюдения сроков поставки и недовозов. Не видит он и всей твоей себестоимости: закупка — это одна корзина внутри prime cost, а труд движется по собственному календарю.

Не нужен ему и искусственный интеллект, и эта страница не станет притворяться иначе. Каждое число выше — это средневзвешенное и два деления; всё это делает обычная таблица. То, на чём программа действительно окупается, — скучная половина: затащить накладные поставщиков в учёт, сопоставить одну и ту же позицию между поставщиками и единицами и удержать ряд без дыр в течение года, чтобы арифметике было на чём работать. Именно эта часть рассыпается при ручной работе, и именно её стоит автоматизировать: смотри автоматизацию ресторана.

Частые вопросы

Как построить индекс закупочных цен для моего ресторана?

Возьми один закрытый период как базовый, сложи закупочный расход по каждой позиции и преврати эти суммы в веса, поделив каждую на общую. Запиши цену за сопоставимую единицу для каждой позиции в этой базе. В следующем периоде запиши те же цены снова, подели каждую текущую цену на её базовую, умножь каждое отношение на вес этой позиции и всё сложи. Сумма и есть индекс; вычти единицу и умножь на сто, чтобы получить проценты.

Сколько позиций должно быть в корзине?

Столько, сколько нужно, чтобы покрыть примерно четыре пятых закупочного расхода, а для одной кухни это обычно от двенадцати до двадцати строк. Правило остановки арифметическое, а не амбициозное: когда следующая позиция слишком мала, чтобы сдвинуть индекс больше округления в отчётности, её добавление стоит работы и не покупает ничего. Точность на двадцати строках бьёт охват восьмьюдесятью небрежными.

Почему веса считаются по расходу, а не по количеству?

Потому что индекс обязан отвечать на то, что происходит с твоими деньгами, а количества деньгами не являются. Равный счёт позиций делает строку салфеток такой же важной, как строка говядины; равный счёт килограммов делает муку важнее шафрана. Вес есть доля в расходе именно затем, чтобы десятипроцентное подорожание позиции, забирающей сорок процентов бюджета, перевесило такое же подорожание позиции, забирающей два.

В чём разница между фиксированными и плавающими весами?

Фиксированные веса заморожены на базовом периоде, поэтому двигаться разрешено только ценам и индекс остаётся чистой мерой цен. Плавающие пересчитываются каждый период, поэтому число впитывает ещё и твои собственные замены. В пересчитанном примере одни и те же цены дают 11,0 % на фиксированных весах и 9,6 % на плавающих, а разрыв в 1,4 пункта — целиком другая закупка кухни. Для разговора с поставщиком держи первый.

Насколько дорожает блюдо, когда растёт мой индекс?

Умножь изменение индекса на долю себестоимости порции этого блюда, приходящуюся на сдвинувшиеся позиции. При изменении индекса 11,0 % и доле 0,70 себестоимость порции растёт на 7,7 % — на себестоимости 14,00 PLN это 1,08 PLN. Если блюдо держит один дорогой компонент, пропусти для него индекс и возьми собственное ценовое отношение этого компонента, потому что средняя по корзине ошибётся в ту сторону, в которую двинулся сам компонент.

Что делать, когда меняется поставщик или продукт?

Спроси себя, про одно ли и то же обе цены. Тот же продукт от нового поставщика при той же единице и спецификации — это изменение цены, и оно остаётся в индексе. Другой продукт в той же роли — это изменение корзины: закрой старую строку, открой новую и обойдись с переходом как с перебазированием этой строки, чтобы замена не записалась падением цены. То же касается сменившейся фасовки, и это та версия беды, которая проскакивает чаще всего.

Значит ли растущий индекс, что надо поднимать цены в меню?

Сам по себе нет, и уж точно не на тот же процент. Индекс говорит, что сделала твоя закупка; он не говорит, что примут твои гости, что сделали соседи и какие блюда несут вклад. Перенос в себестоимость порции всегда больше надбавки, нужной для удержания того же вклада в злотых, поэтому переписывание индекса в меню завышает цену. Цена, рецепт и переговоры — три отдельных ответа, а индекс есть вход во все три и не является решением ни в одном.

Двадцати накладных за два периода хватает, чтобы построить первый индекс, и первый всегда самый трудный, потому что именно на нём разбираются единицы измерения. Дальше разговор с поставщиком идёт с числом, а не с ощущением. Начни со своей корзины — покажи свои цифры на портале отбора — и держи её как ряд, а не как разовый пересчёт.

Связанные услуги

В этом разделе

Посмотрим на твоих цифрах

Расскажи, как сейчас устроена обработка заявок: сколько их, кто принимает, где теряются. Aura пройдёт процесс вместе с тобой и покажет, что можно снять с человека, а что трогать не стоит.

Поговорить с Aura

Откроется главная страница с Aura. Назови компанию — она посмотрит на неё в публичных данных и покажет, что видит клиент. Без обещаний результата.

Удобнее написать? marketing@auraglobal-merchants.com

Следующий шаг

Посмотрим, подходит ли Aura вашему заведению

Берёмся не за всех: сначала смотрим процессы, продажи и текущие системы и честно говорим, есть ли смысл нам заходить. Несколько вопросов, минут пять.

Пройти отбор →