Автоматизация поиска и добавления минус слов на основе статистики поисковых запросов

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

Сразу скажу, что после первого запуска скрипта я рассчитал, что кол-во нерелевантных показов на поиске сократится почти на 14%, Ctr вырастит на 8%, а расход сократится на 10%. Об этом поподробнее будет в конце поста.

И так пошаговые действия.

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

Разделяю поисковые запросы на отдельные слова.

Потом группирую, чтоб получить суммарную статистику по словам на уровне кампании и также рассчитываю CTR и конверсию этих слов на уровне кампании.

Рассчитываю CTR и конверсию слов на уровне аккаунта.

Рассчитываю CTR и конверсию кампаний.

Все это соединяю.

Теперь достаточно данных для определения некачественных слов. Я нашел 2 варианта, как это сделать.

По конверсии.

Условия фильтрации слов:

  1. кликов больше 5

2. (cmgn_key_cr / max (akk_key_cr, cpmgn_cr)) < 50% (Сравниваю CR слова с CR слова на уровне акк или CR кампании, что больше из них. И если полученная разница ниже на 50%, то считаю его низко-конверсионным).

Результат:

По CTR

Условия фильтрации слов:

  1. Показов больше 19, конверсия слова на уровне кампании меньше 25%

2. (cmgn_key_ctr / max (akk_key_ctr, cpmgn_ctr)) < 50% (Сравниваю CTR слова с CTR слова на уровне акк или CTR кампании, что больше из них. И если полученная разница ниже на 50%, то считаю его некачественным).

Результат:

Бывает и такое, что те слова, которые присутствуют в ключевых словах попадаются в этих расчетах. Чтобы их не добавить в минус слова, слова из ключевых слов удаляются из таблицы. И также принудительно фильтрую «белые» слова такие, как «купить, заказать» и т. п. а то мало ли.

Но это еще не все, я выгружаю пул полученных слов в эксель, чтобы вручную проверить и отсеять, по моему мнению, качественные слова. Хотя статистика конечно говорит обратное, но тут каждый сам эксперт. Предыдущий этап снижает кол-во времени на исключение качественных слов.

Дальше выбранные слова фильтруются и автоматически добавляются в их кампании. Это уже дело техники)

Теперь считаем на сколько бы сократилось число показов, насколько бы выше был CTR и сократились расходы за 3 месяца, если бы эти слова были в мину словах.

Эффект от определения минус слов по Конверсии и CTR были просуммированы.

В итоге после добавления этих слов в лучшем случае кол-во нерелевантных показов на поиске сократится почти на 14%, Ctr вырастит на 8%, а расход сократится на 10%. Меня цифры впечатлили.

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

Если у вас появились идеи, как можно еще по статистике определить минус слова, расскажите об этом в комментариях. Возможно я дополню код.

Возможно следующий пост будет о том, как определить слова, которые нужно закавычить. Поэтому если вам это интересно подписывайтесь на мой канал в телеграмм!

  • Алёна Севрюгина

    С этого момента не понятно: Разделяю поисковые запросы на отдельные слова.
    Как это сделано по шагам и где?

    • Павел

      Это сделано на языке программирования Python через библиотеку для работы с данными в виде таблицы Pandas

  • Ivan

    А морфологию учитываете? И планируете ли скрипт выложить?

    У K50 есть похожий скрипт https://snacks.k50.ru/minusator.php

    • Павел

      к50 использует поисковые запросы из метрики, а значит там будут только те запросы, по которым были клики. Я выгружал из директа, там есть запросы, по которым был хоть один показ. В общем больше данных, больше минус слов найдется.

      Морфология учитывается так, если длина слова больше 4 или 5 символов, не помню уже, удаляются 2 символа окончания

      Насчет выкладывания в открытый доступ, скрипт нужно причесывать, чтоб было понятно всем. Его вид пока не готов к широкой публике)))