Перейти к содержанию

Оптимизация времени напоминаний

У всего в жизни свой ритм, и у потребительских привычек тоже. Формирование и поддержание привычек особенно важны для услуг, потребляемых периодически (например, индустрия красоты).

Ниже описана одна из проблем и путь ее решения.

Две ситуации

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

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

Служба доставки воды: Перед нами офис-менеджер. Вчерашняя студентка, чьи разнообразные обязанности пополнились заказом воды для пары офисных кулеров. Вода заканчивается примерно раз в 2 недели и она частенько забывает заказать новые бутыли, пока ей не напомнят на еженедельном совещании утром в понедельник.

Прикинем потери

Для барбершопа. Частота: 3,5 недели, средний чек: 2800р., 20% случаев пропуска даты визита, 200 клиентов:

Время визита 1.png

Будем считать, что в первом приближении это примерно 370 тыс. рублей в год. Что при рентабельности в 50% может быть равнозначно месяцу аренды небольшого помещения.

Типичные напоминания

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

Как бы сделать "чуть-чуть лучше" ?

Нам нужен подход, который:

  1. Учитывает обычный день посещения каждого конкретного клиента
  2. Учитывает частоту посещений конкретного человека, но больший вес придает последним данным (когда привычка была сформирована)
  3. Не будет слишком зависеть от случайных "сбоев" - отпуск, болезнь итд.

Так когда же напомнить:

За N-дней (зависит от горизонта заполнения записи) до последнего привычного дня недели перед прогнозируемой датой.

Время визита 2.png

ОК, сделаем

Лист: Входные значения

Нам нужны уникальные ID и даты посещений. Я обогатил данные почтами и телефонами для большей схожести с реальными.

Время визита 3.png

Лист: Обработка и сортировка

Отсортируем таблицу по ID и датам, найдем среднее время между визитами и самый популярный день

Время визита 4.png

Применим метод экспоненциального сглаживания. Он позволит игнорировать выбросы данных и придать больший вес последним датам визита.

St = α * Yt+(1-α) * St-1

St - сглаженное значение времени ( t ) Yt - значение в момент ( t ) St-1 - сглаженное значение в предыдущей точке α - коэффициент сглаживания от 0 до 1

Время визита 5.png

В моем примере я использую начальное сглаживание равное медиане всех разниц между датами визитами (22 дня), а коэффициент сглаживания равный 0.7, так как работаю с условно случайными данными. Нагладно пример представлен на графике ниже.

Время визита 6.png

Лист: Выходные значение Получим прогнозные даты, скорректированные к привычному дню недели

Время визита 7.png

Лист: Календарь Построим календарь напоминаний простой обратной сортировкой по датам

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

Время визита 8.png

Как использовать

  1. Скопировать таблицу по ссылке ниже к себе (файл - создать копию)
  2. Внести данные на лист Входные значения
  3. Настроить коэффициент сглаживания (используя подсказки)
  4. Настроить шаг дней до напоминания на листе Напомнить сегодня
  5. Рассылать напоминания тем способом, который принят в компании, без спама и навязчивости, только тогда, когда это нужно.

Как улучшить:

Один и тот же клиент может пользоваться разными услугами. К примеру, для салона красоты это может быть стрижка, депиляция, маникюр и тп. Вы можете добавить к ID тег услуги, получиться "ID7492-lack" и "ID7492-dep" , тогда модель данных будет считать услуги для одного клиента независимо друг от друга. Останется только не перегрузить клиента входящими коммуникациями.

Забрать шаблон

Забрать шаблон расчета в google sheets

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