Рубрика развивается при поддержке
Маркетинг
Artem Polyakov
335

Повышаем конверсию и маржу интернет-магазина с помощью умной сортировки товаров

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

В закладки

Представим себе, что пользователь хочет купить туфли: он заходит на Wildberries или Lamoda, открывает соответствующий раздел и видит несколько тысяч товаров. Очевидно, что он не будет просматривать их все.

Хорошо, что у нас есть фильтры, да? Но, даже если пользователь укажет размер и цвет, останется минимум несколько сотен товаров.

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

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

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

Стандартные методы ранжирования

Давайте посмотрим на популярные методы сортировки.

Очевидно, что сортировка по цене или новизне – это плохие решения, поэтому даже не будем на них останавливаться.

Как насчёт ранжирования по числу просмотров или CTR, чтобы показать сначала наиболее привлекательные товары? Плохая идея. Туфли Christian Louboutin весьма привлекательны, но большинство пользователей не смогут себе их позволить. Поэтому, нельзя задавать сортировкой по умолчанию наиболее просматриваемые товары или товары с лучшим CTR. Практика показывает, что это мешает продажам других, менее привлекательных, но более доступных товаров.

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

А если заложить в алгоритм отношение количества продаж ко времени нахождения товара на сайте? Да, такое отношение лежит в основе многих алгоритмов сортировки. И у всех этих алгоритмов есть одна общая проблема – это самоисполняющиеся пророчества. Товары, с небольшим количеством продаж оказываются в конце списка, из-за чего получают мало просмотров и как следствие – мало продаж. Это ввергает их в порочный круг, из которого часто не могут вырваться даже отличные товары, которые потенциально могли бы очень хорошо продаваться, окажись они ближе к началу списка. Одновременно с этим, противоположный сценарий отрабатывает в начале списка: там часто оказываются товары с не самым лучшим потенциалом, но они остаются наверху, поскольку объём продаж, обеспеченный их позицией тянет их к началу списка.

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

Основа умного ранжирования товаров

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

SPV: Sales Per Views.

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

Просмотры: количество просмотров товара. Есть несколько вариантов того, что считать просмотром, но в большинстве случаев будет достаточно, если вы просто будете учитывать просмотры со страницы списка товаров (именно просмотры из списка, а не открытия страницы конкретного товара).

Приведу пример. Допустим, сейчас вы сортируете товары по количеству продаж. У вас в магазине есть Товар А и Товар В. Товар А находится в начале списка, потому что его заказали 20 раз (также у него было 100 просмотров). Товар В находится в конце списка, его заказали 5 раз (и у него было 30 просмотров). Итак, товар А заказывали чаще. Но, по факту товар В продаётся лучше, у него выше SPV, и соответственно он должен ранжироваться выше, чем товар А.

При грубом внедрении этой формулы вы можете столкнуться с неочевидным на первый взгляд проблемами.

Что считать валидным просмотром

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

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

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

Также, этот показатель желательно рассчитывать на уровне пользователя, а не сессии.

Формула умной сортировки

Если вы уже забыли весь курс матана, напоминаю, что здесь написано:

W = сумма всех Z + ( SPV умноженное на произведение всех Y )

Где:

Z: пользовательские параметры.

Y: дополнительные параметры.

SPV: Sales Per Views.

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

Дополнительные параметры

Это могут быть рентабельность, коэффициент повторных покупок, пользовательский рейтинг товара и т.п.

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

Персональные параметры

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

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

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

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

Проблема ранжирования новых товаров

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

Вот, простой, но при этом эффективный способ решения проблемы: присвойте всем новым товарам средний по категории SPV до тех пор, пока они не наберут достаточное для честного расчёта SPV количество просмотров.

Если у вашего магазина высокий трафик, или вы хотите провести валидацию новых товаров быстрее – будет хорошей практикой выводить некоторые из новых товаров наверху списка, отмечая их как новинки. Можно, например, выбирать для каждого пользователя 4‑8 таких товаров случайно.

Machine Learning

Если вы уже учитываете при ранжировании товаров дополнительные и пользовательские параметры — самое время протестировать ML. Вы можете сделать эффективную связку из умной сортировки на основе SPV с алгоритмами ML.

Если вы сейчас думаете, что ML могут себе позволить только крупные компании, то вы ошибаетесь. Мы сейчас в 2020 году и уже существует множество готовых решений, которые не сложно интегрировать даже в небольшие проекты. Многие из них open source.

ML поможет вам решить две основные проблемы:

  • Ранжирование новых продуктов.
  • Автоматический подгон веса параметров в формуле ранжирования. С помощью ML вы можете сделать формулу уникальной для каждого пользователя.
Нужна ли подробная статья с примером реализации ML-сортировки товаров на Python с примерами?
Нужна.
Нужна, но кодинг это уже формат Хабра, а не vc.ru.
Не нужна.
Показать результаты
Переголосовать
Проголосовать

Проведите А/В тестирование

Если вы решили заложить в формулу дополнительные и пользовательские параметры, то скорее всего у вас есть сомнения в том как распределить вес параметров и какие из них реально нужны в формуле.

Лучший способ это выяснить – провести А/В тесты нескольких вариантов алгоритма. Подойдите к вопросу системно, изменение каждого параметра нужно тестировать отдельно. Если вы будете тестировать два варианта формулы, в которых отличается более чем один параметр, вы не сможете понять какое именно изменение приводит к повышению конверсии. После нескольких этапов тестирования вы сможете определить какой вариант приносит вашему интернет-магазину наибольший доход.

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

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

Кстати, если вам понравилась статья, я завёл Telegram канал Ads Notata, где буду выкладывать много интересной информации по маркетинговой аналитике. Лонгриды, конечно и дальше будут выходить на vc.ru.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Artem Polyakov", "author_type": "self", "tags": [], "comments": 0, "likes": 3, "favorites": 41, "is_advertisement": false, "subsite_label": "marketing", "id": 110704, "is_wide": false, "is_ugc": true, "date": "Mon, 16 Mar 2020 09:15:17 +0300", "is_special": false }
Простой коллтрекинг
для малого бизнеса
Новый алгоритм с
настройкой в два клика
Узнать больше
Коллтрекинг
без боли
Простые настройки
Умный алгоритм
Чистая аналитика
Подробнее
Простой коллтрекинг
для малого бизнеса
Знание источников продаж
постичь ты сможешь
познать
Простой коллтрекинг
для малого бизнеса
Знание источников продаж
постичь ты сможешь
постичь
(function(d, w) { var analyticsCategory = "CoMagic branding"; var sendEvent = function sendEvent(label) { var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "Click"; var value = "" .concat(analyticsCategory, " \u2014 ") .concat(label, " \u2014 ") .concat(action); console.log("Analytics: %c".concat(value), "color: #E87E04"); if (window.dataLayer !== undefined && analyticsCategory) { window.dataLayer.push({ event: "data_event", data_description: value }); } }; var rand = function rand(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min + 1)) + min; }; var id = rand(1, 4); var head = document.querySelector(".comagic-branding-head"); head.setAttribute("data-comagic", id); sendEvent(id + " — Header", "Init"); head.addEventListener("click", function() { sendEvent(id + " — Header"); }); var branding = document.querySelector( '.comagic-branding[data-comagic="' + id + '"]' ); branding.style.display = "block"; sendEvent(id + " — Footer", "Init"); branding.addEventListener("click", function() { sendEvent(id + " — Footer"); }); })(document, window);
0
Комментариев нет
Популярные
По порядку

Прямой эфир