2026 Кейс ~8 мин чтения Ценообразование · Метод Нулевые модели · Монетизация · A/B-скепсис

Расчёты на кафешной салфетке

Меню кофейни с ценами 482, 591, 631 выглядит так, будто за ним стоит скрытая формула. Я потратил вечер, чтобы её найти — и главный результат в том, что её нет.

Коллеги из Москвы дразнят, что в провинции ничего толком нет, а что есть — дорого. Повод был кофейный: неровные, будто нарочно кривые цены. Не 499, не 590 — а 482, 591, 631. Первая мысль любого, кто зарабатывает на жизнь анализом: за этим прячется система. Кто-то умный вывел базовую цену и умножил на коэффициент. Разгадать бы его — и весь прайс раскроется как на ладони.

Эта первая мысль почти всегда и есть ловушка. Кейс — про то, как её распознать: не на LLM и не на A/B-платформе, а на восьми ламинированных листах, где всё видно невооружённым глазом и оттого особенно поучительно.

01 — Соблазн

Скрытый множитель, которого хочется

Наблюдение

Шесть цен с одного листа: 482, 482, 591, 631, 482, 161. Если предположить, что каждая — это круглая база, умноженная на общий коэффициент наценки, то задача сводится к подбору одного числа.

Я перебрал коэффициент по сетке. При k ≈ 1.341 базы получаются 360, 360, 440, 470, 360, 120 — все кратны десяти, максимальное отклонение 0.16%. Выглядит как разоблачение: нашли наценку в 34%, приклеенную к идеально круглому внутреннему прайсу.

цена = база × k,  k ≈ 1.341
6 точек · max отклонение 0.16% от кратного 10
Стоп-вопрос. Если из шести цен выводится одна константа с ошибкой в десятые доли процента — это находка или совпадение, которое я принял за находку?

Проверка занимает две строки. Гипотезу нужно столкнуть с нулевой моделью: а насколько хорошо тот же «скрытый множитель» описывает случайный прайс того же диапазона? Я взял все 65 позиций меню (честный размер выборки, а не шесть удобных точек) и прогнал ту же процедуру против тысячи случайных прайсов.

Результат

На полном наборе лучший коэффициент описывает реальное меню не лучше, чем случайные цены: p = 0.43. Красивый k=1.341 родился из четырёх точек и одного свободного параметра — это не закон, это подгонка на салфетке. Гипотеза мертва.

02 — Что выжило

Настоящий сигнал прячется в последней цифре

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

ожидалось ≈6.5 18 0 1 2 3 4 5 6 7 8 9 последняя цифра цены
Последняя цифра 65 цен. Цифра «1» — 18 из 65 (28%) при ожидаемых 10%. χ²=41.9, p=3.4·10⁻⁶: равномерность отвергается уверенно.

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

Доказательство лежит прямо на меню, шариковой ручкой:

Три правки маркером — все вниз

555 → 471  ·  572 → 472  ·  554 → 454.
Две из трёх — ровно на сто рублей. Все на самых заметных пищевых листах. Это не дизайн-решение, это операционка: кто-то сидит и признаёт своей рукой, что переоценил готовность платить.

03 — Как кофейни на самом деле продают

Внимание, маржа и цена как поза

Второй тезис москвичей — «дорого» — проверить строго нельзя: чеков нет. Но восемь листов в определённом порядке — это гипотеза самого заведения о том, как убывает внимание. Кто долистает до восьмого листа? Значит, что стоит впереди, то и ставят на поток. Посмотрим, куда что положено.

534 571 525 560 318 322 304 315 1 2 3 4 5 6 7 8 лист меню (глубже → меньше внимания) еда напитки
Средняя цена по листам. Дорогая еда (534–571 ₽) — впереди, в зоне внимания. Напитки (304–322 ₽) — на задних листах, куда при разумном затухании попадает ~6–19% просмотров.

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

Ошибка №1: оптимизировать цену вместо маржи

Если пересортировать листы строго по убыванию цены, «взвешенная вниманием» средняя растёт всего на 3–12% (зависит от того, насколько круто падает внимание; +9% при среднем приоре) — и то это потолок. По цене раскладка почти оптимальна. Но цена — не маржа. Кофе за 259 ₽ — это себестоимость рублей сорок и маржа под 85%. Завтрак за 978 ₽ — хорошо если 30%. «Дешёвые» задние листы, скорее всего, самые прибыльные на единицу — и именно они зарыты там, где никто не листает. Спасает заведение лишь то, что кофе — покупка-цель: за ним приходят и заказывают на любом листе.

Ошибка №2: путать заявленный спрос с настоящим

Меню выдаёт, во что заведение верит про свой спрос. Яичница за 454 ₽ несёт девять платных добавок — до 1839 ₽ сверху. Хашбрауны — пять. Никто не вешает столько апселла на блюдо, которое не считает рабочей лошадкой. Десять бейджей «NEW!» сгруппированы там, куда толкают внимание. А летние напитки стоят ровно 316 ₽ впятером при разных объёмах — это не расчёт себестоимости, это единый якорь на раздел.

Наполовину использованный рычаг: позиция внутри раздела

Дорогое вынесено вперёд по листам — но не внутри раздела. Корреляция между позицией блюда в своём разделе и его ценой = −0.05, то есть ноль: верх раздела и низ раздела стоят одинаково. Классический gaze-cascade (верх раздела читают чаще) не задействован. Заведение фронт-лоадит внимание на уровне листов и забывает про него на уровне строк.

Средний чек: симуляция, а не гадание

Чеков у меня нет, поэтому среднего чека тоже нет. Но есть модель. Собираю заказ из 65 позиций как «одно блюдо + напиток + добавки», где вероятность выбора пропорциональна вниманию (лист × позиция), добавки цепляются независимо. Двадцать тысяч прогонов — и распределение чека, честно помеченное как модель на заявленном спросе, не измерение.

средний чек ≈ 757 ₽ 150 750 1350 чек за заказ, ₽ (20 000 прогонов)
Смоделированное распределение чека. Средний ≈ 757 ₽, медиана 785 ₽, p90 ≈ 1000 ₽. Форма — заявленный спрос, а не измеренный.

А теперь ради чего всё затевалось. Прогоняю модель под разными рычагами и смотрю, что реально двигает чек. Ответ отрезвляющий для всех, кто носится с ценовой психологией:

Заказ напитка Attach добавок Ширина апселла +265 ₽ +54 ₽ +36 ₽ полный размах контрола двигает средний чек
Заказ напитка двигает чек в разы сильнее всего остального: +265 ₽ против +54 у attach добавок и +36 у расширения апселла. Кофе — 85% маржи. Вся игра в том, закажет ли гость напиток — не в раскладке и не в психологии цифр, которая на чек не влияет вовсе.

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

04 — Так зачем всё-таки неровные цены

Точная цена — это сигнал, а не расчёт

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

Charm-цена — та, что кончается на 9 (499, 590). Она эксплуатирует left-digit effect (Thomas & Morwitz, 2005): взгляд цепляется за левую цифру, и 499 кодируется как «четыреста с чем-то», ощущается сильно дешевле пятисот. Сигнал: скидка, масс-маркет, экономия.

Точная цена — специфичная, некруглая, но не подогнанная под порог (471, 316, 631). За ней стоит price precision effect (Thomas, Simon & Kadiyali, 2010): точные цены воспринимаются меньше круглых того же порядка, потому что крупные суммы обычно круглые, а мелкие — точные, и мозг достраивает «точное = небольшое». Плюс точность сама по себе сигналит расчёт, аккуратность, ремесло.

Это меню — во втором лагере. Оно кончается на 1, а не на 9. Значит сигнал не «у нас дёшево», а «мы посчитали себестоимость до рубля, мы честные». Неровность тут — не жадность и не небрежность, а заявление о ценностях, зашитое в последнюю цифру.

Оговорка в духе всего разбора: свежие высокомощные предрегистрированные эксперименты (Escher et al., 2026) сравнили именно точные, just-below и круглые цены — и нашли эффекты неубедительными и противоречивыми, предупреждая, что прежние оценки могли быть завышены. Так что это ведущее объяснение стиля, а не доказанный факт про эту кофейню.

Разворот

И вот ирония. Сигнал «мы честно посчитали» — сам по себе тоже приём. Данные показывают, что расчёт себестоимости до рубля наполовину поза: напитки якорятся плоско на 316 ₽, себестоимость там не при чём. То есть точная цена — такое же ценовое искусство, как charm-цена, просто целится в другую аудиторию. 499 говорит «тут выгодно». 471 говорит «тут считают по-честному». Оба — рассказанная цифрой история. Просто вторая продаётся дороже.

Зачем это аналитику монетизации и evals

Одна дисциплина держит весь кейс: не давать уверенный неверный вердикт на чисто выглядящей поверхности. Ровное меню соблазняет ответить «тут скрытая формула» — а честный ответ иногда «воздержаться, данных нет». Ровно эту способность — распознать, когда правильный ход abstain, а не уверенный вердикт — я измеряю у языковых моделей в Blind-Contract Evals. Меню — тот же экзамен на честность, только сдаёт его человек с калькулятором. Про то, как это выглядит в решениях по A/B, — отдельная статья.

Правило в работу

Закономерность реальна, только если переживает нулевую модель. Всё, что её не переживает, — узор, который ты нарисовал сам и принял за чужой замысел.

Чего данные не говорят. Здесь нет ни одного чека, а значит нет настоящих вероятностей продаж. Всё, что сказано выше про «спрос» и «внимание», — это гипотезы, которые заведение заложило в дизайн меню, реконструированные из артефакта. Отличать заложенную веру от измеренного факта — и есть вся суть этого разбора. Датасет из 65 позиций и 23 добавок с разметкой сигналов — открыт.

Если интересно обсудить — напишите в Telegram.

По теме: подход к работе с данными и симулятор среднего чека.

← Все кейсы