По запросу [форма] мы должны угадать, что именно нужно покупателю: выпечка, наращивание ногтей, косплеить медсестру или калибратор кубов бетона. Задача — быстро понять, кто перед нами и что сделает человека счастливым.

Я работаю над качеством поиска в Яндекс.Маркете. И качество поиска прямо связано с ощущением счастья пользователя от шопинга. Счастье нужно измерять. Самый очевидный способ — посмотреть, купил ли что-нибудь пользователь. Но мы не всегда приходим в магазин или на Маркет, чтобы взять что-то конкретное.

Человек может:

  • Формулировать требования к покупке по мере сравнения вариантов.

    Пример с соковыжималкой
    Предположим, он ищет соковыжималку, но ещё не знает, какие они бывают. По мере изучения товаров он примерно начинает понимать, что хочет. На старте у него нет ни фиксированного бюджета, ни требований, только мечта. Дальше нужно сопоставить мечту с конкретной карточкой товара. С точки зрения метрики покупки, пользователь будет довольно долго бесцельно бродить в начале — но мы понимаем, что эта часть была очень важна, там он изучал предложение и понимал, как устроен мир.
  • Приходить с примерным бюджетом и выбирать что-то под него, например, при поиске подарка. В этой ситуации у пользователя даже нет мечты, он ходит по категориям и ищет что-то, что его «зацепит».
  • Более-менее точно понимать, что хочет купить (часто вплоть до модели товара), но искать лучшее предложение.
  • Знать модель товара и проверять, насколько честна цена на неё, насколько хороши отзывы и так далее.

То есть с точки зрения человека покупка — далеко не единственная цель. Маркетплейс используется и для развлечения, и для изучения предложений, и даже для проверки цены, когда стоишь в очереди к кассе в реальном магазине.

Мы работаем над улучшением поиска по товарам. Поэтому нам нужна была метрика, которая показывает удовлетворённость людей тем, что мы показываем на выдаче. Мы искали её в несколько итераций, и сейчас я хочу рассказать о том, что мы уже придумали.

Метрика «я бы это купил»


Здесь всё было достаточно очевидно: робот приходил с запросами, собирал несколько выдач поиска и нёс их в Толоку оценивать релевантность найденного запросу. Напомню, что Толока — это краудсорсинговая платформа, где работники выполняют простые задания, в том числе оценивают релевантность, Мы агрегировали оценки, полученные от толокеров, и примерно знали, насколько качество выдачи соответствует желаемому.

Такая метрика считается не на реальных пользователях, а заранее, на «точно таких же, только других» толокерах. Да, с ней легко экспериментировать, потому что не нужно запускать эксперимент на пользователях. И как раз с ней можно двигаться быстро и проводить очень много экспериментов. Её проблема в том, что она не учитывает всю многогранность пользовательских сценариев и не допускает персонализации.

В Маркете и вообще в покупках нет универсальных суждений, а есть только оценочные, зависящие от конкретного пользователя.

Пример с телевизорами
Когда мы говорим «хороший телевизор», то каждый представляет разные вещи: для кого-то это устройство с последней выставки за пару миллионов рублей, для кого-то — 17-дюймовый ТВ за 7 тысяч рублей, а для кого-то — устройство в машину, потому что этот кто-то водитель. Наша офлайн-метрика из Толоки имела все шансы сдвигать поисковую выдачу Маркета в сторону вкусов и предпочтений аудитории Толоки. И, конечно, по ней нельзя было оценить индивидуальные предпочтения пользователя на основе его предыдущих действий на Маркете.

Метрика «я бы это посмотрел»


Для онлайн-метрики мы начали учитывать непосредственно оформленные заказы, добавления в корзину и клики на тех выдачах, где пользователь открыл хотя бы одну карточку. Гипотеза в том, что если человек что-то искал, а потом не кликал в карточки товаров, то выдача неправильная. Разумеется, всё несколько сложнее, но примерную идею вы представляете.


Широкий запрос [телефон], по которому первым результатом выдаётся очень
необычный/слишком дорогой аппарат. На него будут кликать (интересно узнать, что
такое вообще бывает), но это отвлекает пользователя от основного сценария выбора.


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

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

Подробнее о минусах
  • Обе метрики не обладали нужной чувствительностью к незначительному изменению выдачи. Требовались большие и длинные эксперименты, чтобы понять, как изменения влияют на действия пользователя.
  • Происходили граничные случаи, когда метрика «я бы это посмотрел» не отражала удовлетворённость пользователя своим шопингом. Чаще всего такое случалось либо на сверхдлинных сессиях, либо на тех, где пользователь предпочитал набирать что-то в корзину прямо из выдачи.



    К примеру, на выдаче по семенам это абсолютно нормально. Карточки тут открывать не обязательно.
  • Абсолютно нормально, когда пользователь открывает сразу много сессий. Вовлечение в каждую отдельную из них окажется ниже, то есть предыдущая метрика будет показывать ухудшение качества поиска, но в итоге пользователь может быстро собрать информацию и купить необходимое. Предположим, вы открыли десять вкладок браузера с разными запросами, быстро проанализировали ассортимент, а потом сразу перешли к покупке в первом окне. Пользователи ищут нелинейно, тут никакие традиционные аналогии с походом в реальный магазин не работают.
  • Метрики не совсем корректно оценивали влияние места товара в выдаче. Поскольку в одной из итераций мы считали кликнутые выдачи, а не количество открытых карточек на выдачу, это не показывало привлекательность самой выдачи как таковой.
  • В экспериментах оказалось, что если по одному и тому же запросу подмешивать сопутствующие товары, то итоговый результат по офлайн-метрике будет противоречить тому, что по факту делают живые пользователи. Например, если вы ищете лазерный принтер по конкретной модели, то в идеальном математическом мире нужно показать только принтеры. Мы же можем показать принтеры и сразу посоветовать в выдаче картридж. Последнее лучше с точки зрения продуктового поведения пользователей, но это не совсем корректно учитывалось метриками.
  • Нам часто нужно понимать, что же пользователь хочет, по его действиям. Как я уже говорил, запрос [телевизор] и клики по выдаче могут, по идее, дать понять, какие телевизоры человек представляет перед запросом, и соответствующим образом менять приоритеты в дальнейших выдачах. Кстати, в случае телевизоров самое большое разделение — на smart TV и stupid TV.

То есть обе метрики работали, но мы решили сделать ещё один подход, чтобы лучше предсказывать истинное счастье пользователя и сделать метрику более чувствительной к его действиям.

Метрика «общее счастье пользователя»


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

Итак, хорошая сессия пользователя — это когда он «тусуется» в маркетплейсе с пользой для себя. Если смотреть на его действия, то он что-то ищет, видит карточки товаров, читает их и переформулирует запросы поиска не сразу, а узнав что-то новое. Само по себе изменение запросов поиска и множественные запросы не означают, что что-то идёт не так, просто представления о товаре меняются по мере выбора.

Плохая сессия — когда пользователь не воспользовался выдачей либо сразу же начал её модифицировать, понимая, что что-то пошло не так. Например, фильтрация по цене сверху вниз может говорить, что по запросу вместо искомого товара выпали расходники к нему, а не сам товар, то есть поиск не справился.

Таким образом, нам нужно оценивать качество проведённого на Маркете времени.

Формулу шопоголического счастья распишем как:

$\mbox{Выбор + Покупки ? Время}$


То есть счастье в процессе поиска товара можно оценивать по предложенному ассортименту, совершённым покупкам и затратам времени — которые не всегда минимальны, и это нормально. Грубо говоря, у нас есть два основных сценария:

  • «Наилучший выбор». Рациональный подход: пользователь получил точную выдачу (или несколько последовательных, всё более точных), пролистал карточки, добавил вещь в корзину и купил.
  • «Шопинг». Это скорее развлекательный подход либо сценарий без чётко сформулированной цели в начале. Пользователь смотрит товары, знакомится с ними, изучает отзывы и вообще хорошо проводит время, лишь примерно представляя, что ему нужно. Да, по мере этого процесса он также постепенно переходит к «наилучшему выбору», но в начале сессии (или сессий) ведёт себя совершенно иначе, порой даже контрпродуктивно с точки зрения первого сценария. Именно эти сценарии «блуждания по рынку» часто оцениваются метриками неверно.

В сценарии «наилучшего выбора» основу новой метрики составляет скорость клика по товару, который затем был куплен, — как и в одной из предыдущих метрик. Но при этом также учитывается изначальный выбор товаров, то есть какие карточки конкурировали с искомой. Разница ярко видна на таких вещах, как ноутбук или стиральная машина: ваше счастье, скорее всего, будет достигнуто не от скорости покупки первого подходящего варианта, а от осознания того, что вы не смогли бы найти ничего лучше для себя в принципе. Именно это мы пытаемся измерить новой группой метрик.


Попробуйте угадать с первого раза, чего хотел пользователь — Mac или PC

В сценарии «шопинга» всё меняется. На практике оказывается, что пользователю нужны не постепенно сужающиеся выдачи, а постепенно расширяющиеся, а потом снова сужающиеся. Сейчас поясню на примере, что я имею в виду.

Предположим, пользователю нужно несколько чехлов для iPhone XR. Сначала он выбирает обычный прозрачный силиконовый чехол, потом видит Soft touch и добавляет его тоже, а потом обнаруживает, что у силиконовых прозрачных есть вариант с защитными углами — и снова пополняет корзину. Метафора, которая лично мне нравится, — поход в супермаркет. На входе вы помните про хлеб и колбасу, на выходе у вас целая корзина вещей, но все вам нравятся.

То есть выдачи «шопинга» несут в себе свойства рекомендательного фида, из которого можно совершить несколько покупок.

И для сценария «наилучший выбор», и для сценария «шопинг» мы также используем группу штрафов, которые показывают, что с выдачей что-то пошло не так. В человекочитаемом виде они могут выглядеть так:

  • Если пользователь применил фильтр — значит, мы не угадали, что выдавать.
  • Если пользователь сортирует — значит, мы не совсем верно сформировали порядок в выдаче.
  • Если пользователь несколько раз переформулирует запрос без его сужения — значит, мы не можем понять, чего он хочет (скорее всего, на уровне синонимов). Например, он ищет попсокет для телефона, но не знает, что это называется попсокетом.
  • Если пользователь делает несколько последующих запросов без увеличения метрики удовлетворённости — значит, выдача завела его в тупик.

Гифка с контейнерами
Пример поискового запроса с сужением: запрос [контейнер] → несколько кликов по выдаче, последний из которых на вакуумный контейнер → дозапрос [вакумный контейнер] → покупка:


Разумеется, мы сейчас покрываем далеко не все сценарии покупки. Есть ситуации, когда пользователь с точки зрения метрики не счастлив, но при этом полностью решает свою задачу — например, по какой-то причине хочет только посмотреть выдачу и уйти. Когда-нибудь доберёмся и до таких случаев. Ну а вы теперь представляете, что мы делаем в более частых сценариях.

Новая метрика лучше себя ведёт: меньше противоречит нашим экспериментам (про которые мы точно знаем, улучшают они поиск или ухудшают) и значительно чаще показывает в них значимое изменение, чем все предыдущие. Она чувствительнее к действиям пользователя и больше соответствует реальному улучшению поиска.

Мы немного приблизились к тому, как измерить счастье покупателя по косвенным данным в его действиях. Думаю, настоящий уровень счастья можно было бы измерить по энцефалограмме или уровню гормонов в крови, но в этом году у нас ещё нет технической возможности так сделать. Поэтому мы стараемся построить наиболее близкое приближение, и это прямо влияет на выдачу.

Комментарии (23)


  1. iiwabor
    16.02.2022 12:01
    +12

    Мы проанализировали ваши покупки в магазинах за последний год, ваш любимый товар - ПАКЕТ )))


    1. pukinlou
      16.02.2022 12:55

      * Пакет травы.


  1. cepera_ang
    16.02.2022 12:59
    +16

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



    Ну а о таких мелочах из прошлого как реальная индексация всех магазинов, вместо продавливания своего уродского маркетплейса уже и вспоминать не хочется.


    1. denis-isaev
      16.02.2022 13:38
      +12

      Я последние годы на e-katalog переехал. А если вдруг именно на маркете нужно поискать, то ищу так:


      Потому что самим маркетом пользоваться невозможно:


      1. gekt0r
        16.02.2022 13:54

        Встречался с такой же проблемой при выборе определённой стиральной машины


    1. art-fomin Автор
      16.02.2022 15:17

      Тут стоит пояснить. Маркет действительно раньше был большой товарной энциклопедией, а сейчас развивается как маркетплейс. В топ попадают те товары, которые можно купить. Конкретно в данном примере запрос, наверное, был сделан из Иркутска, где этой видеокарты нет в наличии? Если поискать её в Москве, то карточка на первом месте. 

      Пользователи часто готовы посмотреть аналогичные товары, если искомого нет в наличии. Часто пользователи не совсем точно описывают товар, поэтому при поиске по всем словам из запроса часто не находится нужного товара.

      При этом мы показываем товары не в наличии внизу выдачи, после товаров в наличии, это хорошо видно в другом примере выше, с AV-ресивером Denon-X2400H.


      1. lazyboa
        16.02.2022 15:24

        Но что такое «Нет в наличии» в терминах команды Маркета? Разве Яндекс.Маркет не доставляет в Иркутск?


      1. cepera_ang
        16.02.2022 15:42
        +4

        Раньше маркет действительно был большой и уникальной товарной энциклопедией, а стал одним из множества безликих магазинов. Стало ли у пользователей, которым нужна информация из энциклопедии больше счастья? Ха. Много ли дополнительного счастья приносит десятый безликий магазин с отвратительным сервисом в девяти уже имеющимся? Ха-ха. Вот и поговорили про счастье пользователей.


      1. denis-isaev
        16.02.2022 17:13
        +4

        При этом мы показываем товары не в наличии внизу выдачи, после товаров в наличии, это хорошо видно в другом примере выше, с AV-ресивером Denon-X2400H.

        Вот мне эта логика совсем непонятна. Пользователь ищет конкретный товар. Да, его может не быть в наличии у вас, но показывать выдачу этого товара после сотен других аналогичных, которые есть в наличии — это равно тому же, что не показывать его в выдаче совсем. Почему не вывести карточку конкретного товара на первом месте с информацией о том, что его нет в наличии, а ниже остальные похожие товары? Пользователь дальше сам решит, сразу купить похожий, или сначала почитать в отзывах интерсовавшей модели какой именно похожий там посоветует народ.


        Отдельно стоит отметить, что вы считаете аналогичным. Скрин с видюхами отлично показывает ситуацию: "У нас ща нет 3090 24Gb, может купишь аналогичную 2060 8Gb?", — rly? Вот это вот, вместо того, чтобы показать конкретный интересующий пользователя товар с подписью "нет в наличии"?


        При этом самый шик, когда товара нет с доставкой в МО и поэтому я его не вижу, но в Москве его полно. Камон, мне не составит труда купить его с доствкой в Москву. Но вы мне этот товар даже не покажете!


        1. sshikov
          16.02.2022 18:23
          +3

          >Отдельно стоит отметить, что вы считаете аналогичным.
          Да по опыту — всякую фигню обычно. Это много раз обсуждалось уже, одна из причин — в карточках товаров часто нет нужного нам с вами признака, поэтому аналогичность в любом случае сильно-сильно приблизительная. Применительно к моей любимой теме инструментов, пила по дереву не является аналогом пилы по металлу, а просто пила — не аналог пилы циркулярной погружной (т.е. никогда нельзя считать аналогами все, что лежит в классификации выше уровнем). Ну или как у вас в примере, когда характеристики «аналога» отличаются в три раза — тоже нельзя.


        1. mortadella372
          16.02.2022 18:39
          +2

          Это общий тренд, от Авито до Гугла. Пользователю надо показать хоть что-то, авось он устанет, сдастся и кликнет.


          Чтобы им всем пусто было..


        1. mrsantak
          16.02.2022 18:47
          +2

          Справедливости ради, есть перегиб и в обратную сторону - когда ищешь в гугле какой-то товар и гугл выдает тебе сотни магазинов с этим товаром, вот только у всех этих магазинов этот товар в статусе нет в наличие.

          А потом, ради интереса, пошаришься по такому магазину и понимаешь, что там 99% товаров нет в наличие и никогда не было, а странички товара существуют только чтобы на них попадали из гугла.

          Когда-то маркет как раз помогал бороться с этой проблемой, а сейчас создает прямо противоположную.


    1. adante
      18.02.2022 01:32

      Сто лет как ненавижу амазон за это.

      Вообще непонятно как там что-то искать.

      По прямому запросу с номером модели у тебя всегда 20 страниц результатов от сахарниц до комбайнов.


  1. Jury_78
    16.02.2022 14:07
    +3

    Что считать счастьем покупателя?

    Думаю, что у продавца и покупателя счастье разное.


  1. injecto
    16.02.2022 14:14
    +1

    Что считать счастьем покупателя?

    Для большего счастья можно вернуть возможность сортировки по количеству отзывов.

    Про индексацию всех магазинов уже написали выше.

    Впрочем, маркетплейс -- не агрегатор, конечно.


  1. cepera_ang
    16.02.2022 14:24

    (читать буду внимательнее в следующий раз)


  1. fotobred
    17.02.2022 10:56

    Неужели теперь для счастья достаточно покупки/шопинга?
    или это очередная энтропия смысла?

    "Стало очень много ненастоящих женщин - удовольствия много, а радости нет...."

    Когда-то давно попросил в отзыве на СберОнлайн добавить в истории операций помер карты по которой прошла операция, что бы не кликать лишний раз - Мне ответили, что номер кары можно узнать кликнув....
    А на вопрос - почему в Приложении не показываются списания на обслуживание - "эта информация приходит в СМС.."

    У меня в лидерах рекомендаций на Яндекс.Маркете сейчас зарядные устройства "Вымпел-55" и "Кулон 820" потому что месяц назад после долгих и сложных поисков я купил "Вымпел-57". ЯМ считает что одного мне для "счастья" мало. "На основе моих просмотров" !!

    Может стоит ввести для товаров свойство типа "срок удовлетворения потребности" или "использования продукта" - если я искал АКБ, перестал искать(наверное купил), то следующую батарею мне НЕ нужно рекламировать года 3-4

    А может стоит собирать товары в "коллекции" и предлагать вниманию клиента продукты из одной коллекции, но не "братьев/близнецов", что бы не утомлять занудством?





  1. jackfuste
    17.02.2022 11:01
    +1

    Счастье это не про Яндекс.Маркет.

    Захожу в каталог "Периферийные устройства компьютера - Мыши", а там чего только нет: транзистор, сувенир, термодатчик и даже снасти рыболовные. Наверное это сопутствующие товары такие.

    Счастье не купишь, видимо из-за этого после просмотра нескольких страниц, выбор страниц исчезает, а товары заканчиваются.

    Если сомневаетесь, что все достижения капитализма заканчиваются на 5-й странице, то добро пожаловать в адресную строку менять страницы вручную, &page=5 на &page=6 и т.д.


  1. rmrfchik
    17.02.2022 11:28
    +1

    Почти перестал пользоваться маркетом, перешёл в e-katalog.

    Раньше я заходил на маркет, чтобы найти и подобрать товар, а уже ПОТОМ купить.

    Сейчас маркет предлагает мне купить что-то у них, а поиск и подбор у них теперь вторичная, поддерживающая функция, которая стремительно деградирует. Ну и основные игроки оттуда ушли, так что и низкую цену/удобную доставку у них всё равно не найти.

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


  1. Ukaru
    17.02.2022 11:52

    Около строки поиска надо галочку "хочу просто поиск, без выпендрёжа"


  1. IGO2022
    17.02.2022 13:43
    +2

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


  1. slavius
    17.02.2022 14:18
    +1

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

    Не для большинства, которые не хотят правильно формулировать запрос и рады, когда за них додумывают. А для тех 20%, для которых эта статья и написана?:)


  1. xaosxaos2
    17.02.2022 15:47
    -1

    Всё не так, счастьем для покупателя надо считать например то, что за все эти годы я НИЧЕГО не купил у них. Значит всё что мне нужно было я нашёл и купил почему-то минуя их. И это СЧАСТЬЕ!