Baseline промо: как посчитать честную базу и не подогнать ROI
Ян Пиркулыев, B2B Consulting · Опубликовано · Обновлено

Что вы узнаете
- Почему baseline нельзя измерить и что из этого следует
- Как ошибка базы на 10% переворачивает знак ROI акции
- Какой период брать за базу и как очистить его от сезона и чужих акций
- Пять способов построить базу: от среднего до контрольных магазинов
- Как за пять минут проверить базу, которую принёс другой отдел
20 минут на чтение, один пересчёт прошлой акции на практике. Сэкономит: спор на совещании о том, чья цифра правильная
Спор о результатах акции почти всегда оказывается спором об одной величине, которую никто не видел. Честную базу строят по непромотируемым неделям с поправкой на сезон и тренд, вычищают праздники, чужие акции и дни без товара, а метод фиксируют до запуска акции. Если есть продажи по магазинам, точнее сравнить с контрольными магазинами, где акции не было. Отгрузку можно посмотреть в 1С, скидку - в договоре с сетью, маржу - в себестоимости. А вот сколько вы продали бы, если бы акции не было, не знает никто. Эту величину зовут baseline, и она задаёт всё: инкремент считается от неё, ROI считается от инкремента.
Что такое baseline и почему его нельзя измерить?
Определение вендоров данных звучит одинаково. Circana, бывшая IRI, формулирует так:
«Базовые продажи - это оценка того, какими были бы продажи, если бы промо-механик не было.»
Circana, Liquid Data Go CPG Dictionary, перевод редакции ФАКТCircana
Ключевое слово здесь - оценка. NielsenIQ определяет промо-лифт через ожидание: «доля промо-продаж, которая является инкрементальной, то есть сверх того, что ожидалось продать на данной неделе» (перевод редакции) ФАКТNielsenIQ. Ожидалось - значит кто-то это ожидание построил.
Разница между baseline и остальными числами акции принципиальная. Отгрузка - факт, она случилась. Скидка - факт, она записана в контракте. База - контрфактическое утверждение о мире, которого не существует: в нём вы не запускали акцию и продавали как обычно. Такой мир нельзя открыть и посмотреть, что там на полке.
У этого есть практическое следствие. Когда финансовый директор говорит «покажите, из чего сложился ваш инкремент», он на самом деле спрашивает: какой моделью вы построили несуществующий мир и почему ей стоит верить. У человека, который принёс базу, ответ обычно есть. У человека, который принёс её из соседней вкладки Excel, ответа нет.
Роли собирательные: за каждой стоит обобщённый портрет по отраслевым источникам. Финансовый директор описывает отношение к чужой базе прямо:
«Baseline берётся из их головы, из прошлого периода, я его перепроверить не могу. Их baseline я делю на два в уме.»
Финансовый директор, собирательная роль
Так выглядит цена непрозрачной базы: цифра приходит, а доверия к ней нет.
Почему ошибка в базе бьёт по ROI сильнее, чем кажется?
На условном примере возьмём две акции одного товара, сильную и пограничную [расчёт редакции]. Маржа - 20 ₽ с единицы по цене вне акции. Для простоты у обеих акций одна полная стоимость - 3 000 ₽, в неё уже входят скидка на весь промо-объём и остальные затраты, поэтому второй раз из маржи скидку не вычитаем. База - 1 000 штук в неделю. Посмотрим, что делает с выводом занижение базы на 10%, до 900 штук.
| Акция | База | Инкремент | Инкрементальная маржа | ROI акции | Вывод |
|---|---|---|---|---|---|
| Сильная, продали 1 600 шт | честная, 1 000 | 600 шт | 12 000 ₽ | +300% | запускать |
| Сильная, продали 1 600 шт | занижена, 900 | 700 шт | 14 000 ₽ | +367% | запускать |
| Пограничная, продали 1 100 шт | честная, 1 000 | 100 шт | 2 000 ₽ | -33% | убыток |
| Пограничная, продали 1 100 шт | занижена, 900 | 200 шт | 4 000 ₽ | +33% | прибыль |
На сильной акции ошибка базы косметическая: 300% против 367%, решение не меняется. На пограничной та же самая ошибка удваивает инкремент и переворачивает знак: акция, которая на честной базе съела 1 000 ₽, на заниженной приносит 1 000 ₽ прибыли. Стоимость акции от базы не зависит, меняется только инкремент. Занижение базы - лишь один из семи способов получить неверный ROI; остальные шесть и полный пересчёт на числах разобраны отдельно, в статье о ROI промо.
Яркие акции видно и без расчёта, они себя защищают сами. Решения принимаются на границе: повторять эту механику или свернуть, углублять скидку или держать. И ровно на границе цена ошибки в базе максимальна, потому что чем меньше истинный инкремент, тем большую его долю составляет ошибка. Чем скромнее реальный эффект акции, тем аккуратнее надо строить базу.
Какой период брать за базу?
«Baseline - это моя головная боль, я его строю руками из sell-out прошлых периодов, и он всегда немного спорный, потому что а какой период брать за базу, а там конкурент параллельно акцию крутил, а был сезон.»
Директор по трейд-маркетингу, собирательная роль
Простейший ответ - среднее за четыре недели до акции - встречается чаще прочих и подводит чаще прочих. У него две встроенные болезни.
Первая: перед объявленной акцией продажи проседают. Покупатель, который знает про скидку со следующей недели, откладывает покупку. Это называют pre-promotion dip. Если взять базой недели с этим провалом, база окажется ниже нормального уровня, а лифт автоматически раздуется.
Вторая: в предпромо-периоде запросто сидит чужая акция. Конкурент крутил скидку, ваши продажи просели, и вы записываете этот провал себе в базу.
Как это делают вендоры данных, известно. Аналитик Салли Мартин, автор профильного блога CPG Data Insights, описывает подход Nielsen и Circana так:
«Упрощённо, оба используют скользящее среднее по прошлым непромотируемым неделям.»
Салли Мартин, CPG Data Insights, перевод редакции ФАКТCPG Data Insights
Три отличия от «среднего за месяц до акции» здесь важнее всего. Берутся именно непромотируемые недели, а не соседние. Свежие недели получают больший вес, потому что рынок дрейфует. И к результату применяется поправка на тренд и сезонность, а кросс-секционная поправка считается по динамике того же продукта в магазинах, где акции не было ФАКТNielsenIQ.
По длине окна ориентир такой: чем длиннее ряд непромо-недель, тем устойчивее база, но тем выше риск, что в неё войдёт устаревший уровень спроса. Разумный компромисс - несколько месяцев истории с убывающим весом, а не четыре соседние недели.
Как очистить базу от сезона, праздников и чужих акций?
«Беру baseline - это отдельная история, я его тяну из выгрузки продаж за предыдущие недели, руками причёсываю, потому что там то праздники были, то другая акция сидела и baseline грязный.»
Аналитик трейд-маркетинга, собирательная роль
Выгрузку в базу превращают пять проходов.
- Убрать свои промо-недели. Любая неделя, где по этому SKU шла акция, из базы исключается целиком. Это очевидно и делается почти всегда.
- Убрать хвост после своих акций. После промо идёт провал: покупатель закупился впрок и месяц не приходит. Если оставить эти недели в базе, база просядет, а следующая акция получит незаслуженно красивый лифт. Ориентир - исключать или взвешивать вниз две-четыре недели после окончания промо ГИПОТЕЗА.
- Пометить праздники и сезон. Новый год, гендерные праздники, начало учебного года, жара для напитков и мороженого. Такие недели либо исключаются, либо получают сезонный коэффициент, посчитанный по нескольким годам. Иначе весь сезонный подъём запишется в заслугу акции.
- Вычистить недели с чужими акциями и с отсутствием товара. Промо конкурента давит ваши продажи вниз, out-of-stock обнуляет их вовсе. И то, и другое искусственно занижает базу, а значит завышает ваш будущий лифт.
- Проверить остаток на однородность. Если после очистки в ряду осталось три недели, база построена на песке. Значит, окно надо расширять и брать историю глубже.
«Baseline я взяла из истории, а там могла сидеть другая акция или сезонность. Отделить эффект моей акции от рынка и от параллельных промо - это почти невозможно руками.»
Аналитик трейд-маркетинга, собирательная роль
Это честная оценка. Пять проходов по одному товару в одной сети делаются за вечер. Те же проходы по трёмстам позициям в восьми сетях руками не делаются никогда, и потому база во многих компаниях остаётся сырой.
Чем строже метод расчёта базы, тем больше данных он требует
Метод выбирают по одному признаку: есть ли у вас продажи на уровне магазина. Сравнение в таблице.
| Метод | Как строит базу | Что нужно | Где ломается |
|---|---|---|---|
| Среднее до акции | Среднее продаж за N недель перед промо | Только свой sell-out | Систематически завышает лифт: тянет в базу pre-promotion dip, чужие акции и сезон |
| Скользящее среднее непромо-недель | Сглаженное среднее недель без промо, свежие весомее, поправка на тренд и сезон | Длинные ряды продаж по SKU | База «дышит»: даже без акции инкремент не равен нулю. Ломается при длинных сериях промо и при out-of-stock |
| Регрессия и эконометрика | База и лифт оцениваются коэффициентами модели с учётом цены, дистрибуции, сезона, конкурентов | Богатые данные, аккуратная спецификация | Чувствительна к спецификации: при коррелированных драйверах эффекты смешиваются |
| Контрольные магазины (test/control) | Лифт = разница между магазинами с акцией и похожими магазинами без неё | Продажи на уровне магазина | Требует баланса групп до теста; систематические различия смещают оценку |
| Синтетический контроль | Контроль собирается как взвешенная комбинация магазинов без акции | Много магазинов-доноров | Зависит от качества доноров; сложнее объяснить бизнесу |
Крупные вендоры данных считают базу и более сложными статистическими моделями. На вопрос честности базы это не отвечает: сложная модель лишь переносит допущения внутрь себя, где их труднее увидеть.
База, построенная на непромотируемых неделях или магазинах, честнее базы, построенной на соседних неделях. Первая отвечает на вопрос «как продаётся товар, когда его не трогают». Вторая отвечает на вопрос «что было прямо перед тем, как мы дали скидку», и это разные вопросы.
Отдельную неприятность скользящей базы описывает та же Салли Мартин:
«В непромотируемые недели инкрементальный объём не равен нулю. Это фактический объём минус базовый, то есть некое положительное или отрицательное число.»
Салли Мартин, CPG Data Insights, перевод редакции ФАКТCPG Data Insights
База шумит. Если в спокойную неделю без всякой акции модель показывает инкремент плюс-минус несколько процентов, это нормальный шум, а не открытие. Полезный побочный тест: посмотрите, что ваша модель базы говорит про непромо-недели. Если инкремент там систематически положительный, база смещена вниз, и все ваши лифты завышены.
Почему контрольные магазины честнее истории?
Историческая база отвечает на вопрос «сколько мы продавали раньше». Контрольная - на вопрос «сколько продали за эти же дни там, где акции не было». Второй вопрос ближе к тому, что нам нужно.
Механика простая. Берутся магазины, где акция идёт, и похожие магазины, где её нет. Похожие означает сопоставимые по обороту, формату, географии и уровню продаж до теста. Лифт считается как разница между группами за одни и те же недели. Всё, что повлияло на обе группы сразу (сезон, погода, общий тренд категории, промо конкурента федерального масштаба), вычитается само собой.
Если группы отличаются по уровню, но движутся параллельно, применяют разность разностей: считают изменение «после минус до» в тесте и вычитают такое же изменение в контроле. Метод снимает постоянный сдвиг между группами, но требует, чтобы до теста тренды шли параллельно.
Полевой тест можно собрать, например, так: несколько десятков тестовых и столько же контрольных магазинов, четыре недели наблюдения до промо, две-четыре недели самой акции и четыре-восемь недель после, чтобы поймать провал ГИПОТЕЗА. Это наш ориентир, а не стандарт: конкретные цифры зависят от категории и от того, сколько магазинов вы можете позволить себе оставить без акции.
Что мешает так делать. Нужны продажи на уровне магазина, а не сводные отгрузки в сеть. У многих производителей их нет, а у тех, у кого есть, они лежат в выгрузках разного формата.
«Нужен нормальный test/control на сопоставимых магазинах, а я это руками в Excel не сделаю.»
Директор по трейд-маркетингу, собирательная роль
Почему базу строят на sell-out, а не на sell-in?
Вы дали сети промо-условия. Сеть заказала не столько, сколько продаст за две недели акции, а столько, сколько выгодно взять по этой цене. Часть объёма уедет на распродажу в следующем месяце уже по обычной цене, часть будет лежать на складе. Ваш sell-in показывает рекорд. Полка при этом продаёт ровно столько, сколько продаёт.
Дальше происходит арифметическая беда. Если базу вы строили тоже на отгрузках, она унаследовала все прошлые закупки впрок и все прошлые провалы после них. База получается пилообразной, и в зависимости от того, какие недели попали в окно, она гуляет вверх и вниз безо всякой связи со спросом.
Признак того, что вы смотрите не туда, простой: сравните динамику отгрузок и полочных продаж за квартал. Если sell-in устойчиво выше sell-out, у вас растёт сток, а с ним - риск списаний и будущих возвратов. Эффект акции при этом уже зачтён, а расплата за него придёт позже.
Минимальный набор данных, без которого расчёт получится красивым и неверным, перечислен в статье «Почему 59% промо в FMCG убыточны».
Сколько в подъёме продаж настоящего нового спроса?
По Ван Хеерде и соавторам прирост в акцию примерно поровну делится на переключение с других брендов, перенос во времени и рост категории ФАКТMarketing Science, 2004. Для базы важна треть, перенесённая во времени: её не видно в неделях акции, и без окна после промо она запишется в прирост. Разбор всех трёх частей - в статье об инкрементальном uplift.
Семь способов подогнать базу (и как их узнать)
Коммерческий директор описывает, как это выглядит на совещании:
«Маркетинг берёт период подлиннее и baseline пониже - тогда uplift красивый. Я беру честный baseline - и uplift скромнее. Отсюда половина споров.»
Коммерческий директор, собирательная роль
Каждая сторона при этом права. Обе считают по-своему, и обе получают технически верное число.
| # | Что делают с базой | Куда сдвигает результат | Как узнать |
|---|---|---|---|
| 1 | Базой берут провальный период перед акцией | Лифт раздут | Спросить, входили ли в окно недели с pre-promotion dip |
| 2 | Не учитывают сезонность и тренд | Сезонный подъём записан в заслугу акции | Сравнить базу с тем же периодом прошлого года |
| 3 | Считают инкремент только по промотируемому SKU | Каннибализация соседних товаров не вычтена | Посмотреть продажи соседних SKU бренда за те же недели |
| 4 | Окно оценки равно неделям акции | Провал после промо не попал в расчёт | Продлить окно на четыре-восемь недель после |
| 5 | Считают на sell-in | Закупка впрок зачтена как спрос | Сверить с sell-out и остатками на складе сети |
| 6 | Игнорируют halo-эффект | ROI занижен: акция подтянула смежные категории | Проверить продажи комплементарных товаров |
| 7 | Двигают границы окна, пока цифра не понравится | Любой заданный результат | Попросить показать, как менялся лифт при других окнах |
Шестой пункт стоит особняком: он один сдвигает результат против акции, а не в её пользу. Поэтому его редко «эксплуатируют», зато часто забывают. Честная база ошибается в обе стороны, и хорошая проверка ищет обе.
Седьмой - тоньше остальных. База «дышит» сама по себе, и аналитик, двигая окно на две недели туда-сюда, получает несколько разных, каждый раз обоснованных чисел. Защита от этого одна: метод фиксируется до того, как посчитан результат.
Как проверить чужой baseline за пять минут?
Финансовый директор, который «делит baseline на два в уме», делает это не со зла: способа проверить у него просто нет. Способ есть, и он не требует пересчёта.
- Из каких недель построена база? Ответ «за месяц до акции» означает, что в базу почти наверняка попали pre-promotion dip и чужие акции. Ответ «по непромотируемым неделям за полгода с большим весом свежих» означает, что человек знает, что делает.
- Как учтён сезон? Если ответ «никак», а акция стояла в декабре или в жару, лифт завышен на величину сезона.
- Какое окно оценки? Если окно равно неделям акции, провал после промо не учтён, и инкремент завышен.
- Вычитали ли каннибализацию соседних SKU? Если инкремент считался только по промотируемой позиции, часть его отобрана у ваших же товаров.
- Считали на sell-out или на sell-in? На отгрузке лифт включает закупку впрок.
И один тест, который делается без участия автора базы: посмотрите, что модель показывает в спокойные недели без акций. Инкремент там должен колебаться вокруг нуля. Если он устойчиво положительный, база систематически занижена, а значит, все лифты в отчётах завышены на ту же величину.
«Baseline с uplift считаются прозрачно, чтобы я могла ткнуть в цифру и увидеть, из чего она сложилась, а не верить чёрному ящику.»
Аналитик трейд-маркетинга, собирательная роль
Прозрачность здесь работает как условие доверия. Базу, которую нельзя разобрать, финансы не примут, и правильно сделают.
Почему единый метод базы - это договорённость, а не функция софта
«Baseline и атрибуция принципиально спорные, и это не софт придумает за меня честную базу, это методологический вопрос, по которому у отделов конфликт интересов.»
Директор по маркетингу, собирательная роль
Никакая система не знает, сколько бы вы продали без акции. Она умеет посчитать базу выбранным методом, показать допущения и не дать двигать окно задним числом. Выбрать метод и признать его общим для всех отделов должны люди.
Как выглядит договорённость, которая работает:
- один метод базы для всех отделов и всех категорий, записанный в документ;
- фиксированное окно оценки, включающее недели после акции;
- правило вычета каннибализации соседних SKU;
- источник данных - полочные продажи, а не отгрузки;
- запрет менять метод постфактум: сначала посчитали, потом смотрим результат.
«Пока нет единой согласованной модели данных, где baseline, sell-out и маржа считаются по одной методике, каждый будет тянуть одеяло на свою цифру.»
Финансовый директор, собирательная роль
Как эта договорённость превращается в пред-промо расчёт с порогом go/no-go, разобрано в статье «Почему 59% промо в FMCG убыточны»: честная база там - первый из пяти шагов.
С чего начать
- Возьмите одну недавнюю акцию и постройте базу заново: только непромо-недели, поправка на сезон, окно оценки с хвостом четыре-восемь недель после промо, вычет продаж соседних SKU бренда.
- Сравните с тем, что ушло в отчёт. Если новая цифра ниже прежней на десятки процентов, никакая это не ошибка расчёта: именно столько стоила вам прежняя методика.
- Зафиксируйте метод письменно и договоритесь, что следующая акция считается по нему до запуска, а не после.
Первый шаг обычно и оказывается самым тяжёлым: данные лежат в разных выгрузках, артикулы у сети и у вас называются по-разному, а на очистку одной категории уходит вечер. Это ровно та работа, которую мы берём на себя в разборе прошлых промо: под NDA восстанавливаем честную базу на ваших прошлых акциях и показываем разницу с отчётной цифрой.
Источники
- Circana (бывш. IRI), Liquid Data Go CPG Dictionary: Base Sales - определение базовых продаж.
- NielsenIQ, CPG Dictionary: Promotional Lift - определение промо-лифта и метод базы.
- Van Heerde, Leeflang, Wittink, «Decomposing the Sales Promotion Bump with Store Data», Marketing Science, 2004 - три компоненты подъёма.
- Sally Martin, CPG Data Insights: Incremental Volume Unveiled - как вендоры строят базу и почему она «дышит».
Базовый объём - это вторая строка отчёта по акции; как устроены остальные четырнадцать, разобрано в статье про промо-P&L акции.
База - это та цифра, которую никто не видел, но по которой все спорят. Пересчитайте одну прошлую акцию по честной базе, и разница с отчётной цифрой покажет, во сколько обходилась прежняя методика.