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

ТВ-планирование превращает целевой рейтинг в деньги, а затем деньги — обратно в рейтинг. Прямой расчёт: вы знаете нужный охват и хотите узнать его стоимость. Обратный: у вас есть бюджет, и вы хотите знать, сколько рейтинговых пунктов он купит. Оба расчёта опираются на CPP — цену рейтингового пункта на вашей целевой аудитории. Именно в этом числе планы чаще всего тихо ломаются.
Прямой расчёт выглядит тривиально: бюджет = wTRP × CPP. Нужно 1,200 взвешенных целевых рейтинговых пунктов при CPP 100 — получаете 120,000. Арифметика верна. Но почти никогда этого недостаточно, потому что CPP, на который нужно умножать, — не тот CPP, что стоит в прайс-листе.
Что такое цепочка CPP в ТВ-планировании?
CPP — это не входной параметр. В софте для медиапланирования, построенном под эту задачу, это цепочка из четырёх множителей, применяемых в строгом порядке:
У каждого множителя своя ловушка.
| Термин | Что он делает | Где сбивает с толку |
|---|---|---|
| base_cpp30 | Цена одного пункта на 30-секундном ролике | Инвентарь нужно взвесить по длительности до того, как его оценивать |
| seasonality | Период-множитель к базовой цене | Часто держится в чьей-то голове, а не в модели |
| combined_discount | Накопленные скидки продавца | Они перемножаются; при сложении экономия завышается |
| prime_uplift | Наценка, согласованная по сделке | Применяется ко всей сделке, а не только к прайм-части |
base_cpp30 задаёт цену 30-секундного ролика. У остальных хронометражей — свои коэффициенты: 30 секунд стоят на отметке 1.0, более короткие ролики — ниже. 15-секундный ролик не стоит вдвое дешевле и не даёт вдвое меньше охвата, поэтому план обязан взвесить инвентарь по длительности до того, как его оценивать.
Seasonality — это ценовой коэффициент с конкретным числом. Поставьте +15% на месяц высокого спроса — и все цифры дальше по цепочке сдвинутся вместе с ним. Держите его в модели, где это можно проверить.
Скидки продавца складываются или перемножаются?
Перемножаются. Именно здесь чаще всего ломаются планы, собранные вручную:
Скидка за объём 20% и скидка за обязательства 10% дают 28%, а не 30%. При shop list в 100,000 это разница в 2,000: достаточно маленькая, чтобы пройти проверку, и достаточно большая, чтобы проиграть тендер, когда три агентства расходятся в пределах одного процента. Добавьте третью скидку в 5% — сложение обещает 35%; верный ответ — 31.6%. Каждая новая строка расширяет разрыв.
prime_uplift — поле, которое чаще всего понимают неверно. Оно применяется ко всей сделке, а не только к прайм-тайм части. Введите 10%, ожидая, что оно затронет треть ваших пунктов, — а оно переоценивает их все. Так это устроено, потому что именно так наценка согласовывается в сделке, и это поведение остаётся. Но это значит, что поле нуждается в чёткой подписи: планировщик, который решит, что наценка касается только прайма, серьёзно завысит стоимость сделки.
Как целевые пункты соотносятся с общими?
Рейтинг, который вы покупаете, и рейтинг, который продаёт канал, — это разные валюты. Affinity — мост между ними:
Affinity 200 означает, что ваша целевая аудитория смотрит вдвое плотнее, чем население в целом, поэтому 600 целевых пунктов получаются из 300 общих. Affinity 80 работает в обратную сторону — целевая аудитория недопредставлена, и тот же целевой охват съедает больше общего инвентаря.
Сильнее всего это проявляется в делении prime/off-prime. Off-prime задаётся как доля денег, а затем пересчитывается в долю рейтингов через affinity и скидку на off-prime. «40% моих роликов» и «40% моих денег» описывают два разных плана, и только один из них переживёт встречу со счётом.
Почему расчёт бюджет → рейтинг требует итераций?
Потому что бюджет нельзя просто поделить на CPP. CPP зависит от порога скидки, а порог — от заявленного бюджета. Они определяют друг друга.
Получается петля: кандидат на бюджет, определяем порог, пересчитываем эффективный CPP, пересчитываем достижимый объём, пересчитываем бюджет, который этот объём подразумевает, повторяем, пока не сойдётся. Обычно хватает нескольких проходов. Иногда расчёт колеблется между двумя соседними порогами — бюджет оказывается чуть выше границы, открывает более глубокую скидку, опускается чуть ниже границы, теряет её снова. В этом случае мы берём больший бюджет. Это консервативный вариант для покупателя: лучше план, который выйдет чуть дешевле, чем план, которого не хватит.
На всём протяжении расчёта отдельно ведутся два денежных слоя:
- Shop List — бюджет, заявленный продавцу. Именно он задаёт порог скидки.
- Execution — то, что реально потрачено.
Это не одно и то же число, и не должно им быть. Схлопните их в одно поле — и план незаметно потеряет порог, по которому был оценён.
Как распределять пункты по неделям?
Как только объём и деньги сходятся, план нужно разложить по календарю. Вручную вбивать цифры на 52 недели — это ввод данных, а не планирование.
В нашем движке — 17 шаблонов флайтинга — Flat, Front-Loaded, Mid-Peak, Crescendo и другие — с 5 уровнями интенсивности от 0.5 до 1.7. Форма — не украшение. Она следует из исследований того, как накапливается и затухает телевизионное давление: работа Бродбента по adstock оценивает период полураспада в FMCG примерно в 2.5 недели, и именно поэтому фронт-лоуд ведёт себя иначе, чем равномерная подача, при одинаковом суммарном числе пунктов. STAS Джонса о краткосрочной силе рекламы и модель «долгое и короткое» Бине и Филда указывают туда же. Распределение — это рычаг.
Одно следствие стоит проговорить прямо: активные месяцы определяются по фактически поставленным TRP, а не по тому, что планировщик вписал в поле месяца. Месяц с нулём доставленных пунктов не считается активным, что бы ни было написано в заголовке.
Почему вся арифметика должна жить в одном месте
Каждая из перечисленных ошибок сама по себе невелика. 28% вместо 30%. Коэффициент 15-секундного ролика. Наценка, прочитанная как «только прайм». Off-prime, прочитанный как эфирное время. По отдельности это округления. Но, наложенные друг на друга по 18 брендам и кварталу флайтов, именно они отделяют план, который сходится, от плана, который обсуждают три дня.
Именно на это направлено ядро расчётов TV Budgeting: один замороженный движок, оба направления, никакого расхождения между ними. Расхождение с эталонной агентской моделью в Excel — меньше 0.01%, и это удерживают около 750 бэкенд- и 2,100 фронтенд-тестов — почти 3,000 проверок, единственная задача которых — чтобы движок отвечал сегодня так же, как отвечал в прошлом квартале. Там, где наши цифры по аудитории соприкасаются с данными Nielsen, мы воспроизводим цифры Nielsen, а не переинтерпретируем их.
Движок также отказывается гадать. Если не хватает обязательного параметра, он падает с именем этого поля вместо того, чтобы подставить значение по умолчанию. То, что вы видите, — это то, что было рассчитано. Молчаливое значение по умолчанию — это число, которое никто не выбирал, спрятанное внутри числа, под которым кто-то поставит подпись.
Честная оговорка, которая меняет то, как читать всё написанное выше: CPP здесь — прокси. В наших данных нет реальных прайс-листов, поэтому ничто на этой странице не утверждает, сколько будет стоить, сэкономит или заработает ваша кампания. Это описание того, как работает расчёт. Цены — ваши.
Частые вопросы
Что на самом деле считает ТВ-планирование?
Два расчёта на одном CPP: прямой — от взвешенного целевого рейтинга к бюджету, и обратный — от бюджета к рейтингу, который он покупает. Всё остальное — взвешивание по длительности, affinity, скидки, наценка, форма флайта — питает именно эти два расчёта.
Скидки продавца складываются или перемножаются?
Перемножаются: combined = 1 − Π(1 − rᵢ). Скидки 20% и 10% дают 28%, а не 30%. Добавьте третью в 5% — ответ будет 31.6%, а не 35%.
Почему расчёт бюджет → рейтинг требует итераций?
Порог скидки зависит от заявленного бюджета, а достижимый бюджет зависит от скидки, поэтому модель сходится через итерации. Если расчёт колеблется между двумя соседними порогами, мы берём больший бюджет — консервативный вариант для покупателя.
Off-prime — это доля роликов или доля бюджета?
Доля бюджета. Она задаётся в деньгах, а затем пересчитывается в долю рейтингов через affinity и скидку на off-prime. Если задать её как долю эфирного времени, получится уже другой план.
Наценка за прайм-тайм касается только прайм-инвентаря?
Нет. Наценка применяется ко всей сделке. Если ввести её так, будто она касается только прайм-части, стоимость будет завышена по всем пунктам.
Оба расчёта на ваших собственных допущениях по CPP — вперёд от целевого рейтинга, назад от бюджета, с вашей лестницей скидок и вашими формами флайтов. Именно это делает TV Budgeting. Мы с радостью прогоним через него один из ваших текущих планов.
Запросить демо →