Логотип seo-prodvizhenie-biznesa.ru
+7 (921) 333-77-45

Алгоритм многорукий бандит Яндекс: мощный инструмент для оптимизации рекламных кампаний

Алгоритм многорукий бандит Яндекс: мощный инструмент для оптимизации рекламных кампаний
Анатолий Кузнецов
Анатолий Кузнецов
SEO-оптимизатор с 20-летним стажем. Автор блога seo-prodvizhenie-biznesa.ru о продвижении и доработке сайтов.

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

В SEO я с 2005 года и вижу, как непонимание этой механики стоит людям денег регулярно. Рекламодатель отключает объявление на третий день, потому что «оно хуже», а система как раз собирала по нему данные. Или наоборот — держит десять креативов при бюджете, которого хватает на два, и удивляется, что ни один не разогнался. Ниже — как устроен многорукий бандит, чем он отличается от A/B-теста, где его встречает владелец сайта и что из этого следует делать руками.

Какую задачу решает многорукий бандит

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

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

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

Разведка и эксплуатация: весь смысл в одном балансе

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

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

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

Основные стратегии и чем они отличаются

Стратегий много, но на практике встречаются три семейства. Их полезно различать, потому что поведение кампании при них выглядит по-разному.

Смежный материал по теме — «Яндекс убивает бизнес молча: как алгоритм занизил мой рейтинг с 5.0 до 4.4 и никто не может объяснить, почему».

Стратегия Как выбирает Сильная сторона Слабое место
Жадная с исключениями В большинстве случаев лучший вариант, изредка — случайный Простая, предсказуемая, легко объяснить Тратит разведку одинаково и на почти хорошие, и на явно плохие варианты
По верхней границе оценки Берёт вариант с наибольшей оптимистичной оценкой с учётом неопределённости Автоматически чаще проверяет то, о чём данных мало Чувствительна к шуму и требует аккуратной настройки
Вероятностная выборка Тянет случайное значение из распределения каждого варианта и берёт максимум Мягко балансирует, хорошо работает при малых числах Труднее объяснить заказчику, поведение выглядит «случайным»
Контекстная версия любой из них Учитывает признаки конкретного пользователя и запроса Разным людям — разные варианты, а не один победитель на всех Данных нужно кратно больше, дробление трафика

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

Чем бандит отличается от A/B-теста

Помогу с продвижением: SEO-специалист Анатолий Кузнецов — вывожу сайты в топ Яндекса белыми методами.

Классический тест делит трафик поровну, ждёт набора статистики и только потом объявляет победителя. Бандит перераспределяет трафик по ходу дела. Это не «лучше» и не «хуже» — это другой размен между точностью знания и стоимостью проверки.

Если интересно направление с сайтами — базу даю в своём курсе:

Признак A/B-тест Многорукий бандит
Распределение трафика Фиксированное, поровну Меняется по мере накопления данных
Цена проверки Половина трафика идёт на заведомо худший вариант до конца теста Слабые варианты быстро теряют показы
Что получаем на выходе Оценку разницы с доверительным интервалом Максимум суммарного результата, но менее точное знание о проигравших
Число вариантов Обычно два-три Спокойно держит десятки
Реакция на изменение условий Никакой, тест надо перезапускать Перестраивается сам, если предусмотрено забывание старых данных
Когда уместен Нужно доказать эффект и принять решение надолго Нужно выжать максимум из идущего трафика

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

Где эта логика встречается владельцу сайта

С алгоритмом сталкиваются гораздо чаще, чем догадываются. Вот типичные места.

  • Автоматические стратегии в рекламе. Система сама решает, кому и по какой цене показать объявление, опираясь на накопленные конверсии.
  • Ротация креативов внутри группы. Загруженные вами варианты не показываются поровну — трафик утекает к тем, у кого выше прогноз отклика.
  • Рекомендательные ленты и блоки «похожее». Система пробует показать не только очевидно подходящее, но и то, о чём мало данных.
  • Эксперименты поиска. Новая формула ранжирования сначала выкатывается на долю трафика, и доля растёт или падает по результатам.
  • Подбор заголовков и сниппетов. Разным пользователям может показываться разное представление одной и той же страницы.
Где встречается Что оптимизируется На что вы реально влияете
Автостратегия кампании Кому и по какой цене показать Настройка целей, объём конверсий, ограничения по цене
Ротация объявлений Какой креатив получит показ Число и разнообразие вариантов
Рекомендательный блок Что подставить в подборку Полнота карточек, наличие связей между товарами
Эксперимент в поиске Какая версия формулы поедет дальше Ничего напрямую; косвенно — качество страницы
Формирование сниппета Какое описание показать по запросу Заголовки, описания, структура текста на странице

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

Если нужны детали, смотрите «Многорукий бандит Яндекса: почему ваш сайт скачет с 5-го на 25-е место каждую неделю».

Почему кампания «не разгоняется»: три типовые ошибки

Чаще всего рекламодатель мешает алгоритму, не подозревая об этом. Ошибки повторяются от проекта к проекту.

  1. Слишком много вариантов при малом бюджете. Пятнадцать креативов на кампанию с тремя конверсиями в день — это гарантия, что ни один не наберёт статистики. Правило простое: число вариантов должно быть таким, чтобы на каждый пришлось хотя бы полтора-два десятка целевых событий за период обучения.
  2. Ежедневные правки. Каждое существенное изменение — новое объявление, смена цели, резкий сдвиг ставки — обесценивает накопленное. Алгоритм начинает разведку заново, и вы всё время оплачиваете первую фазу, никогда не доходя до второй.
  3. Отключение «отстающего» на третий день. На малых числах разница в отклике между вариантами почти всегда лежит внутри шума. Отключая по первым цифрам, вы систематически убиваете варианты, которым не повезло на старте.

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

Как понять, что алгоритм обучился

Формального индикатора мало, поэтому смотрят на поведение цифр. Обучение считается состоявшимся, когда выполняются три условия одновременно.

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

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

Где бандит ошибается и как это выглядит

Если нужна помощь по теме — обучение SEO-продвижению.

Алгоритм не всесилен, и его слабые места стоит знать, чтобы не принимать их за собственные ошибки.

Ловушка Как проявляется Что делать
Ранняя сходимость Один вариант забрал почти весь трафик за пару дней Запустить недобравшие варианты отдельной кампанией с собственным бюджетом
Отложенная конверсия Оптимизация идёт по кликам, а покупка происходит через две недели Оптимизировать по промежуточному событию, которое случается быстро и коррелирует с продажей
Смена условий Осенью выигрывал один оффер, зимой он же тянет вниз Периодически перезапускать разведку, не бояться заново вводить старые варианты
Грязный сигнал Цель настроена на посещение страницы «спасибо», куда попадают и по прямой ссылке Проверить корректность целей до, а не после запуска
Оптимизация не туда Дешёвые заявки, которые не превращаются в оплату Передавать в систему событие, максимально близкое к деньгам

Самая дорогая из этих ловушек — грязный сигнал. Алгоритм честно максимизирует то, что вы ему назвали успехом. Если успехом назван клик, вы получите чемпионов по кликам. Если названа заявка любого качества — получите поток пустых контактов. Качество цели важнее всех настроек вместе взятых.

Подробнее об этом — в статье «Многорукий бандит Яндекса: почему ваш сайт скачет с 5-го на 25-е место каждую неделю».

Как применить ту же логику руками

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

  • Ограничьте число вариантов. Три-четыре реально разных гипотезы работают лучше, чем десять косметических правок одного текста.
  • Задайте единственную метрику успеха до старта — ту, что ближе всего к деньгам и при этом набирается за разумный срок.
  • Определите период неприкосновенности. Неделя или заданное число событий, в течение которых вы ничего не трогаете.
  • Перераспределяйте постепенно. Не «выключить проигравшего», а «дать победителю больше»: сдвиг долей 60 на 40, потом 75 на 25.
  • Держите долю на разведку. Десятая часть бюджета или трафика всегда идёт на новые гипотезы, иначе через полгода вы будете эксплуатировать вариант, который давно перестал быть лучшим.
  • Возвращайте отвергнутое. Раз в сезон проверяйте варианты, проигравшие раньше: аудитория и рынок меняются.

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

Частые вопросы

Бандит заменяет A/B-тест полностью? Нет. Он максимизирует результат, но хуже отвечает на вопрос «насколько именно вариант Б лучше варианта А». Для дорогих решений, которые вы принимаете один раз и надолго, нужен обычный тест с фиксированными долями.

Сколько вариантов можно давать системе? Столько, чтобы на каждый пришлось не меньше полутора-двух десятков целевых событий за период обучения. При трёх конверсиях в день два-три варианта — потолок.

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

Может ли алгоритм «залипнуть» на плохом варианте? Да, при неудачном старте и слабой разведке. Лечится тем, что недобравшие варианты выносят в отдельную кампанию с собственным бюджетом, где они снова получают показы.

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

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

Коротко

  • Многорукий бандит решает задачу «зарабатывать и одновременно выяснять, что работает», не выделяя отдельного бюджета на эксперимент.
  • Вся суть — в балансе разведки и эксплуатации; перекос в любую сторону стоит денег.
  • Контекстная версия ищет не одного победителя на всех, а лучший вариант для конкретного среза аудитории, поэтому несколько объявлений могут жить одновременно.
  • A/B-тест точнее отвечает на вопрос «насколько лучше», бандит — выгоднее по деньгам на идущем трафике.
  • Три ошибки рекламодателя убивают обучение: избыток вариантов при малом бюджете, ежедневные правки и отключение отстающих по первым цифрам.
  • Алгоритм максимизирует ровно то событие, которое вы назвали успехом, — качество цели важнее любых настроек.

Если кампании не выходят на предсказуемую цену обращения, а сайт даёт слишком мало конверсий, чтобы алгоритму было на чём учиться, приходите на SEO-консультацию: посмотрим настройку целей, объём событий и узкие места посадочных страниц — чаще всего проблема оптимизации решается не в кабинете, а на сайте.

Увеличьте позиции и продажи вашего сайта

Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:

Анатолий Кузнецов — SEO-оптимизатор

Остались вопросы по продвижению?

Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.

Связаться со мной →

Комментарии

Кирилл Шамбуров

Значит, я всё это время делал ровно наоборот: загружал по восемь объявлений и через два дня оставлял два «лучших». Бюджет при этом небольшой. Сколько вариантов оставлять, если конверсий выходит примерно пять в неделю?

Анатолий Кузнецов автор

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

Алина Ястремская

Хорошо расписано про сожаление. У нас в компании спорили, почему нельзя просто «взять лучший вариант и не тратиться на тесты». Теперь есть внятное объяснение: без разведки вы просто не узнаете, что лучший давно сменился.

Егор Юзефович

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

Анатолий Кузнецов автор

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

Дарья Шелковникова

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

Матвей Щедров

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

Анатолий Кузнецов автор

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

Инна Юдникова

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

Пётр Яблонский

А есть смысл вручную переносить эту логику на распределение бюджета между каналами? Или там слишком много факторов и всё сведётся к вкусовщине?

Анатолий Кузнецов автор

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

Светлана Шибалова

Хочу уточнить про период неприкосновенности. Неделя — это сильно, у нас руководитель требует отчёт каждое утро и лично просит «поправить, раз не идёт». Как объяснять, что правки вредят?

Аркадий Эстрин

Про отложенную конверсию хотелось бы подробнее. У нас цикл сделки около сорока дней, промежуточных событий по сути нет: человек либо звонит, либо нет. Оптимизировать не по чему.

Анатолий Кузнецов автор

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

Юлия Шохина

Совет возвращать отвергнутые варианты раз в сезон оказался полезным. Вернули объявление, которое год назад проиграло, — сейчас оно лучшее по цене заявки. Формулировка та же, изменился рынок.

Никита Ярулин

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

Тамара Щепкина

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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

 Нажимая «оставить комментарий» вы принимаетеправила конфиденциальности 

Прокрутить вверх