Чек-лист покупателя
Софт для медиабаинга в небольшом агентстве: что важно, а что нет
Маленькой команде нужна такая же точность математики, как и большой. Пропустить можно инфраструктуру, которую строят ради десятков рынков, юрлиц и уровней согласования.
Короткий ответ — четыре вещи: расчётное ядро, которое работает в обе стороны, измерительные данные в полном разрешении, сверка плана с эфиром и зафиксированный отчёт, который клиент может открыть. Энтерпрайз-пакеты добавляют права доступа по рынкам, финансовые интеграции по множеству юрлиц, иерархии согласований, матрицы ролей и аудиторские следы для закупок. Это решает масштаб. Арифметику это точнее не делает.
Арифметику можно проверить за полдня. И это важно, потому что ошибка примерно в 3% не остаётся внутри программы — она уезжает в питч, в размещение или в post-buy.
1. Начните с расчёта, который можно доказать
Скидки продавца перемножаются. Объёмная скидка 20%, а следом скидка за обязательство 10% дают:
1 − (0,80 × 0,90) = 28%, а не 30%
Скидки сложены: CPP 100 × 0,70 = 70 → 1,428,6 TRP.
Скидки перемножены: CPP 100 × 0,72 = 72 → 1,388,9 TRP.
Разрыв — 39,7 TRP, около 2,8% доставленного объёма.
Это не вопрос округления. Вторая скидка применяется к остатку после первой, поэтому сложение даёт скидку дважды на одну и ту же часть.
Попросите показать все четыре множителя со значениями внутри. Одно поле «net CPP» аудит не переживёт. CPP — плановый прокси, а не данные о реальной цене сделки; им нельзя подтвердить ни фактические расходы, ни экономию, ни ROI.
У доказательства должны быть эталон и допуск. Наше ядро расходится с агентской эталонной моделью меньше чем на 0,01%. Около 750 бэкенд- и 2,100 фронтенд-тестов — почти 2,850 проверок — не дают формулам «уплыть» между релизами. «Отраслевая математика» без воспроизводимого сравнения доказательством не является.
2. Одно ядро должно считать в обе стороны
Байер слышит оба вопроса: «У нас 90,000 — что это даст?» и «Нам нужно 1,200 TRP — какой это бюджет?». Это два прогона одного ядра в разные стороны, а не две разные модели.
Связь бюджета и скидки замкнута в круг. Больший заявленный бюджет открывает порог; порог снижает CPP; более низкий CPP меняет бюджет. Движок обязан итерировать, пока бюджет и порог не сойдутся. Если результат колеблется между соседними порогами, взять больший бюджет — консервативное правило на стороне покупателя: так вы не зарезервируете меньше, чем может потребовать выбранный порог.
3. Проверьте поля, которые пересчитывают всю сделку
Надбавка за прайм-тайм обычно применяется ко всей сделке, а не только к прайм-инвентарю. Если вписать 15%, считая, что они касаются трети роликов, сделка подорожает сильнее, чем вы ждёте. Решает договор; интерфейс обязан показывать точку применения.
Офф-прайм задаётся долей денег. Введённые 40% описывают бюджет, а не ролики и не рейтинги. Долей рейтингов это становится только после того, как движок применит отдельную офф-прайм скидку и аффинити дейпарта.
Аффинити связывает целевые и общие рейтинги: wGRP = wTRP ÷ (аффинити / 100). При аффинити 200 из 400 wTRP получается 200 wGRP. Длительность тоже меняет вес: 30 секунд — это 1,0; более короткие ролики идут с меньшими коэффициентами продавца.
4. Флайтинг должен экономить труд, а не решения
В году 52 недельные ячейки, но стратегический выбор — это форма и интенсивность. Библиотека из 17 шаблонов — среди них Flat, Front-Loaded, Mid-Peak и Crescendo — вместе с 5 уровнями интенсивности от 0,5 до 1,7 укладывает план в два решения и оставляет его защитимым.
Формы здесь не украшение. Работы Бродбента по adstock ставят затухание для FMCG около 2,5 недель, поэтому пауза в четыре недели — это не «ровно вдвое хуже» паузы в две. STAS Джонса даёт непропорционально большой вес контакту, ближайшему к покупке. Бинет и Филд объясняют, почему долгосрочный бюджет — не праздные деньги. Софт должен структурировать такие решения, не делая вид, что принимает их сам.
5. Сырые данные панели и текстовый экспорт — не одно и то же
Сырые файлы поставки панели несут точный возраст респондентов от 4 до 65. Текстовый экспорт несёт возрастные группы с номерами от 1 до 5. Собрать из них стандартные аудитории 18–49 или 25–54 невозможно. Это ограничение экспорта, а не измерителя.
- Агрегация за несколько дней должна взвешиваться по in-tab юниверсу каждого дня, а не считаться простым средним из процентов.
- Охват и частоту нужно считать на индивидуальном уровне, а не выводить из агрегированных рейтингов. Наш референс юниверса — 2,295,613 человек.
- Повторная загрузка должна быть идемпотентной. Хеш SHA-256 позволяет пропустить идентичный файл; исправленный файл удаляет и заменяет старые строки, а не плодит тихие дубли.
Наша проверка точности воспроизводит официальную таблицу аудитории на уровне ячеек: из 60,858 ячеек все 21,548 ненулевых совпадают в пределах 0,5 человека — это допуск, который создаёт публикация в целых людях, — по 17 срезам из 17. Аккуратная формулировка звучит так: «мы воспроизводим числа измерителя», а не «у нас есть сертификация».
6. «Ролик вышел» — это ещё не вывод post-buy
Даже команде из пяти человек нужна сверка на уровне роликов. Каждый вышедший ролик должен получить ровно один взаимоисключающий статус. У нас их семь: matched, out_of_flight, unplanned_channel, out_of_week, out_of_daypart, wrong_length, no_lines.
Именно взаимоисключение делает результат рабочим. «87% matched, 6% wrong_length, 4% out_of_daypart» — это готовый разговор с продавцом. «В основном всё вышло» — не разговор.
Что небольшое агентство может пропустить
Вам, скорее всего, не нужны модели прав доступа по нескольким рынкам, SSO с матрицей из 40 ролей, интеграции с ERP и биллингом, валютные операции по десятку юрлиц и полугодовая программа внедрения. Это честные функции масштаба, а не функции точности.
Так же осторожно относитесь к автономному ИИ-планированию. Прогнозирование и автономная оптимизация у нас в роадмапе, а не в проде. Любой вендор, который показывает их как живые, должен уметь запустить их на ваших данных прямо сейчас.
И отказывайтесь от тихих дефолтов. Если обязательного ввода нет, расчёт должен остановиться и назвать поле. Активные месяцы должны браться из фактически доставленных TRP, а не из вручную отмеченного месяца. TV Budgeting следует этому правилу и держит двустороннюю цепочку CPP на виду. Сырая панель сейчас покрывает один рынок — Молдову.
Тест из пяти пунктов на живом демо
- Введите скидки 20% и 10%. Если получилось 30% — дальше можно не смотреть.
- Спросите, к чему применяется надбавка за прайм-тайм: только к прайму или ко всей сделке.
- Соберите 25–54. Если ответ опирается на возрастные группы, источник — текстовый экспорт.
- Удалите обязательный ввод. Инструмент должен громко упасть и назвать недостающее поле.
- Запросите таксономию post-buy. Посчитайте статусы и убедитесь, что они не пересекаются.
Пять проверок укладываются в час живого демо. Полный параллельный прогон — ваша последняя кампания, спланированная и разобранная post-buy и в текущем процессе, и в кандидате — занимает день и говорит больше, чем RFP.
FAQ
Хватит ли небольшому агентству таблицы?
Посчитать ту же математику она может. Настоящая проверка в другом: централизована ли эта математика, есть ли у неё версии, можно ли её проверить и воспроизвести не одному человеку.
Нужны ли нам сырые файлы измерителя?
Не для каждой суммы по каналу, но да — для точных демографических срезов вроде 18–49 и 25–54, для охвата и частоты на индивидуальном уровне и для защитимого post-buy.
Значит ли более дешёвый инструмент более слабую математику?
Нет. Цена чаще отражает инфраструктуру масштаба и услуги. Перемножение скидок, обратный расчёт и анализ аудитории на индивидуальном уровне — инженерные решения, а не премиум-тариф.
Сколько должна занимать оценка?
Пять живых проверок — меньше часа. Параллельный прогон на завершённой кампании — примерно день.
А что с прогнозированием и автоматической оптимизацией?
Каждое такое заявление превращайте в просьбу запустить это на ваших данных. У нас эти возможности пока остаются в роадмапе.
Ровно эту математику считает за вас TV Budgeting — в обе стороны, TRP → бюджет и бюджет → TRP, с итерацией порогов скидок.
Запросить демо →