Документация данных Salesfocus

repeat_visit_features

Что означает

Понимает повторные визиты и накопленное намерение.

Признаки повторных визитов доступны только когда настроены privacy-safe хэши посетителя.

Исходные события

  • session_start
  • visitor_id_hash_optional
  • ym_client_id_hash_optional

Алгоритм

  • Триггер: При session_start и после закрытия сессии.
  • Расчет: return_24h_flag, return_7d_flag, visits_30d_count, days_since_prev_visit.
  • Приоритет: P1; рассчитывается сервером: Да, если есть visitor_id_hash/ym_client_id_hash.
  • Не просите SDK отправлять repeat_visit_features напрямую: сервер выводит это событие из принятых source-событий или безопасных импортов.

Текущий статус реализации: описано в P2-контракте; документация, registry и ссылки дашборда готовы до завершения реализации.

Формат хранения

Хранится в sf_server_derived_events с derived_type = "repeat_visit_features", derived_ts, source_event_id, если строка связана с конкретным source-событием, а также batch_id, session_id, mapping_version и payload_json.

Для агрегатов уровня сессии source_event_id может быть пустым; последнее состояние сессии также отражается в sf_session_snapshots, когда это применимо.

Пример payload

{ "derived_type": "repeat_visit_features", "source_event_id": "evt_example_or_empty", "mapping_version": "map_active", "payload": { "return_24h_flag": "example", "return_7d_flag": "example", "visits_30d_count": "example", "days_since_prev_visit": "example" } }

Примеры и допустимые значения из Excel: return_24h_flag true/false; visits_30d_count integer.

Крайние случаи

Если нет visitor id — repeat features = not_available.

Если обязательных checkpoints не хватает, снижайте confidence или помечайте payload как partial. Никогда не синтезируйте положительный intent-сигнал только из-за отсутствия события.

Дашборд

Ожидаемое окно live-debug: Повторные визиты.

Если строка относится к загруженной сессии, она также должна находиться в окне Лента сессии.

Использование в ML

Флаги возврата и частота визитов.

Используйте стабильные codes и buckets вместо сырого текста, сырых URL или строк из DOM. Отсутствующие значения должны быть явными (not_available, unknown, partial), чтобы CatBoost отличал отсутствие сигнала от отрицательного сигнала.

Использование в детекции ботов

Очень частые визиты с одинаковым паттерном могут быть ботом.

Логика детекции ботов должна комбинировать этот признак с независимыми поведенческими сигналами; эта страница не разрешает fingerprinting, cookies, canvas/WebGL/audio probes или сырые значения форм.

QA-проверки checklist

  • Сгенерируйте перечисленные source-события в одной сессии.
  • Запустите server-derived обработку для этой сессии.
  • Проверьте, что sf_server_derived_events содержит строку derived_type = "repeat_visit_features" или что событие явно помечено как еще не реализованное.
  • Откройте окно live-debug дашборда Повторные визиты и проверьте, что строка ссылается обратно на эту страницу.
  • Проверьте, что payload_json содержит только безопасные поля из списка выше и не содержит сырые ПДн, query string, cookies или значения форм.

Связанные страницы

Обновлено