В комментариях к прошлой статье мне прилетело замечание, от которого я до сих пор не отбился.

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

Крыть нечем. Сто грамм кетчупа не ест никто, ну вот совсем никто, даже я.

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

Откуда вообще взялись эти 100 грамм

Не от лени разработчика, хотя лень тоже была. Просто на упаковке больше ничего и нет, в общем.

ТР ТС 022/2011, часть 4.9, пункт 3, дословно:

Пищевая ценность пищевой продукции должна быть приведена в расчете на 100 граммов или 100 миллилитров и (или) на одну порцию (определенное количество пищевой продукции, указанное в ее маркировке как одна порция при обязательном указании количества такой порции) пищевой продукции.

Читаем внимательно. “И (или)”. Производитель волен указать на 100 г, волен на порцию, волен на то и другое. А главное - что считать порцией, решает он сам. Регламент требует только одного: если пишешь порцию, укажи, сколько в ней грамм.

Дальше по тексту ещё интереснее. Обязательный набор показателей - калорийность, белки, жиры, углеводы, витамины и минеральные вещества. Соль отдельной строкой там не стоит. Она проходит по разряду минеральных веществ, а их обязаны указывать, только если добавили при производстве специально.

Вот теперь понятно, почему у меня натрий заполнен примерно у трети карточек. Я думал, это дыра в моём парсере. Оказалось, дыра в законе, и я её честно отпарсил.

Как это устроено у соседей

Полез сравнивать, раз уж начал.

Евросоюз, Regulation (EU) 1169/2011. Обязательных показателя семь: энергия, жиры, насыщенные жиры, углеводы, сахара, белки и соль. И все семь - строго на 100 г или 100 мл. Порцию можно добавить сверху, но заменить ей сотню нельзя. Соль в списке обязательных, отдельной строкой.

США, 21 CFR 101.12. Тут наоборот: главная цифра на этикетке - порция, а сотни грамм нет вообще. И дальше ключевое, ради чего стоило лезть: размер порции американскому производителю не принадлежит. Есть таблица RACC (Reference Amounts Customarily Consumed), где FDA для каждой категории продуктов прописала, сколько человек реально съедает за один раз. Хочешь продавать мороженое - в порции будет столько, сколько сказала таблица.

Таблицу, кстати, пересматривают. В 2016 году FDA подняла порцию мороженого с половины чашки до двух третей, а газировки - с 8 унций до 12. Основание - данные национального обследования питания NHANES за 2003-2008 годы. Люди стали есть больше, и регулятор это признал вместо того, чтобы делать вид, что все едят по половинке.

Сведу в табличку, так нагляднее:

База

Соль обязательна?

Кто решает размер порции

ЕС

100 г / 100 мл

да

производитель (порция необязательна)

РФ и ЕАЭС

100 г / 100 мл и (или) порция

нет

производитель

США

порция

да (натрий)

FDA, таблица RACC

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

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

Затем, что производитель не дурак.

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

В США это лечится таблицей RACC. У нас лечить нечем: любое число, которое напишет изготовитель, законно.

Так что порция с упаковки в РФ - это не данные о потреблении. Это маркетинговый параметр, который иногда совпадает с реальностью.

Ладно, а свою таблицу порций собрать?

Первая мысль была: взять RACC и переложить на наш рынок. Мысль плохая по трём причинам.

Категории не бьются. В RACC нет ни творога в привычном нам виде, ни кефира, ни сгущёнки, ни пельменей, ни развесной кулинарии из “Пятёрочки”. А это заметный кусок нашей базы.

Цифры чужие. NHANES меряет американцев. Сколько наш человек кладёт сметаны в борщ, американское обследование не знает и знать не может.

И третье, самое противное. Даже правильная средняя порция - это средняя по больнице. Один съедает ложку кетчупа, другой заливает им пельмени.

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

Что я в итоге буду делать

Три варианта, все кривые. Выбирать всё равно придётся.

Вариант первый - спросить у человека. Сканируешь кетчуп, приложение спрашивает: сколько кладёте? Честно, гибко и мертво. Никто не будет отвечать на вопросы у полки, люди приложение открывают на десять секунд.

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

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

Третий мне нравится больше всех, и он же требует самой большой переделки. Категории у меня сейчас проставлены криво, приехали из разных источников вперемешку и местами противоречат друг другу. Короче, сначала разбор категорий, а обещать что-то можно будет уже после него.

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

Где я могу ошибаться

Тут надо честно.

Во-первых, вся конструкция держится на предположении, что человеку у полки нужна оценка продукта, а не оценка его рациона. Может, и не нужна. Возможно, правы те, кто говорит: делайте персональный профиль (“мне нельзя глютен”, “ограничиваю натрий”) и не лезьте с универсальной полезностью. Такой комментарий я тоже получил, и ответа у меня на него нет.

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

В-третьих, треть карточек с натрием - это прикидка, а не результат аккуратного пересчёта. И считал я по своей базе, а база это не полка магазина: что туда попало, то и посчиталось.


Пойду разбирать категории. Если у кого-то есть открытые данные по реальным порциям на российском рынке (про нормативы общепита я уже в курсе, мне нужно потребление), напишите. Я правда ищу.

Справочник добавок, о котором спрашивали в прошлый раз, лежит тут: https://etiketka.bossip.ru/dobavki/ - 243 кода, статусы РФ и ЕС по каждому.

Комментарии (8)


  1. n0isy
    03.09.2026 19:21

    Тут честно: нейрослоп.

    От себя добавлю, что получить за 100грамм, вместо американских 3/4cup of 2 portions - это ИМБА. ИЗ 100 грамм так удобно переводить куда угодно, абсолютно точно взвешивать на весах, и во всех БЖК программах удобно вводить СВОЮ порцию.


    1. Valery247500 Автор
      03.09.2026 19:21

      Нейрослоп так нейрослоп, спорить не буду.

      По сотне граммов вы правы, и это тот аргумент, который я в статье недокрутил. 100 г ведь не только строка на пачке, это единица пересчёта: из неё считается что угодно, хоть своя порция, хоть ложка. Из "2/3 чашки" не считается ничего, пока не полезешь выяснять, сколько это в граммах. Американцы решили проблему выбора порции, но заплатили тем, что цифру нельзя перенести никуда!

      Вопрос в другом: человек у полки вообще что-то пересчитывает? Или смотрит на цвет и идёт дальше?


  1. dinar_007
    03.09.2026 19:21

    Сравнивать продукты внутри категории, по-моему, логичнее, но тут появляется другая проблема. Кетчуп может оказаться "лучше 80% остальных кетчупов" и получить хороший цвет, хотя сахара в нём всё равно объективно много. Я бы, наверное, оставил два уровня оценки: абсолютный порог и положение внутри категории. Тогда можно положа руку на сердце написать что-то вроде "лучше большинства аналогов, но сахара всё ещё много".


    1. Neusser
      03.09.2026 19:21


    1. Valery247500 Автор
      03.09.2026 19:21

      Да, вот это похоже и есть развязка!

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

      Забрал в тикеты, спасибо. Остаётся мелочь: что делать с товарами, у которых категория одна на полмагазина - типа "бакалеи". Внутри такой сравнивать не с чем, там и макароны, и специи, и сахар в одной куче. Резать руками до вменяемых кусков? Или кластеризовать по составу и не мучиться? Боюсь, таких категорий у меня треть базы.


  1. economist75
    03.09.2026 19:21

    Мне отрадно отметить, как автору того самого "замечания" в первой статье, что автор прошел большой путь рассуждений и идеи в продукте быстро эволюционировали до черты, с которой и начинается state-of-the-art. Ответов на озвученные вопросы у меня тоже нет. Но есть пара мыслей.

    Вред еды резко вырастает после превышения бесконечного множества сочетаний MAX-пороговых значений сахара, соли, триглицеридов (и вообще жиров), канцерогенов итп. Чаще всего банальное переедание его дает. Если чел берет слишком много скоропорта без повода - он однозначно переест и получит вред. К примеру три бездумно купленных готовых 1 кг салата в одно лицо, купленные в пятницу - вред гарантирован. Не помешает простой объемный контроль.

    Также нужна удачная форма хранения типичных сочетаний вредных порогов (список словарей). И вот тут почему-то лезут аналогии из металлургии. Сталь - твердый раствор углерода в железе. Но на прочность, хрупкость, жаропрочность, свариваемость, корр. стойкость итд - разнонаправленно (вред/польза) влияют еще около 20 элементов Табл. Д.И. Менделеева (точный по-элементный состав легко видно на спектрометре). У вредных элементов есть гостовские пороги (если превышен - то это брак, в переплавку). Часть стали делается из лома, прошедшего десятки переплавок, в нем намешано что угодно (по сути это куча мусора), поэтому нередко вредности идут по "верхней грани".

    Но металлурги давно обнаружили простое правило: если из 10-ти вредных элементов близко к MAX-порогу любые 4 - то это тоже по сути брак, который не обязательно, но все же стоит кинуть в переплавку с добавлением более чистой, первородной стали или чугуна (более концентрированный твердый раствор углерода в железа). Там все сложно, потому что часть вредного во время плавки/рафинирования можно выжечь, а часть нет (только разбавлять).

    Следить за отдельными пределами легко, за их сочетанием - сложно (проще считать до 4-х). Но некоторые металлурги придумали унифицировать вредности и пересчитать медь, алюминий, серу в условное "гуано" и смотреть только на один порог, вместо десятков возможных сочетаний. Что если вредные элементы (в еде это вещества - соль, сахар итд) пересчитать в единый условный вредный фактор? Тогда было бы легко его взять за основу.

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


    1. Neusser
      03.09.2026 19:21

      три бездумно купленных готовых 1 кг салата в одно лицо, купленные в пятницу

      Не может солдат столько брюквы съесть!


      1. economist75
        03.09.2026 19:21

        Брюквы - да, не съест, она дешёвая и не вкусная абсолютно. Сравнивать ее с готовыми салатами - манипуляция. Так что классика упомянута всуе.

        Вообще это теперь тренд - полемизировать без шанса адекватного продолжения хоть сколько-нибудь доказательно.

        Объемный контроль калоража еды - это базовый ЗОЖ. Не считать объем при покупке, но пускаться во все тяжкие по нутриентам - худшее, что можно сделать в данной ситуации.

        Я уж молчу про то что это ещё легко реализуемо, безо всякого ФСА.

        Но если будет party с неизвестным числом гостей (с/без своего или закруток) - ЗОЖ нужно на три дня просто отключать, а не пытаться имитировать разумный подход. У всего есть свои границы применимости.