Какие модели строить для сбора ста человек на оффлайн мероприятие для владельцев маленьких собак
Что проверяют
Это кейс на продуктовое мышление. Интервьюер смотрит, начнёте ли вы с цели и воронки или сразу назовёте логистическую регрессию. Сильный ответ может прийти к выводу, что сложная модель тут не нужна. Следом спрашивают, сколько приглашений отправить и как проверить, что модель помогла.
Как отвечать
Сначала уточните вводные: какие данные есть (покупки в зоомагазине, приложение для владельцев, анкета), где площадка, сколько мест, есть ли согласие людей на рекламные рассылки. Затем разложите цель на воронку: охват, открытие, регистрация, фактический приход. Нужно не 100 регистраций, а 100 пришедших.
Модели по этапам:
- кто владелец маленькой собаки: если прямого признака нет, классификатор по косвенным (корм для мелких пород, размер шлейки) или простое правило. Проверить его можно на тех, кто указал породу сам;
- вероятность прийти: бустинг или логистическая регрессия на признаках вроде расстояния до площадки, прошлых посещений, активности, дня недели. Метка берётся с прошлых мероприятий;
- uplift: если бюджет на приглашения ограничен, важно найти тех, кто придёт именно из-за приглашения, а не придёт сам. Проще всего начать с T-learner из двух моделей.
Главное свойство модели здесь калибровка. Сумма калиброванных вероятностей по списку приглашённых даёт ожидаемое число гостей, отсюда размер рассылки. Проверяйте калибровочной кривой, а для отбора смотрите precision@k.
Без истории мероприятий честнее начать с правил и небольшой пилотной рассылки: она даст реальную конверсию и данные для модели на следующий раз.
Где спотыкаются
Не учитывают неявку. «Зарегистрировался» не значит «пришёл», и без поправки на эту долю в зале окажется заметно меньше ста человек.
Меряют accuracy. Пришедших очень мало по сравнению с базой, и модель «никто не придёт» выглядит отлично.
Строят сложный пайплайн под задачу, которую решает хорошая рассылка по сегменту. Спросите себя вслух, окупит ли модель время на её разработку.