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

Ошибка округления в ТВ-костинге — это любая мелкая неточность, которая доживает до финального плана: усечённый CPP, бюджет, записанный как 100 вместо 100,3. Это важно, потому что медиаплан — это цепочка расчётов, где каждое звено питает следующее. В момент, когда цифра попадает в коммерческое предложение, она перестаёт быть оценкой. До этого момента это была рабочая гипотеза, которую можно уточнить. После — обязательство: под неё подписываются бюджет, объём TRP и скидка, заявленная продавцу. Клиент читает предложение как обещание, а не как запись хода ваших мыслей.
Эта граница разделяет два режима работы. Грубая арифметика оправдывает себя на первом проходе, когда нужен порядок величины и важно быстро отсеять нежизнеспособные сценарии. Та же арифметика подводит в тендере, где расчёт превращается в документ с последствиями.
Почему разница в 0,3% меняет весь план?
Разница между 100 и 100,3 кажется косметической — пока не столкнётся с первым порогом скидки. Бюджет, который вы заявляете продавцу — цифра из Shop List, — определяет, какую скидку вы получите, а эта зависимость устроена как лестница, а не как плавная кривая. Не дотянули на долю процента — и вы уже на ступень ниже.
Потерянная ступень — это не сдвиг одной строки в таблице. Размер скидки определяет доступный вам объём инвентаря, инвентарь — достижимый TRP и всю медиалогику кампании. Два предложения, у которых входные данные различаются на ошибку округления, могут описывать по сути разные кампании.
Умножение накапливает ошибку, а не гасит её
За порогом ошибка перестаёт быть локальной. Цепочка CPP работает через умножение:
В сумме отклонения в разные стороны иногда гасят друг друга. В произведении они накапливаются. Небольшая неточность в базовом значении проходит через каждый следующий множитель и всплывает в самом конце. Практический ущерб хуже самой ошибки: вам приходится защищать цифру, которую вы не можете разложить на составляющие. А вопрос «покажите, как вы это посчитали» звучит почти на каждой защите.
Что это значит для того, как мы строим продукт
Поэтому в TV Budgeting мы не стремимся к приблизительному совпадению с эталоном. Мы держим расхождение ниже 0,01% относительно эталонного Excel агентства — зафиксированное состояние, которое перепроверяется при каждом изменении кода: около 750 тестов на расчётном ядре и около 2100 тестов на интерфейсе.
Про границу ответственности стоит сказать отдельно. CPP в нашем движке остаётся прокси-показателем. Мы отвечаем за арифметику плана — за то, что цепочка множителей считается без потерь и результат воспроизводится. Мы не отвечаем за рыночную цену — она рождается в переговорах с продавцом. Там, где в расчёт входят данные измерений, мы воспроизводим цифры Nielsen, а не подменяем их собственной трактовкой.
Из той же логики следуют ещё два, менее заметных решения:
- Поведение на границе порога. Цикл бюджет → скидка → бюджет по своей природе итеративен и иногда качается между двумя соседними ступенями. Система берёт больший бюджет — намеренно консервативный выбор в пользу покупателя. Лучше цифра с запасом, чем та, которую нечем будет покрыть перед клиентом и продавцом.
- Никаких скрытых значений по умолчанию. Если входного значения не хватает, расчёт падает с указанием имени поля — вместо того чтобы тихо подставить что-то «типичное». Скрытое значение по умолчанию выглядит удобным, пока вы не обнаружите, что половина плана держится на цифре, которую никто не вводил. Явная ошибка стоит минуту; незамеченная подстановка по умолчанию стоит тендера.
Это спор про инструменты?
Одно уточнение, чтобы не создалось ложное впечатление о рынке. Речь не о ручном Excel против софта. На зрелых рынках вроде Казахстана и России процессы уже давно построены вокруг инструментов, и открытый вопрос — какой класс инструментов берёт на себя какую долю ответственности за итоговую цифру. Мы разбираем эту развилку в статье Альтернативы корпоративным платформам медиапланирования.
Тендеры редко проигрывают из-за дизайна презентации. Их проигрывают на просьбе разложить цифру по шагам. Поэтому воспроизводимость расчёта стоит считать частью коммерческого предложения, а не технической деталью: именно она решает, сможете ли вы отстоять свои цифры в комнате, где их проверяют вслух.
FAQ
Почему ошибка округления важна в ТВ-бюджете?
Потому что порог скидки устроен как лестница, а не как кривая. Бюджет 100 вместо 100,3 может опустить вас на ступень ниже, а это меняет доступный инвентарь, достижимый TRP и медиалогику кампании.
Почему ошибка не гасится в расчёте CPP?
Потому что цепочка CPP работает через умножение, а не сложение. В сумме разнонаправленные отклонения могут компенсировать друг друга, но в произведении небольшая неточность в базе проходит через каждый следующий множитель и становится заметной.
Что происходит, когда бюджет колеблется между двумя порогами скидки?
Система берёт больший бюджет. Это консервативное правило в пользу покупателя: показать цифру с запасом лучше, чем показать ту, которую нечем покрыть перед клиентом и продавцом.
Почему при отсутствующем значении расчёт падает, а не подставляется значение по умолчанию?
Скрытое значение по умолчанию маскирует тот факт, что часть плана держится на цифре, которую никто не вводил. Явный сбой с указанием поля стоит минуту; незамеченная подстановка по умолчанию стоит тендера.
Смысл именно в воспроизводимости: TV Budgeting разрешает пороги скидок через итерацию, не пытается угадывать отсутствующие значения и держит расхождение ниже 0,01% с эталонным Excel агентства.
Запросить демо →