В отчёте за январь 12 400 устройств. Из них 900 помечены как постоянные. Откуда взялись именно 900, вы не знаете: где-то в настройках стоит правило «три визита за месяц», и кто выбрал тройку, не помнит уже никто.
Поднимите порог до четырёх — постоянных станет около 500. Опустите до двух — больше тысячи. Район не изменился ни на одного человека. Изменилось определение, а вместе с ним размер сегмента, на который завтра уйдёт бюджет.
Во вторник мы разбирали, кто задаёт вопрос при сборе: пассивный радар при рандомизации MAC о частоте визитов говорить не может, он считает не человека, а отрезок жизни адреса. Дальше я исхожу из того, что устройство узнаётся между визитами.
Назначенная граница
Постоянный посетитель — не тип людей. Это те, кто оказался по нужную сторону черты, которую провели вы.
Назову это назначенной границей: число, которым вы режете непрерывную величину на категории. Крупный клиент, просроченная задолженность, активный пользователь — везде одно устройство. Категорий в жизни нет, границу ставит человек с отчётом.
Главное её свойство — она забывается. Через месяц никто не помнит, что 900 постоянных получились из решения, и число живёт как факт о районе.
С какой упаковки начинается опт
Магазин даёт оптовую скидку с десяти упаковок. Не потому что на десятой покупатель меняет природу. Сдвиньте границу на пять — скидку получат те, кто и так брал бы по рознице. Сдвиньте на двадцать — часть настоящих оптовиков уйдёт к соседу.
Никто не спрашивает, сколько упаковок делает покупателя оптовым по сути. Спрашивают, где граница обходится дешевле. С постоянными посетителями так же, только цену границы почти никогда не считают.
Порог без окна — не порог
Три визита — за какой срок? За неделю это завсегдатай, за год — человек, трижды прошедший мимо по дороге к метро.
Порог всегда пара: число визитов и окно наблюдения. Окно берётся от цикла покупки, а не от календаря. Кофе рядом с офисом — одна-две недели, продукты — месяц, одежда — сезон, автосервис — полгода. Правило: окно длиной в два-три цикла покупки. Окно короче цикла автоматически объявит ваших лучших клиентов случайными прохожими.
Где искать разрыв в своих данных
Механика, повторяемая в обычной таблице за полчаса.
Выгрузите визиты за выбранное окно и посчитайте, сколько устройств пришло ровно один раз, сколько два, три и так далее до пятнадцати с плюсом. Получится круто падающий ряд. Соблазн — ткнуть в место, где кривая выполаживается: на глаз это не работает, любой убывающий ряд выполаживается.
Считайте отношение соседних столбцов: сколько людей с k+1 визитами приходится на людей с k визитами.
У случайных прохожих оно почти постоянное — у каждого одинаковый небольшой шанс оказаться здесь ещё раз, и ряд убывает ровно. Постоянные другая популяция, с высоким шансом вернуться, и убывают они медленнее. Там, где отношение перестаёт быть постоянным и подскакивает вверх, заканчивается один народ и начинается другой.
Цифры условные, за характеристику вашей точки я их не выдаю. Пусть ряд такой: 6 000, 1 900, 620, 210, 150, 130. Отношения: 0,32, 0,33, 0,34, а потом 0,71 и 0,87. Первые три одинаковые — это один и тот же случайный поток. На четвёртом шаге отношение прыгнуло вдвое. Кандидат в порог — пять визитов, а не три.
В учебнике разрыв всегда такой чистый, на реальной точке — чаще нет. Отношения ползут вверх плавно, и ткнуть пальцем некуда. Это не поломка метода, а сообщение: двух ясно разделённых популяций у вас нет, район однородный. Тогда порог выбирается не по разрыву, а сразу деньгами — переходите к следующему разделу и считайте соседние пороги подряд, начиная с двух. Второй запасной признак — устойчивость: посчитайте распределение за два соседних окна и посмотрите, на каком k состав группы «k и выше» меняется меньше всего. Граница, за которой люди из месяца в месяц одни и те же, полезнее красивой.
Второй слой проверки — качество. Радар различает, прошёл человек мимо или заходил внутрь. Посчитайте долю заходивших по группам с двумя, тремя, четырьмя, пятью визитами. Растёт вместе с порогом — вы отсеиваете транзит. Перестала расти — дальше вы не повышаете качество сегмента, а режете его размер.
Проверка порога на деньгах
У порога две ошибки, и стоят они по-разному.
Лишний в сегменте — человек, который ходит мимо на работу и никогда не зайдёт. Вы платите за показы ему: число лишних умножить на свою стоимость контакта из кабинета. У узкого офлайн-таргетинга клик стоит от 0,1 рубля, в одном из наших разборов кампания давала 11 рублей за клик — берите своё число, не моё.
Упущенный настоящий — тот, кто вернулся бы, но в сегмент не попал. Цена: маржа с покупки, умноженная на вероятность, что реклама сработала бы. В одном внедрении в общепите привлечение стоило 160 рублей при чеке 500 — один упущенный съедал выгоду от десятков правильно отсечённых.
Сравнение соседних порогов делается в четыре строки. Разница размеров сегмента при k и k+1 — это те, кого вы отсекаете. Умножить на стоимость контакта и число контактов за кампанию — экономия. Ту же разницу умножить на долю настоящих в ней, на конверсию и на маржу — потеря. Экономия больше — поднимаем порог и повторяем. Потеря больше — предыдущий порог был ваш. Долю настоящих внутри отсечённых точно вы не узнаете: оцените её по доле заходивших внутрь и пометьте в отчёте как оценку.
Асимметрия тут важнее самих чисел. Показ лишнему стоит рубли, упущенный постоянный — маржу с чека. Отсюда вывод, обратный интуиции: чем дешевле у вас контакт, тем ниже должен стоять порог. Порог по умолчанию не знает ни вашей маржи, ни вашего CPC, и поэтому почти всегда неверен — вопрос только в какую сторону.
Скажу спорное. Сегмент «постоянные», порог которого вы не выбирали сами, — не аудитория, а административная единица. Строку «постоянных 900» без указанных рядом порога и окна не стоит показывать руководству вообще: она выглядит как измерение, а является настройкой.
Чего порог не чинит
Радар видит присутствие, а не покупку. Постоянный в нашем смысле — постоянно бывающий рядом, и сотрудник соседнего офиса останется идеальным постоянным при любом пороге, ни разу к вам не зайдя. Отсекается это только вторым признаком — заходил внутрь или нет.
Плюс ограничение, которое я называю в каждом материале: до 30% собранных адресов матчится в Яндекс Крипте, портрет постоянных строится по этой трети. А если поток небольшой, правый хвост распределения пуст, отношения запрыгают на единицах наблюдений, и окно придётся удлинять.
Ни один счётчик посетителей на входе в этой задаче не помощник, как бы точно он ни считал вошедших: он считает события, а не людей, и не знает, тот же это человек или новый. Частота появляется только там, где устройство узнаётся между визитами.
Что дальше
Частота — одна ось. Есть вторая, давность. Человек с двенадцатью визитами, последний из которых был три месяца назад, — постоянный или ушедший? По порогу частоты он в сегменте, деньги на него тратятся как на лояльного, а ходит он уже в кофейню у нового офиса. Порог по частоте эту пару не различает в принципе. Как их разводить — разберу в следующем материале.
Посмотреть на своих данных
Демо-кабинет открыт без регистрации: cp.wifiradar.ru/radar, логин и пароль wifiradar_demo. Смотрите на разбивку по числу визитов и переключайте период: видно, как один и тот же район даёт разное число постоянных при разном окне. Рядом — доля заходивших внутрь, второй слой проверки из статьи.
Как порог влияет на выгрузку сегмента в Яндекс Директ и VK Рекламу — на странице про работу с аудиторией, примеры по отраслям — в кейсах. Цены — на странице покупки, померить свою точку дешевле через аренду комплекта.