#Как убыточные товары забирают бюджет Директа, зачем отбирать ассортимент для поиска и РСЯ и как в этом помогает машинное обучение.

ДРР кампании в Яндекс Директе — 20%. На первый взгляд всё в порядке: на каждый миллион рублей выручки уходит 200 тысяч рублей рекламного бюджета. Если экономика сходится, можно увеличивать расходы и растить продажи.

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

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

Часть этих товаров вообще не стоило рекламировать в данной кампании. У одних слишком дорогая доставка в нужный регион, у других не сходится экономика, третьи плохо продаются в РСЯ, хотя могли бы работать на поиске Яндекса.

Смарт-фид помогает заранее выбрать товары, на которые имеет смысл тратить рекламный бюджет. Дальше автостратегия Директа работает с этим ассортиментом: выбирает показы и ставки в пределах настроек кампании.

Разберём, как отбор товаров помогает кампаниям в Директе, где здесь машинное обучение и какие похожие задачи решают западные сервисы. А затем покажем, как мы решаем эту задачу в смарт-фидах Sales Ninja.

#Как за ДРР 20% прячется товар с ДРР 91%

ДРР — доля рекламных расходов в выручке: ДРР = рекламные расходы / выручка × 100%.

Возьмём условную товарную кампанию в Директе с двумя товарами. Первый принёс 710 тысяч рублей выручки, на его рекламу потратили 56,8 тысячи. Второй принёс 120 тысяч, а обошёлся в 109,2 тысячи рекламных расходов.

Допустим, после оплаты закупки, доставки и прочих переменных расходов с каждого товара остаётся 25% выручки. Из этих денег нужно оплатить рекламу; остаток пойдёт на постоянные расходы и прибыль. Все заказы в нашем примере выполнены, отмен и возвратов нет.

image

В отчёте всё правильно: 166 000 / 830 000 × 100% = 20%. Кампания укладывается в целевую ДРР.

Однако товар Б забрал 65,8% рекламного бюджета, а принёс всего 14,5% выручки. До оплаты рекламы с его продаж осталось 30 тысяч рублей. На рекламу ушло 109,2 тысячи. Разница — 79,2 тысячи рублей убытка, ещё до постоянных расходов бизнеса.

image

Товар с ДРР 91% даёт 14,5% выручки, но забирает 65,8% рекламного бюджета

Если отключить товар Б и сохранить продажи товара А, выручка снизится с 830 до 710 тысяч рублей. Зато после рекламы останется 120,7 тысячи вместо 41,5 тысячи. Компания продаст меньше, а денег заработает больше.

Освободившийся бюджет можно направить на другие товары. Но нельзя просто умножить расходы на товар А и ждать прежнюю ДРР 8%: спрос ограничен, а дополнительные клики могут оказаться дороже. Сначала мы устраняем известный убыток, затем проверяем, где выгодно потратить оставшиеся деньги.

Есть ещё одна ловушка в отчётах. ДРР кампании — не среднее арифметическое ДРР товаров. Для товаров с продажами она считается с учётом их доли в выручке: ДРР кампании = Σ (доля товара в выручке × ДРР товара).

А у товара, который потратил деньги и ничего не продал, отдельную ДРР вообще нельзя посчитать: выручка равна нулю. Его расходы всё равно входят в общий результат. Если в товарный отчёт попали только позиции с продажами, самые бесполезные траты могут остаться за кадром.

Поэтому смотреть нужно сразу на три вещи: ДРР товара, сколько бюджета он забрал и сколько денег осталось после его продажи. Одна средняя цифра этого не покажет.

#Почему автостратегия Директа сама не решает всю задачу

В Директе можно использовать стратегию «Максимум конверсий» с ограничением по ДРР. Для этого нужно передавать ценность выбранной цели — например, сумму покупки через электронную коммерцию Метрики. Алгоритм прогнозирует вероятность целевого действия и подбирает ставки, стремясь удержать заданный показатель. Как устроена стратегия.

Если в Метрику передали сумму оформленного заказа, Директ получил именно эту сумму. Сколько осталось после закупки, сколько стоила доставка и был ли заказ выкуплен — отдельные данные. Их нужно учитывать в выбранных целях, ценности результата или отборе товаров.

Цель «держать ДРР кампании около 20%» допускает убыточные товары. Пока хорошие позиции компенсируют плохие, общий показатель остаётся приемлемым. А заказ, который через три дня отменили, до передачи отмены может выглядеть как успешная продажа.

Кроме того, алгоритму приходится проверять спрос. Он не знает заранее, какой новый товар купят, какой запрос приведёт к заказу и в какой аудитории предложение сработает. Такая проверка необходима, но за неё платит рекламодатель.

Чем больше товаров допущено к рекламе, тем больше вариантов приходится оценивать. Среди них могут быть предложения, слабость которых уже видна из других данных: товар регулярно возвращают, его кладут в корзину, но не покупают, или доставка делает заказ невыгодным.

Директ уже использует машинное обучение, чтобы прогнозировать конверсии и выбирать ставки. В документации Яндекс связывает точность прогноза с объёмом накопленных данных. Поэтому несколько кликов без продаж — слабое основание для окончательного решения о товаре. Подробнее об автостратегии.

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

#Как бюджет Директа размазывается по тысячам товаров

Пусть в товарной кампании Директа с оплатой за клики 10 тысяч товаров. Месячный бюджет — 1,5 миллиона рублей, средняя цена клика — 30 рублей. На эти деньги можно купить 50 тысяч кликов.

Если распределить их поровну, получится по пять кликов на товар. Для сравнения оставим 500 отобранных товаров: при тех же расходах каждый получит уже по сто кликов.

Автостратегия Директа распределяет трафик неравномерно. Здесь мы намеренно считаем поровну, чтобы увидеть масштаб проблемы: сколько данных вообще может дать ограниченный бюджет.

image

Даже у нормального товара с конверсией 2% после пяти кликов, скорее всего, не будет ни одной покупки. Это почти ничего не скажет о его качестве. После ста кликов вероятность увидеть покупку гораздо выше.

image При том же бюджете пять кликов на товар превращаются в сто, если проверять 500 позиций вместо 10 тысяч

Расчёт простой. Если вероятность покупки после клика равна p, вероятность не получить покупку за один клик — 1 − p. За n независимых кликов — (1 − p)ⁿ. Значит: P(хотя бы одна покупка) = 1 − (1 − p)ⁿ.

При p = 2% пять кликов дают 9,6%, а сто — 86,7%. Одна продажа ещё не позволяет надёжно оценить конверсию, но уже даёт больше информации, чем пять кликов без результата.

Теперь посчитаем стоимость проверки. Чтобы при конверсии 2% с вероятностью не ниже 80% получить хотя бы одну покупку, нужно около 80 кликов. По 30 рублей — 2 400 рублей на товар. На 10 тысяч товаров потребуется 24 миллиона рублей. На 500 — 1,2 миллиона.

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

Отбор позволяет сосредоточить проверку на товарах, у которых есть шанс окупить рекламу. Если для конкретной кампании из 10 тысяч позиций подходят несколько сотен, имеет смысл сначала найти их, а уже потом покупать трафик.

#Почему недостаточно оставить бестселлеры

Можно выгрузить только товары, которые уже хорошо продавались. Это сократит расходы на проверку, но создаст другую проблему: новинки никогда не станут бестселлерами, если не дать им показов. То же самое случится с товарами нового сезона и редкими позициями, на которые есть небольшой, но выгодный спрос.

Нужен отбор с учётом условий конкретной кампании. Зимние шины могут быть востребованы в одном регионе и почти не нужны в другом. Мебель с хорошей маржой может оказаться невыгодной при доставке за тысячу километров. Товар, который покупают по точному поисковому запросу, может впустую тратить деньги в РСЯ.

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

image Один товар может давать разный результат на поиске Яндекса, в РСЯ и ретаргетинге; цифры условные

Поэтому вопрос звучит так: какие товары стоит рекламировать этой аудитории, в этом канале, в этом регионе и сейчас? Ответ будет меняться вместе со спросом, остатками и поведением покупателей. Один список лучших товаров на все случаи здесь слишком груб.

#Как отбор товаров применяется в Директе

Директ формирует товарные объявления по данным сайта или фида. Фид используется в товарных кампаниях и Единой перфоманс-кампании; предложения могут показываться на поиске, в РСЯ и товарной галерее. Значит, состав выгрузки влияет на то, какие товары вообще доступны для рекламы. Управление фидами в Директе.

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

Для более сложного отбора Яндекс поддерживает дополнительные поля custom_label_0–custom_label_4 и числовое поле custom_score. Их можно использовать в фильтрах ЕПК. Например, заранее разделить товары по маржинальности или присвоить им оценку, а затем выбрать нужную группу. Дополнительные поля YML-фида.

Сам фильтр применяет готовое условие. Кто-то должен решить, какие товары включить в группу, по каким данным их оценивать и когда пересмотреть решение. На небольшом каталоге это можно делать вручную. На тысячах позиций, отдельно для регионов, поиска, РСЯ и ретаргетинга, нужен регулярный автоматический отбор.

Здесь и появляется задача для ML: помочь выбрать ассортимент, который затем передадут Директу. Число в custom_score само по себе не становится ставкой и не заставляет автостратегию показывать товары в заданном порядке. Для смарт-фидов Sales Ninja основной способ применения — отдельные готовые выгрузки под рекламную задачу.

#Какие похожие задачи решают западные сервисы

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

Для рекламодателя это разные возможности: выбрать, что рекламировать; определить, сколько платить за трафик; помочь системе найти подходящего покупателя. Ниже — примеры западных решений. Для кампаний в Директе те же задачи нужно решать через его фиды, фильтры и настройки; наш вариант такого отбора — смарт-фиды Sales Ninja.

#smec: искать перспективные товары, даже когда продаж мало

У Smarter Ecommerce, или smec, есть SmartScore AI для оценки потенциала товаров и Campaign Orchestrator для управления товарными рекламными кампаниями. Сервис использует сведения о похожих товарах, учитывает маржу и остатки, разделяет ассортимент на группы и помогает управлять кампаниями. Платформа smec.

Здесь полезна сама идея: новинка не должна сначала потратить много денег и набрать собственную историю продаж, чтобы её можно было оценить. Если известны результаты похожих товаров, часть выводов можно сделать заранее. Ещё в техническом разборе Whoop! 2020 года smec объясняла, как характеристики каталога дополняют рекламную статистику и помогают прогнозировать продажи новых позиций. Разбор технологии.

#Producthero: отделять удачные товары от тех, что тратят деньги

Producthero Labelizer ежедневно распределяет товары по четырём группам: Heroes, Sidekicks, Villains и Zombies. При классификации учитываются число кликов и соотношение выручки с рекламными расходами. В привычных нам терминах сервис помогает увидеть, какие товары получают трафик и укладываются в нужную ДРР, какие расходуют деньги неэффективно, а какие почти не получают показов. Как работает Labelizer.

Дальше товары с разными метками можно развести по рекламным группам и кампаниям. Сама метка ставку не назначает — она помогает организовать управление ассортиментом. Настройки стратегии. Для нашей кампании это означало бы перестать оценивать товары А и Б только по общим 20%. Их можно было бы разделить по эффективности, чтобы ограничить убыточный товар. Такая классификация может работать по правилам; машинное обучение для неё не обязательно.

#Channable: учитывать маржу, остатки и возвраты

В Channable Insights & Product Segmentation можно соединить рекламную статистику с маржой, наличием, сезонностью и возвратами, а затем задать правила оценки и разделения товаров. Полученные группы используются в фидах и кампаниях. Описание продукта.

Например, низкая ДРР выглядит привлекательно, но товар почти закончился на складе. Или заказов много, а возвраты съедают заработок. Правила помогают учесть такие обстоятельства до того, как очередная продажа попадёт в рекламный отчёт.

#Bidnamic и Crealytics: связывать ставки с экономикой товара

Bidnamic описывает управление ставками с помощью ML на уровне отдельных товаров, с учётом себестоимости и прибыли. Сервис также работает с поисковым спросом и проверяет, какой трафик подходит каждой позиции. Оптимизация прибыльности, технология.

Это полезно для товаров, которые редко продаются, но дают хороший заработок: их не всегда нужно отключать. Иногда нужно найти более точный запрос или снизить цену привлечения покупателя.

Crealytics предлагает более широкий набор услуг и технологий для электронной торговли: в том числе ставки с учётом маржи и кампании с учётом наличия товаров. Решения для электронной торговли. Здесь та же связь между рекламой и бизнесом: за клик нельзя платить больше, чем позволяет заработок с продажи и вероятность покупки.

#DataFeedWatch и Feedonomics: помогать площадке понять товар

DataFeedWatch AI автоматизирует работу с полями фида, названиями, описаниями, категориями, размерами и цветами. Feedonomics AI Data Enrichment дополняет товарные данные и адаптирует их для разных каналов. DataFeedWatch, Feedonomics.

Если название и характеристики плохо заполнены, даже хороший товар может получать неподходящий трафик. Исправление фида помогает точнее сопоставить предложение со спросом. Чтобы ещё и выбрать выгодный ассортимент, к качеству описаний нужно добавить данные о продажах и расходах.

image

Эти продукты отличаются по устройству, но показывают общий подход: большим каталогом нужно управлять на уровне товаров. Средней ДРР кампании для этого мало.

#Где здесь машинное обучение

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

При конверсии 2% вероятность не получить ни одного заказа за 20 кликов составляет 0,98²⁰ ≈ 66,8%. То есть даже у вполне рабочего товара после двадцати кликов, скорее всего, ещё не будет продажи. Нулевая выручка на этом этапе не доказывает, что товар плохой.

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

Для такой задачи подходят, например, логистическая регрессия и градиентный бустинг. Последний строит множество небольших деревьев решений и постепенно уточняет прогноз: учитывает, как цена работает в данной категории, как меняется спрос по регионам и какие сочетания признаков связаны с покупками. Работа с категориальными признаками описана в исследовании CatBoost.

#Прогнозировать деньги, а не только заказы

Вероятности покупки недостаточно. Нужно знать, сколько останется с продажи и как часто заказ заканчивается выкупом. Это можно выразить простой формулой: V = p × [q × m − (1 − q) × l] − c,

где:

  • p — вероятность заказа после клика;
  • q — вероятность, что заказ будет выкуплен и не возвращён;
  • m — сколько останется с успешной продажи после переменных расходов, до рекламы;
  • l — потери при отмене или возврате;
  • c — цена клика.

V показывает, сколько денег в среднем принесёт один клик после оплаты рекламы. Это условная модель: реальные расходы и варианты завершения заказа могут быть сложнее.

Пусть вероятность заказа — 3%, успешной продажи — 90%, с неё остаётся 2 000 рублей, неудачный заказ обходится в 150 рублей, а клик стоит 30 рублей. Получаем: V = 0,03 × [0,9 × 2 000 − 0,1 × 150] − 30 = 23,55 ₽.

Если прогноз верен, такой клик в среднем оставляет 23,55 рубля после рекламных расходов. При том же товаре и той же цене клика, но вероятности заказа 1%, результат будет уже −12,15 рубля. Маржа не изменилась, зато трафик перестал окупаться.

Для сравнения товаров при ограниченном бюджете можно разделить V на цену клика. В первом случае 23,55 / 30 ≈ 0,79: каждый рубль рекламы приносит около 79 копеек сверх затрат на привлечение. Такой расчёт помогает выбирать, что проверять в первую очередь. По мере роста расходов прогноз нужно обновлять: следующие клики могут стоить дороже.

#Что делать, когда собственной статистики мало

Есть простой математический приём: объединить результаты товара с предварительной оценкой по похожим позициям. Например, считать, что до начала теста ожидаемая конверсия была 2%, а уверенность в этой оценке соответствует ста условным наблюдениям.

В бета-биномиальной модели это записывается так: p̂ = (k + α) / (n + α + β). Здесь k — покупки, n — клики, а α и β задают предварительную оценку и её вес.

При α = 2 и β = 98 товар с нулём покупок за 20 кликов получает оценку 2 / 120 = 1,67%. Прогноз ухудшился, но не упал до нуля. Новые клики постепенно добавят информации, и собственная история будет влиять всё сильнее. Математическая справка Stan.

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

#Какие данные делают прогноз полезнее

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

Просмотры и корзины помогают заметить интерес раньше покупки. При этом добавление в корзину остаётся промежуточным действием, а прогноз продажи — прогнозом. Их качество проверяют по последующим заказам и выкупам. Например, если модель обещает покупку в 2% случаев, на достаточно большой группе сопоставимых наблюдений результат должен быть близок к этим 2%. Это называется калибровкой. Исследование калибровки прогнозов.

Нужно учитывать и задержку. Покупатель может несколько дней выбирать мебель: отсутствие заказа сразу после клика ещё не означает отказ. Методы учёта таких задержек разбираются в исследовании Elapsed-Time Sampling.

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

#Как смарт-фиды Sales Ninja помогают кампаниям в Директе

Обычный фид — это файл с товарами: названиями, ценами, наличием, картинками и ссылками. Директ берёт из него данные для товарных объявлений. Смарт-фид добавляет к этой выгрузке отбор: какие товары стоит передать конкретной кампании.

Для Яндекс Директа мы формируем отдельные фиды с учётом места показа, региона, аудитории и задачи кампании.

Система учитывает просмотры, корзины, реальные и прогнозируемые конверсии, связи между товарами и результат заказа: выкуп, отмену или возврат.

Каталог поступает в формате YML, готовые фиды тоже выдаются в YML и регулярно пересчитываются. Языковая модель помогает готовить рекламные заголовки и описания. При подготовке выгрузки нужно соблюдать требования Директа к товарным данным: например, название товара должно соответствовать странице и не содержать рекламных приписок. Требования к товарным данным.

Что это меняет в работе кампании?

Убыточные товары проще ограничить. В примере с ДРР 20% товар Б забрал почти две трети бюджета и принёс убыток. Когда такой товар исключён из фида конкретной кампании, она перестаёт покупать для него трафик через эту выгрузку. Бюджет можно сократить или направить на другие предложения.

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

Ассортимент меняется вместе со спросом. Для поиска Яндекса, РСЯ и ретаргетинга нужны разные предложения. После покупки можно предложить дополнение к товару. При изменении сезона, наличия или поведения покупателей отбор пересчитывается. В рекламе не остаётся навсегда один список вчерашних лидеров.

Смарт-фид и автостратегия решают последовательные задачи. Мы выбираем, какие товары передать кампании. Директ выбирает показы и ставки в пределах настроек кампании. Когда в фиде убраны неподходящие предложения и учтены данные о продажах, автостратегия ищет выгодные сочетания товара, аудитории и ставки среди более подходящего ассортимента. Сам по себе отбор в фиде не передаёт Директу новые цели: настройку целей и их ценности нужно проверять отдельно.

Именно поэтому смарт-фиды нужны даже при хорошей автостратегии. Они помогают использовать данные бизнеса при выборе ассортимента и не тратить рекламный бюджет на всё, что удалось выгрузить из каталога.

Подробнее о смарт-фидах Sales Ninja и подключении.

#Как понять, что смарт-фид приносит пользу

Начните с отчёта по товарам. В нём нужны расходы, выручка по выполненным заказам, ДРР, отмены, возвраты и сумма, оставшаяся после переменных расходов и рекламы. Посмотрите, сколько денег забирают убыточные позиции и сколько товаров получили лишь несколько кликов.

Затем определите, какого результата ждёте от теста. Если цель — больше зарабатывать, сравнивайте сумму, которая остаётся после рекламы, с учётом стоимости сервиса. Если цель — увеличить продажи при заданной ДРР, проверяйте одновременно выручку и ДРР. В нашем примере снижение выручки с 830 до 710 тысяч было бы удачным решением для заработка, хотя отчёт только по объёму продаж показал бы ухудшение.

Для сравнения нужен сопоставимый контроль. По возможности используйте эксперимент, в котором текущий и новый отбор работают в равных условиях. Просто запустить две кампании на одинаковые товары и аудитории недостаточно: они могут конкурировать между собой. При сравнении «до и после» нужно учитывать акции, сезонность и изменение спроса.

Проверьте и техническую часть: совпадают ли идентификаторы товаров в каталоге, событиях Метрики и заказах, прочитал ли Директ новую версию фида, правильно ли настроены фильтры ЕПК. Если товар убрали из одной выгрузки, убедитесь, что он не продолжает рекламироваться в другой группе или кампании. Для товарного ретаргетинга в Директе важно соответствие идентификаторов фида данным электронной коммерции. Требования Яндекса к YML.

Посмотрите, какие товары фактически получают трафик после обновления отбора. Смена выгрузки должна менять доступный для рекламы ассортимент. Простая перестановка строк в XML не определяет порядок показов и не распределяет бюджет.

Вернёмся к исходным 20%. Эта ДРР могла казаться хорошим результатом, пока мы не увидели товар, который забирает 65,8% бюджета и продаётся с ДРР 91%. В каталоге на тысячи позиций похожие потери сложнее заметить вручную. Смарт-фиды позволяют регулярно пересматривать ассортимент каждой кампании: ограничивать невыгодные предложения, проверять перспективные и оставлять больше бюджета тем товарам, на которых бизнес может заработать.