Качество релевантности
Как читать аналитику как сигнал для улучшения relevance — и workflow, превращающий low-CTR-запросы в правки synonym / curation / ranking.
Аналитика ценна, только если меняет то, что вы катите. Эта страница соединяет аналитические поверхности с воркфлоу Relevance tuning: что смотреть, что менять, как измерить, что это сработало.
Петля качества
аналитика (low CTR, zero-result, reformulation)
│
▼
диагностика (search preview, curation панель)
│
▼
тюнинг (synonym, queryBy weight, curation, content fix)
│
▼
повторное измерение (тот же запрос, следующий период)Это медленная петля — минимум один период (24 ч или 7 дней) на цикл: нужен объём на конкретный запрос, чтобы прочесть сигнал. Не торопите.
Как «хороший relevance» выглядит в данных
Три числа, читать вместе:
| Метрика | Цель (storefront) | Цель (knowledge base) |
|---|---|---|
| Средний CTR | 25–40 % | 35–60 % |
| Zero-result rate | < 5 % | < 10 % |
| p95 search latency | < 200 мс | < 200 мс |
Это ориентиры, не SLO — форма каталога и UX виджета их двигают. Тренд важнее абсолюта: падение CTR на 5 пунктов после деплоя хуже устойчивого 18 % CTR за два квартала.
Чтение low-CTR-запросов
Low-CTR — одно из трёх:
- Не те результаты. Списка с нужным нет вообще.
- Нужный есть, но порядок не тот. Нужное на странице 3.
- Правильный список, не та UX. Результаты правильные, но кликнуть некому — image отсутствует, заголовок обрезан, цена скрыта.
Диагностика — Search Preview с теми же queryBy, filterBy, sortBy. Дальше:
- Нет нужного → случай 1. Synonym / queryBy weight.
- На странице 3+ → случай 2. Pin via curation.
- На странице 1 → случай 3. UX, не поиск. Передайте фронту.
Synonyms vs curations vs queryBy weights
Три инструмента, три разные работы:
| Инструмент | Лучше всего для | Осторожно |
|---|---|---|
| Synonyms | Vocabulary mismatch («airpods» ↔ «wireless earbuds», региональные термины). | Применяются ко всему индексу — влияют на любой запрос с корнем. Будьте специфичны. |
| queryBy weights | Настроить, какие поля рулят relevance для всех запросов поверхности («title:10, brand:5»). | Веса полей — тупой инструмент: не различают intent по запросу. Тюньте скупо. |
| Curations | «На этот запрос — всегда пинни эти ID». Брендовые запросы, merchandising, сезонные промо. | Curations — exact-match по строке запроса. Не лечат связанные запросы. |
Частая ошибка — взять curation там, где synonym решил бы кластер похожих. Читайте reformulations в Queries, чтобы видеть, перед вами один запрос или двадцать похожих.
Пример
В topQueries:
| Query | Searches | CTR | Zero |
|---|---|---|---|
trainers | 412 | 3 % | no |
running trainers | 88 | 6 % | no |
nike trainers | 65 | 8 % | no |
Все low-CTR, но не нулевые. Прогон trainers в preview: в выдаче в основном аксессуары, не обувь. Действия:
- Synonym
trainers ↔ sneakers, running shoes. Vocabulary fix. - Поднять вес
categoriesвqueryBy, чтобы документ с категорией shoes обгонял uncategorized accessory. - Через неделю — пересмотреть CTR этих трёх в следующем периоде.
Если CTR trainers ушёл в ~25 % — synonym закрыл кластер. Если trainers улучшился, а nike trainers остался — добавляйте вес brand в queryBy.
Когда relevance-тюнинг не поможет
Иногда сигнал выглядит relevance-проблемой, но это не она:
- Устаревший каталог. Нужный продукт сняли неделю назад, но он ещё в индексе — нужен re-ingest, не synonym.
- Цена / наличие. Out-of-stock в топе убьёт CTR любого запроса. Фильтр / boost
availabilityв storefront path. - Без картинок. Если фронт требует image, а у 60 % каталога его нет — CTR будет провальным на всём.
Кросс-проверьте Activity — недавние reindex / смена схемы / упавшие sync-job-ы часто объясняют падение.
Тестирование через телеметрию
На high-stakes-изменениях (synonym, который влияет на 30 % запросов; новый дефолт queryBy) — гейт rollout-а:
- Применить изменение в staging org / preview index.
- Replay-нуть продакшен-поток запросов в staging (export → скрипт).
- Сравнить CTR per bucket.
- Раскатать, если staging выигрывает.
Replay путь — analyticsEvents export + preview API в Search Workspace. Это ручная работа; managed A/B — Operations / Performance.
Агрегация по нескольким индексам
Если индексов несколько (storefront + help-center + blog) — смотрите relevance per index, не org-wide. У разных типов контента разный здоровый CTR. Смешивание прячет проблемы.
Группируйте по metadata.indexSlug; index-фильтр в дашборде делает то же.